File: sightConfig.cmake.in

package info (click to toggle)
sight 25.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 42,180 kB
  • sloc: cpp: 289,476; xml: 17,257; ansic: 9,878; python: 1,379; sh: 144; makefile: 33
file content (97 lines) | stat: -rw-r--r-- 3,607 bytes parent folder | download
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()