diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2020-06-13 15:19:27 +0200 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2020-07-15 00:34:53 +0200 |
| commit | 720b84ef9d086245f5119d143202a2661a78ca53 (patch) | |
| tree | 26bcd11ffa797c3c01917507e9204fbc9f9b45aa /CMake/install.cmake | |
| parent | 54425030774eb04b29c749ffa85d224c8bbfcc34 (diff) | |
CMake: refactor and reformat CMake files
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015)
- indent all CMake files according to the CMP (2 col.)
- refactor FLTK version number definitions and usage
- unify CMake and autoconf/configure variable names:
- FL_VERSION -> FLTK_VERSION
- FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR
- etc. for _MINOR_ and _PATCH_, respectively
- note: this does not affect FL_VERSION etc. in source code
- generate "export headers" for all libraries (experimental: OFF)
- port some forgotten goodies from branch-1.3 to master
- merge and improve macro 'create_example' (WIP)
- remove "temporary" options and code for older CMake versions
- include and use 'GenerateExportHeader' (experimental, WIP: OFF)
- note: created header files are not yet used
- build only *one* DLL with Visual Studio (tested, works)
- similar to the bundled IDE projects in 1.3.x
- add some dynamically linked test/demo programs ('*-shared')
if shared libraries are built (WIP)
- split 'macros.cmake': use one file per macro
Diffstat (limited to 'CMake/install.cmake')
| -rw-r--r-- | CMake/install.cmake | 121 |
1 files changed, 66 insertions, 55 deletions
diff --git a/CMake/install.cmake b/CMake/install.cmake index 0ab8e6073..c01f19d4d 100644 --- a/CMake/install.cmake +++ b/CMake/install.cmake @@ -2,7 +2,7 @@ # Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) # Written by Michael Surette # -# Copyright 1998-2018 by Bill Spitzak and others. +# Copyright 1998-2020 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 @@ -25,92 +25,103 @@ configure_file( "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" @ONLY ) -add_custom_target(uninstall +add_custom_target (uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" ) -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/FL - DESTINATION ${FLTK_INCLUDEDIR} USE_SOURCE_PERMISSIONS - PATTERN ".svn" EXCLUDE +install (DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/FL + DESTINATION ${FLTK_INCLUDEDIR} USE_SOURCE_PERMISSIONS ) -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/FL - DESTINATION ${FLTK_INCLUDEDIR} USE_SOURCE_PERMISSIONS +install (DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/FL + DESTINATION ${FLTK_INCLUDEDIR} USE_SOURCE_PERMISSIONS ) -if(OPTION_CREATE_LINKS) - install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/install-symlinks.cmake) -endif(OPTION_CREATE_LINKS) +if (OPTION_CREATE_LINKS) + install (SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/install-symlinks.cmake) +endif (OPTION_CREATE_LINKS) # generate FLTKConfig.cmake for installed directory use -set(INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include) +set (INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include) -set(CONFIG_PATH ${CMAKE_INSTALL_PREFIX}/${FLTK_CONFIG_PATH}) +set (CONFIG_PATH ${CMAKE_INSTALL_PREFIX}/${FLTK_CONFIG_PATH}) -install(EXPORT FLTK-Targets - DESTINATION ${FLTK_CONFIG_PATH} - FILE FLTK-Targets.cmake +install (EXPORT FLTK-Targets + DESTINATION ${FLTK_CONFIG_PATH} + FILE FLTK-Targets.cmake ) configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/CMake/FLTKConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/etc/FLTKConfig.cmake - @ONLY + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/FLTKConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/etc/FLTKConfig.cmake + @ONLY +) + +install (FILES + ${CMAKE_CURRENT_BINARY_DIR}/etc/FLTKConfig.cmake + DESTINATION ${FLTK_CONFIG_PATH} ) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/etc/FLTKConfig.cmake - DESTINATION ${FLTK_CONFIG_PATH} +install (FILES + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/FLTK-Functions.cmake + DESTINATION ${FLTK_CONFIG_PATH} ) configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/CMake/UseFLTK.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/etc/UseFLTK.cmake - @ONLY + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/UseFLTK.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/etc/UseFLTK.cmake + @ONLY ) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/etc/UseFLTK.cmake - DESTINATION ${FLTK_CONFIG_PATH} +# Deprecated: install UseFLTK.cmake with deprecation warnings only +install (FILES + ${CMAKE_CURRENT_BINARY_DIR}/etc/UseFLTK.cmake + DESTINATION ${FLTK_CONFIG_PATH} ) # generate fltk-config -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix "\${prefix}") -set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -set(BINARY_DIR) -set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") -set(srcdir ".") +set (prefix ${CMAKE_INSTALL_PREFIX}) +set (exec_prefix "\${prefix}") +set (includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +set (BINARY_DIR) +set (libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") +set (srcdir ".") -set(LIBNAME "${libdir}/libfltk.a") +set (LIBNAME "${libdir}/libfltk.a") configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/fltk-config.in" - "${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-config" - @ONLY + "${CMAKE_CURRENT_SOURCE_DIR}/fltk-config.in" + "${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-config" + @ONLY ) -if(UNIX) - execute_process(COMMAND chmod 755 fltk-config - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin" - ) -endif(UNIX) - -install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-config - DESTINATION ${FLTK_BINDIR} + +if (UNIX) + execute_process (COMMAND chmod 755 fltk-config + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin" + ) +endif (UNIX) + +install (PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-config + DESTINATION ${FLTK_BINDIR} ) -if(UNIX OR MSYS OR (MINGW AND CMAKE_CROSSCOMPILING)) - macro(INSTALL_MAN FILE LEVEL) - install(FILES +if (UNIX OR MSYS OR (MINGW AND CMAKE_CROSSCOMPILING)) + macro(INSTALL_MAN FILE LEVEL) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/documentation/src/${FILE}.man DESTINATION ${FLTK_MANDIR}/man${LEVEL} RENAME ${FILE}.${LEVEL} - ) - endmacro(INSTALL_MAN FILE LEVEL) + ) + endmacro (INSTALL_MAN FILE LEVEL) - INSTALL_MAN(fluid 1) - INSTALL_MAN(fltk-config 1) - INSTALL_MAN(fltk 3) - INSTALL_MAN(blocks 6) - INSTALL_MAN(checkers 6) - INSTALL_MAN(sudoku 6) + INSTALL_MAN (fluid 1) + INSTALL_MAN (fltk-config 1) + INSTALL_MAN (fltk 3) + INSTALL_MAN (blocks 6) + INSTALL_MAN (checkers 6) + INSTALL_MAN (sudoku 6) -endif(UNIX OR MSYS OR (MINGW AND CMAKE_CROSSCOMPILING)) +endif (UNIX OR MSYS OR (MINGW AND CMAKE_CROSSCOMPILING)) |
