1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
cmake_minimum_required (VERSION 3.18)
# Use new policy to use CMAKE_CXX_STANDARD in trysight_compile() macro
cmake_policy(SET CMP0067 NEW)
if(${CMAKE_VERSION} VERSION_GREATER "3.31.0")
# Use new policy for removed FindBoost module
cmake_policy(SET CMP0167 NEW)
# Use new policy for empty string variable after a single-value keyword
cmake_policy(SET CMP0174 NEW)
# Use new policy for normalized install() DESTINATION paths
cmake_policy(SET CMP0177 NEW)
# Stricter arguments check of add_custom_command
cmake_policy(SET CMP0175 NEW)
endif()
# We need to find Qt6 before ITK/VTK, otherwise they find Qt5 and CMake fails with a cryptic
# "Targets not yet defined: Qt::XXXXPrivate", even if we don't use ITK-Qt or VTK-Qt extensions
if(UNIX)
find_package(Qt6 CONFIG QUIET COMPONENTS Core Gui Widgets OpenGL)
endif()
set(FW_BUILD_EXTERNAL 1)
include(GNUInstallDirs)
include("${CMAKE_CURRENT_LIST_DIR}/build/flags.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/macros.cmake")
if(NOT SIGHT_CONFIGURED)
set(SIGHT_CONFIGURED TRUE)
# Needed for FindFilesystem.cmake
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
set(SIGHT_SUPPORTED_COMPONENTS @COMPONENTS@)
if(UNIX)
configure_file(
${FWCMAKE_RESOURCE_PATH}/install/linux/safe-xvfb-run
${CMAKE_BINARY_DIR}/bin/safe-xvfb-run
COPYONLY
)
configure_file(
${FWCMAKE_RESOURCE_PATH}/install/linux/exec_gui_tests.sh
${CMAKE_BINARY_DIR}/bin/exec_gui_tests.sh
COPYONLY
)
list(APPEND CMAKE_PREFIX_PATH /usr/share/OGRE/cmake/module)
list(APPEND CMAKE_PREFIX_PATH ${FWCMAKE_RESOURCE_PATH}/module)
else()
configure_file(
${FWCMAKE_RESOURCE_PATH}/install/windows/exec_gui_tests.bat
${CMAKE_BINARY_DIR}/bin/exec_gui_tests.bat
COPYONLY
)
endif()
set(FW_INSTALL_PATH_SUFFIX "${PROJECT_NAME}")
set(FWCONFIG_PACKAGE_LOCATION lib/cmake/${PROJECT_NAME})
set(SIGHT_MODULE_RC_PREFIX "${CMAKE_INSTALL_DATADIR}/${FW_INSTALL_PATH_SUFFIX}")
if(WIN32)
set(SIGHT_MODULE_LIB_PREFIX "${CMAKE_INSTALL_BINDIR}")
else()
set(SIGHT_MODULE_LIB_PREFIX "${CMAKE_INSTALL_LIBDIR}")
endif()
file(TO_CMAKE_PATH "${sight_DIR}/../../../bin" Sight_BINARY_DIR)
file(TO_CMAKE_PATH "${sight_DIR}/../../../@SIGHT_MODULE_LIB_PREFIX@" Sight_LIBRARY_DIR)
file(TO_CMAKE_PATH "${sight_DIR}/../../../@SIGHT_MODULE_RC_PREFIX@" Sight_MODULES_DIR)
file(TO_CMAKE_PATH "${sight_DIR}/../../../" Sight_DEFINE_DIR)
set_external_libraries_dir()
find_package(CppUnit REQUIRED)
foreach(sight_comp ${SIGHT_SUPPORTED_COMPONENTS})
if(NOT ${sight_comp} MATCHES "_obj")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/sight_${sight_comp}_Dependencies.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/sight_${sight_comp}_Dependencies.cmake")
endif()
include("${CMAKE_CURRENT_LIST_DIR}/sight_${sight_comp}_Targets.cmake")
endif()
list(APPEND SIGHT_COMPONENTS sight::${sight_comp})
endforeach()
endif()
foreach(sight_comp ${sight_FIND_COMPONENTS})
if(NOT ${sight_comp}_FOUND)
if (NOT sight_comp IN_LIST SIGHT_SUPPORTED_COMPONENTS)
set(sight_FOUND False)
set(sight_NOT_FOUND_MESSAGE "Unsupported component: ${sight_comp}")
endif()
set_property(TARGET sight::${sight_comp} PROPERTY INTERFACE_COMPILE_DEFINITIONS SIGHT_DIR="${Sight_DEFINE_DIR}")
set(${sight_comp}_FOUND 1)
endif()
endforeach()
|