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/FLTK-Functions.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/FLTK-Functions.cmake')
| -rw-r--r-- | CMake/FLTK-Functions.cmake | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/CMake/FLTK-Functions.cmake b/CMake/FLTK-Functions.cmake new file mode 100644 index 000000000..cf7b0ae1a --- /dev/null +++ b/CMake/FLTK-Functions.cmake @@ -0,0 +1,55 @@ +# +# FLTK-Functions.cmake +# Written by Michael Surette +# +# 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 +# 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 +# + +####################################################################### +# functions used by the build system and exported for the end-user +####################################################################### + +# USAGE: FLTK_RUN_FLUID TARGET_NAME "FLUID_SOURCE [.. FLUID_SOURCE]" + +function (FLTK_RUN_FLUID TARGET SOURCES) + set (CXX_FILES) + foreach (src ${SOURCES}) + if ("${src}" MATCHES "\\.fl$") + string(REGEX REPLACE "(.*).fl" \\1 basename ${src}) + add_custom_command( + OUTPUT "${basename}.cxx" "${basename}.h" + COMMAND fluid -c ${CMAKE_CURRENT_SOURCE_DIR}/${src} + DEPENDS ${src} + MAIN_DEPENDENCY ${src} + ) + list (APPEND CXX_FILES "${basename}.cxx") + endif ("${src}" MATCHES "\\.fl$") + set (${TARGET} ${CXX_FILES} PARENT_SCOPE) + endforeach () +endfunction (FLTK_RUN_FLUID TARGET SOURCES) + +####################################################################### + +# sets the bundle icon for OSX bundles + +function (FLTK_SET_BUNDLE_ICON TARGET ICON_PATH) + get_filename_component (ICON_NAME "${ICON_PATH}" NAME) + set_target_properties ("${TARGET}" PROPERTIES + MACOSX_BUNDLE_ICON_FILE "${ICON_NAME}" + RESOURCE "${ICON_PATH}" + ) +endfunction (FLTK_SET_BUNDLE_ICON TARGET ICON_PATH) + +# +# End of file +# |
