diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2005-02-06 00:18:19 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2005-02-06 00:18:19 +0000 |
| commit | 2816583b839c4006a94af61ac41c54de4d7caa2a (patch) | |
| tree | 01745fc6e3873965e12e9c51adaee27578e8b886 | |
| parent | 1f2456132e1c3a75473dfea30d26c6cff8d8257c (diff) | |
Add new file for CMake.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4027 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CMake/FLTKUse.cmake | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/CMake/FLTKUse.cmake b/CMake/FLTKUse.cmake new file mode 100644 index 000000000..3512b5ef9 --- /dev/null +++ b/CMake/FLTKUse.cmake @@ -0,0 +1,68 @@ +IF(NOT FLTK11_FOUND) + MESSAGE(FATAL_ERROR "Something went wrong. You are including FLTKUse.cmake but FLTK was not found") +ENDIF(NOT FLTK11_FOUND) + +# ------------------------------------------------------------- +# This macro automates wrapping of Fluid files +# Specify the output variable name and the list of sources +# The output variable can be directly added to the target. +# +# For example: +# FLTK_WRAP_FLUID(CubeView_SRCS CubeViewUI.fl) +# ADD_EXECUTABLE(CubeView CubeMain.cxx CubeView.cxx CubeView.h ${CubeView_SRCS}) +# ------------------------------------------------------------- +MACRO(FLTK_WRAP_FLUID VARIABLE) + FOREACH(src ${ARGN}) + IF("${src}" MATCHES ".fl$") + GET_FILENAME_COMPONENT(fname ${src} NAME_WE) + GET_FILENAME_COMPONENT(fpath ${src} PATH) + GET_SOURCE_FILE_PROPERTY(gen ${src} GENERATED) + IF(gen) + SET(fluid_name "${src}") + ELSE(gen) + SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + SET(fluid_name "${CMAKE_CURRENT_BINARY_DIR}/${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + SET(fluid_name "${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + MESSAGE(SEND_ERROR "Cannot find Fluid source file: ${fpath}/${fname}.fl") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(gen) + SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx") + SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.h") + SET(${VARIABLE} "${${VARIABLE}};${cxx_name}") + ADD_CUSTOM_COMMAND( + OUTPUT ${cxx_name} + DEPENDS "${fluid_name}" "${FLUID_COMMAND}" + COMMAND ${FLUID_COMMAND} + ARGS -c ${fluid_name}) + ADD_CUSTOM_COMMAND( + OUTPUT ${h_name} + DEPENDS "${fluid_name}" "${FLUID_COMMAND}" + COMMAND ${FLUID_COMMAND} + ARGS -c ${fluid_name}) + ENDIF("${src}" MATCHES ".fl$") + ENDFOREACH(src) +ENDMACRO(FLTK_WRAP_FLUID VARIABLE) + + +# Make FLTK easier to use +INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS}) +LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS}) + +# Load the compiler settings used for FLTK. +IF(FLTK_BUILD_SETTINGS_FILE) + INCLUDE(CMakeImportBuildSettings) + CMAKE_IMPORT_BUILD_SETTINGS(${FLTK_BUILD_SETTINGS_FILE}) +ENDIF(FLTK_BUILD_SETTINGS_FILE) + +# Add compiler flags needed to use FLTK. +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLTK_REQUIRED_C_FLAGS}") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLTK_REQUIRED_CXX_FLAGS}") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLTK_REQUIRED_EXE_LINKER_FLAGS}") +SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLTK_REQUIRED_SHARED_LINKER_FLAGS}") +SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLTK_REQUIRED_MODULE_LINKER_FLAGS}") + |
