mirror of https://github.com/fltk/fltk
CMake: improve FLTKConfig.cmake[.in] (#898)
This update makes sure to find and use a `fluid` executable on the host (build system) and does no longer add the `fluid` target when cross-compiling. This makes PR #898 obsolete and fixes the reported issue.
This commit is contained in:
parent
3dfa0c4b05
commit
63d7c71e1a
|
@ -2,15 +2,15 @@
|
|||
# FLTKConfig.cmake - FLTK CMake configuration file for external projects.
|
||||
#
|
||||
# This file is generated by CMake and used to load FLTK's settings for
|
||||
# an external project.
|
||||
# an external project, i.e. a project using FLTK.
|
||||
#
|
||||
# It defines the following variables:
|
||||
#
|
||||
# FLTK_VERSION - FLTK version string ("x.y.z")
|
||||
# FLTK_INCLUDE_DIRS - FLTK include directories
|
||||
# FLTK_LIBRARIES - list of FLTK libraries built (not yet implemented)
|
||||
# FLTK_LIBRARIES - list of built FLTK libraries (not yet implemented)
|
||||
# FLTK_FLUID_EXECUTABLE - needed by the function FLTK_RUN_FLUID
|
||||
# (or the deprecated fltk_wrap_ui() CMake command)
|
||||
# (or the deprecated fltk_wrap_ui() CMake command)
|
||||
#
|
||||
# It defines the following deprecated variables for backwards
|
||||
# compatibility (do not use for new projects):
|
||||
|
@ -26,28 +26,48 @@
|
|||
# above that may be changed if necessary.
|
||||
#
|
||||
|
||||
set (FLTK_VERSION @FLTK_VERSION@)
|
||||
set(FLTK_VERSION @FLTK_VERSION@)
|
||||
|
||||
include (${CMAKE_CURRENT_LIST_DIR}/FLTK-Targets.cmake)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/FLTK-Targets.cmake)
|
||||
|
||||
set (FLTK_INCLUDE_DIRS "@INCLUDE_DIRS@")
|
||||
set (FLTK_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/UseFLTK.cmake)
|
||||
set(FLTK_INCLUDE_DIRS "@INCLUDE_DIRS@")
|
||||
set(FLTK_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/UseFLTK.cmake)
|
||||
|
||||
# for compatibility with CMake's FindFLTK.cmake
|
||||
# For compatibility with CMake's FindFLTK.cmake:
|
||||
|
||||
set (FLTK_INCLUDE_DIR "${FLTK_INCLUDE_DIRS}")
|
||||
set(FLTK_INCLUDE_DIR "${FLTK_INCLUDE_DIRS}")
|
||||
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
find_file(FLUID_PATH
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
|
||||
# Find a fluid executable on the build host to be able to build fluid programs
|
||||
|
||||
find_program(FLTK_FLUID_HOST
|
||||
NAMES fluid fluid.exe
|
||||
PATHS ENV PATH
|
||||
NO_DEFAULT_PATH
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
add_executable(fluid IMPORTED)
|
||||
set_target_properties(fluid
|
||||
PROPERTIES IMPORTED_LOCATION ${FLUID_PATH}
|
||||
)
|
||||
set (FLTK_FLUID_EXECUTABLE ${FLUID_PATH})
|
||||
else ()
|
||||
set (FLTK_FLUID_EXECUTABLE fluid)
|
||||
endif (CMAKE_CROSSCOMPILING)
|
||||
|
||||
if(FLTK_FLUID_HOST)
|
||||
|
||||
set(FLTK_FLUID_EXECUTABLE "${FLTK_FLUID_HOST}")
|
||||
|
||||
else() # fluid not found on build host
|
||||
|
||||
message(STATUS "FLTKConfig.cmake (cross-compiling): fluid not found on the build host")
|
||||
message(STATUS "Programs using fluid can't be built")
|
||||
# note: this assigns "FLTK_FLUID_HOST-NOTFOUND" and running fluid will fail
|
||||
set(FLTK_FLUID_EXECUTABLE "${FLTK_FLUID_HOST}")
|
||||
|
||||
endif()
|
||||
|
||||
else(CMAKE_CROSSCOMPILING)
|
||||
|
||||
# Use the target 'fluid' which is built together with the library.
|
||||
|
||||
set(FLTK_FLUID_EXECUTABLE fluid)
|
||||
|
||||
endif(CMAKE_CROSSCOMPILING)
|
||||
|
||||
# Debug: should be commented out
|
||||
# message(STATUS "FLTKConfig.cmake: FLTK_FLUID_EXECUTABLE = '${FLTK_FLUID_EXECUTABLE}'")
|
||||
|
|
Loading…
Reference in New Issue