Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CMakeGUI/CMakeLists.txt
3150 views
1
include(CMakeParseArguments)
2
3
get_property(CMake_QT_MAJOR_VERSION TARGET cmake-gui PROPERTY CMake_QT_MAJOR_VERSION)
4
5
find_package(Qt${CMake_QT_MAJOR_VERSION}Test REQUIRED)
6
7
if(MSVC)
8
# QTBUG-118993: Qt uses deprecated stdext::checked_array_iterator
9
add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
10
endif()
11
12
include_directories(
13
${CMake_SOURCE_DIR}/Source
14
${CMake_SOURCE_DIR}/Source/QtDialog
15
${CMake_BINARY_DIR}/Source/QtDialog
16
)
17
18
set(MOC_SRCS)
19
if(CMake_QT_MAJOR_VERSION VERSION_LESS 6)
20
qt5_wrap_cpp(MOC_SRCS
21
CatchShow.h
22
)
23
else()
24
qt_wrap_cpp(MOC_SRCS
25
CatchShow.h
26
)
27
endif()
28
add_library(CMakeGUITestLib STATIC ${MOC_SRCS}
29
CatchShow.cxx
30
CatchShow.h
31
)
32
target_link_libraries(CMakeGUITestLib
33
Qt${CMake_QT_MAJOR_VERSION}::Core
34
Qt${CMake_QT_MAJOR_VERSION}::Gui
35
Qt${CMake_QT_MAJOR_VERSION}::Widgets)
36
37
set(MOC_SRCS)
38
if(CMake_QT_MAJOR_VERSION VERSION_LESS 6)
39
qt5_wrap_cpp(MOC_SRCS
40
CMakeGUITest.h
41
)
42
else()
43
qt_wrap_cpp(MOC_SRCS
44
CMakeGUITest.h
45
)
46
endif()
47
add_executable(CMakeGUITest CMakeGUITest.cxx ${MOC_SRCS})
48
target_link_libraries(CMakeGUITest CMakeGUIMainLib CMakeGUITestLib
49
Qt${CMake_QT_MAJOR_VERSION}::Core
50
Qt${CMake_QT_MAJOR_VERSION}::Test
51
Qt${CMake_QT_MAJOR_VERSION}::Widgets
52
)
53
target_compile_definitions(CMakeGUITest PRIVATE
54
"CMakeGUITest_SOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}\""
55
"CMakeGUITest_BINARY_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\""
56
"CMAKE_GENERATOR=\"${CMAKE_GENERATOR}\""
57
)
58
59
add_test(NAME CMakeGUI COMMAND ${CMAKE_CMAKE_COMMAND}
60
"-DCMakeGUITest_COMMAND=$<TARGET_FILE:CMakeGUITest>"
61
"-DCMakeGUITest_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
62
"-DCMakeGUITest_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}"
63
"-DCMakeGUITest_GENERATOR=${CMAKE_GENERATOR}"
64
-P "${CMAKE_CURRENT_LIST_DIR}/CMakeGUITest.cmake"
65
)
66
67
function(add_cmake_gui_lib_test name)
68
cmake_parse_arguments(_t "" "" "SOURCES;MOC_SOURCES" ${ARGN})
69
70
set(MOC_SRCS)
71
if(CMake_QT_MAJOR_VERSION VERSION_LESS 6)
72
qt5_wrap_cpp(MOC_SRCS
73
${_t_MOC_SOURCES}
74
)
75
else()
76
qt_wrap_cpp(MOC_SRCS
77
${_t_MOC_SOURCES}
78
)
79
endif()
80
add_executable(${name} ${_t_SOURCES} ${MOC_SRCS})
81
target_link_libraries(${name} CMakeGUILib CMakeGUITestLib
82
Qt${CMake_QT_MAJOR_VERSION}::Core
83
Qt${CMake_QT_MAJOR_VERSION}::Test
84
Qt${CMake_QT_MAJOR_VERSION}::Widgets)
85
86
add_test(NAME "CMakeGUILib.${name}" COMMAND ${name})
87
endfunction()
88
89
add_cmake_gui_lib_test(CatchShow
90
SOURCES
91
CatchShowTest.cxx
92
CatchShowTest.h
93
MOC_SOURCES
94
CatchShowTest.h
95
)
96
add_cmake_gui_lib_test(EnvironmentDialog
97
SOURCES
98
EnvironmentDialogTest.cxx
99
EnvironmentDialogTest.h
100
MOC_SOURCES
101
EnvironmentDialogTest.h
102
)
103
add_cmake_gui_lib_test(QCMakeCacheModel
104
SOURCES
105
QCMakeCacheModelTest.cxx
106
QCMakeCacheModelTest.h
107
MOC_SOURCES
108
QCMakeCacheModelTest.h
109
)
110
add_cmake_gui_lib_test(QCMakePreset
111
SOURCES
112
QCMakePresetTest.cxx
113
QCMakePresetTest.h
114
MOC_SOURCES
115
QCMakePresetTest.h
116
)
117
add_cmake_gui_lib_test(QCMakePresetItemModel
118
SOURCES
119
QCMakePresetItemModelTest.cxx
120
QCMakePresetItemModelTest.h
121
MOC_SOURCES
122
QCMakePresetItemModelTest.h
123
)
124
add_cmake_gui_lib_test(QCMakePresetComboBox
125
SOURCES
126
QCMakePresetComboBoxTest.cxx
127
QCMakePresetComboBoxTest.h
128
MOC_SOURCES
129
QCMakePresetComboBoxTest.h
130
)
131
132