diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e9234dc82ce89d73f08477a6191e8d4b3e4ab9e..737fa4cbd2c84e7148462a9ec782168470b27cb7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,28 +302,32 @@ if(ENABLE_PARSER) endif(ENABLE_PARSER) if(ENABLE_FLTK) - # try first to use fltk-config (FindFLTK is buggy on Unix, where - # e.g. xft and xinerama options are not dealt with) + # first, try to use fltk-config for fltk >= 1.3 (FindFLTK is buggy + # on Unix, where e.g. xft and xinerama options are not dealt with) find_program(FLTK_CONFIG_SCRIPT fltk-config) if(FLTK_CONFIG_SCRIPT) - add_subdirectory(Fltk) - set_config_option(HAVE_FLTK "Fltk") execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --api-version OUTPUT_VARIABLE FLTK_VERSION) string(STRIP ${FLTK_VERSION} FLTK_VERSION) - message(STATUS "Found fltk-config script for FLTK " ${FLTK_VERSION}) - execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --use-gl --use-images --includedir - OUTPUT_VARIABLE FLTK_INCLUDE_DIR) - string(STRIP ${FLTK_INCLUDE_DIR} FLTK_INCLUDE_DIR) - list(APPEND EXTERNAL_INCLUDES ${FLTK_INCLUDE_DIR} ${FLTK_INCLUDE_DIR}/FL/images - ${FLTK_INCLUDE_DIR}/jpeg ${FLTK_INCLUDE_DIR}/zlib ${FLTK_INCLUDE_DIR}/png) - execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --use-gl --use-images --ldflags - OUTPUT_VARIABLE FLTK_LIBRARIES) - string(STRIP ${FLTK_LIBRARIES} FLTK_LIBRARIES) - string(REGEX MATCH "fltk[_ ]jpeg" FLTK_JPEG ${FLTK_LIBRARIES}) - string(REGEX MATCH "fltk[_ ]z" FLTK_Z ${FLTK_LIBRARIES}) - string(REGEX MATCH "fltk[_ ]png" FLTK_PNG ${FLTK_LIBRARIES}) - else(FLTK_CONFIG_SCRIPT) + if(FLTK_VERSION GREATER 1.1) + add_subdirectory(Fltk) + set_config_option(HAVE_FLTK "Fltk") + message(STATUS "Using fltk-config script for FLTK " ${FLTK_VERSION}) + execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --use-gl --use-images --includedir + OUTPUT_VARIABLE FLTK_INCLUDE_DIR) + string(STRIP ${FLTK_INCLUDE_DIR} FLTK_INCLUDE_DIR) + list(APPEND EXTERNAL_INCLUDES ${FLTK_INCLUDE_DIR} ${FLTK_INCLUDE_DIR}/FL/images + ${FLTK_INCLUDE_DIR}/jpeg ${FLTK_INCLUDE_DIR}/zlib ${FLTK_INCLUDE_DIR}/png) + execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --use-gl --use-images --ldflags + OUTPUT_VARIABLE FLTK_LIBRARIES) + string(STRIP ${FLTK_LIBRARIES} FLTK_LIBRARIES) + string(REGEX MATCH "fltk[_ ]jpeg" FLTK_JPEG ${FLTK_LIBRARIES}) + string(REGEX MATCH "fltk[_ ]z" FLTK_Z ${FLTK_LIBRARIES}) + string(REGEX MATCH "fltk[_ ]png" FLTK_PNG ${FLTK_LIBRARIES}) + endif(FLTK_VERSION GREATER 1.1) + endif(FLTK_CONFIG_SCRIPT) + # then try the built-in FindFLTK module + if(NOT HAVE_FLTK) set(FLTK_SKIP_FORMS TRUE) set(FLTK_SKIP_FLUID TRUE) find_package(FLTK) @@ -365,7 +369,7 @@ if(ENABLE_FLTK) endforeach(DIR) endif(FLTK_PNG) endif(FLTK_FOUND) - endif(FLTK_CONFIG_SCRIPT) + endif(NOT HAVE_FLTK) if(ENABLE_NATIVE_FILE_CHOOSER) if(NOT FLTK_VERSION OR FLTK_VERSION EQUAL 1.1) add_subdirectory(contrib/NativeFileChooser)