diff options
| author | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-05 15:21:34 +0500 |
|---|---|---|
| committer | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-05 15:21:34 +0500 |
| commit | db214d1145e46d527a46d1fc2519548d2c4d23f1 (patch) | |
| tree | cf0fd9922e4d54f6beb63888f9b28c8e2a787bdf /CMake/setup.cmake | |
| parent | 75fc94d6c71fe686f6dde5b41ad91cba2f6bdd6f (diff) | |
wip: fork
Diffstat (limited to 'CMake/setup.cmake')
| -rw-r--r-- | CMake/setup.cmake | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/CMake/setup.cmake b/CMake/setup.cmake deleted file mode 100644 index 266e1299a..000000000 --- a/CMake/setup.cmake +++ /dev/null @@ -1,209 +0,0 @@ -# -# CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) -# Originally written by Michael Surette -# -# Copyright 1998-2025 by Bill Spitzak and others. -# -# This library is free software. Distribution and use rights are outlined in -# the file "COPYING" which should have been included with this file. If this -# file is missing or damaged, see the license at: -# -# https://www.fltk.org/COPYING.php -# -# Please see the following page on how to report bugs and issues: -# -# https://www.fltk.org/bugs.php -# - -####################################################################### -# basic setup -####################################################################### - -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin) -set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(ARCHIVE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib) - -# Search for modules in the FLTK source dir first -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake") - -# Setup install locations (requires CMake 2.8.4) - -include(GNUInstallDirs) - -set(FLTK_BINDIR ${CMAKE_INSTALL_BINDIR} CACHE PATH - "Binary install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") -set(FLTK_LIBDIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH - "Library install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") -set(FLTK_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH - "Public header install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") -set(FLTK_DATADIR ${CMAKE_INSTALL_DATADIR} CACHE PATH - "Non-arch data install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") -set(FLTK_MANDIR ${CMAKE_INSTALL_MANDIR} CACHE PATH - "Manual install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") -set(FLTK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc CACHE PATH - "Non-arch doc install path relative to CMAKE_INSTALL_PREFIX unless set to an absolute path.") - - -####################################################################### -# Initialize variables needed to collect include directories etc.. -# Some of these variables are used to *append* other values later -####################################################################### - -set(FLTK_BUILD_INCLUDE_DIRECTORIES "") -set(FLTK_IMAGE_INCLUDE_DIRECTORIES "") -set(FLTK_IMAGE_LIBRARIES "") -set(FLTK_IMAGE_LIBRARIES_SHARED "") - -set(FLTK_CFLAGS "") -set(FLTK_LIBRARIES "") -set(FLTK_LIBRARIES_SHARED "") - -# Remember root of FLTK source directory in case we're later in a subdirectory. -# Used for instance to find the source directory for doxygen docs - -set(FLTK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - -if(FLTK_SOURCE_DIR STREQUAL ${CMAKE_SOURCE_DIR}) - set(FLTK_IS_TOPLEVEL TRUE) -else() - set(FLTK_IS_TOPLEVEL FALSE) -endif() - -# Note: FLTK_INCLUDE_DIRS is used to export the required include directories -# in FLTKConfig.cmake etc. -# ### FIXME ### check if we really need this ... - -set(FLTK_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) - -# FLTK_BUILD_INCLUDE_DIRECTORIES is used to build the main FLTK lib - -set(FLTK_BUILD_INCLUDE_DIRECTORIES) - -# Some of these variables are used to *append* other values later - -set(FLTK_LDLIBS "") -set(FLTK_LIBRARIES "") -set(IMAGELIBS "") -set(LDFLAGS "") -set(LINK_LIBS "") -set(STATICIMAGELIBS "") - -####################################################################### -# platform dependent information -####################################################################### - -# set where config files go -if(WIN32 AND NOT CYGWIN) - set(FLTK_CONFIG_PATH CMake) -elseif(APPLE AND NOT FLTK_BACKEND_X11) - set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) -else() - set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk) -endif(WIN32 AND NOT CYGWIN) - -include(TestBigEndian) -TEST_BIG_ENDIAN(WORDS_BIGENDIAN) - -if(CMAKE_GENERATOR MATCHES "Xcode") - # Tell Xcode to regenerate scheme information automatically whenever the - # CMake configuration changes without asking the user - set(CMAKE_XCODE_GENERATE_SCHEME 1) -endif() - -if(APPLE) - # Check if the __MAC_OS_X_VERSION_MAX_ALLOWED compile time macro is at least - # the version encoded in SDK_VERSION and return TRUE or FALSE in RESULT. - # Note 1: try_compile() always creates an *internal* CMake cache variable for - # the result which we set to 'FLTK_CHECK_OSX_MAX_ALLOWED_${SDK_VERSION}'. - # Note 2: 'FLTK_' to avoid polluting the cache if FLTK is built as a subproject. - # Note 3: We don't care about the cache, i.e. we run try_compile() unconditionally - # so users can switch SDK's, particularly if they *upgrade* Xcode. - - function(CHECK_OSX_MAX_ALLOWED SDK_VERSION RESULT) - set(_result FLTK_CHECK_OSX_MAX_ALLOWED_${SDK_VERSION}) - try_compile(${_result} - ${CMAKE_CURRENT_BINARY_DIR}/CHECK_OSX_MAX_ALLOWED_${SDK_VERSION} - SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/CMake/macOSMaxAllowed.c - COMPILE_DEFINITIONS -DSDK_VERSION_CHECK=${SDK_VERSION} - ) - set(${RESULT} ${${_result}} PARENT_SCOPE) - endfunction() - - # APPLE macOS setup - set(HAVE_STRCASECMP 1) - set(HAVE_DIRENT_H 1) - set(HAVE_SNPRINTF 1) - set(HAVE_VSNPRINTF 1) - set(HAVE_SCANDIR 1) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") - if(FLTK_BACKEND_X11) - if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0)) # a.k.a. macOS version ≥ 10.13 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LIBCPP_HAS_THREAD_API_PTHREAD") - endif(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0)) - else() - set(FLTK_COCOA_FRAMEWORKS "-framework Cocoa") - if (NOT (CMAKE_OSX_ARCHITECTURES STREQUAL "ppc" OR CMAKE_OSX_ARCHITECTURES STREQUAL "i386")) - CHECK_OSX_MAX_ALLOWED(150000 SDK_15_AVAILABLE) # at least SDK 15.0.0 ? - if (SDK_15_AVAILABLE) - list(APPEND FLTK_COCOA_FRAMEWORKS "-weak_framework ScreenCaptureKit") # 15.0 - list(APPEND FLTK_COCOA_FRAMEWORKS "-weak_framework UniformTypeIdentifiers") # 11.0 - else(SDK_15_AVAILABLE) - CHECK_OSX_MAX_ALLOWED(110000 SDK_11_AVAILABLE) # at least SDK 11.0.0 ? - if (SDK_11_AVAILABLE) - list(APPEND FLTK_COCOA_FRAMEWORKS "-weak_framework UniformTypeIdentifiers") - endif(SDK_11_AVAILABLE) - endif(SDK_15_AVAILABLE) - endif() - endif(FLTK_BACKEND_X11) -endif(APPLE) - -if(WIN32) - # we do no longer define WIN32 or _WIN32 (since FLTK 1.4.0) - # ... but if we did, we'd define _WIN32 (since FLTK 1.4.0) - # add_definitions (-D_WIN32) - if(MSVC) - add_definitions (-DWIN32_LEAN_AND_MEAN) - add_definitions (-D_CRT_SECURE_NO_WARNINGS) - if(NOT MSVC_VERSION VERSION_LESS 1900) # Visual Studio 2015 - add_compile_options (/utf-8) # equivalent to `/source-charset:utf-8 /execution-charset:utf-8` - endif() - set(BORDER_WIDTH 2) - endif(MSVC) - - # Don't use the following code, it breaks building with MSYS2/UCRT64 - # See GitHub PR #1167. Solution is to remove the entire block! - - ### if(MINGW AND EXISTS /mingw) - ### list(APPEND CMAKE_PREFIX_PATH /mingw) - ### endif(MINGW AND EXISTS /mingw) - -endif(WIN32) - -####################################################################### -# size of ints -include(CheckTypeSize) - -CHECK_TYPE_SIZE(short SIZEOF_SHORT) -CHECK_TYPE_SIZE(int SIZEOF_INT) -CHECK_TYPE_SIZE(long SIZEOF_LONG) -CHECK_TYPE_SIZE("long long" HAVE_LONG_LONG) - -if(${SIZEOF_SHORT} MATCHES "^2$") - set(U16 "unsigned short") -endif(${SIZEOF_SHORT} MATCHES "^2$") - -if(${SIZEOF_INT} MATCHES "^4$") - set(U32 "unsigned") -else() - if(${SIZEOF_LONG} MATCHES "^4$") - set(U32 "unsigned long") - endif(${SIZEOF_LONG} MATCHES "^4$") -endif(${SIZEOF_INT} MATCHES "^4$") - -if(${SIZEOF_INT} MATCHES "^8$") - set(U64 "unsigned") -else() - if(${SIZEOF_LONG} MATCHES "^8$") - set(U64 "unsigned long") - endif(${SIZEOF_LONG} MATCHES "^8$") -endif(${SIZEOF_INT} MATCHES "^8$") |
