blob: bc3e5ce8157cdbcc7d4285344898afd948432de3 (
plain)
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
98
99
100
101
102
103
104
105
106
107
108
109
|
# We need to set a language to find CMake packages installed in
# architecture-dependent locations (like /usr/lib64).
# We only set this for the tests, making sure it does not interfere
# with other files (as ECM itself is architecture-independent).
project(ECMTests C)
add_subdirectory(ECMGenerateHeadersTest)
add_subdirectory(ECMSetupVersionTest)
add_subdirectory(ECMGeneratePkgConfigFile)
# a macro for tests that have a simple format where the name matches the
# directory and project
macro(add_test_variant NAME BASE COMMAND)
string(REPLACE "." "/" src_dir "${BASE}")
string(REPLACE "." "/" build_dir "${NAME}")
string(REGEX REPLACE "[^.]*\\." "" proj "${NAME}")
add_test(${NAME} ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMAKE_CURRENT_SOURCE_DIR}/${src_dir}"
"${CMAKE_CURRENT_BINARY_DIR}/${build_dir}"
--build-two-config
--build-generator ${CMAKE_GENERATOR}
--build-makeprogram ${CMAKE_MAKE_PROGRAM}
--build-project ${proj}
${${NAME}_EXTRA_OPTIONS}
--test-command ${COMMAND} ${ARGN})
endmacro()
macro(add_test_macro NAME)
add_test_variant("${NAME}" "${NAME}" ${ARGN})
endmacro()
find_package(Qt5LinguistTools CONFIG)
add_test_macro(ExecuteCoreModules dummy)
add_test_macro(ExecuteKDEModules dummy)
add_test_macro(KDEInstallDirsTest.relative_or_absolute dummy)
add_test_variant(KDEInstallDirsTest.vars_in_sync_no_args
KDEInstallDirsTest.vars_in_sync dummy)
add_test_macro(KDEInstallDirsTest.not_cache_variable dummy)
set(KDEInstallDirsTest.vars_in_sync_kde_arg_EXTRA_OPTIONS
--build-options -DKDE_INSTALL_BINDIR=altbin
-DBINDIR_expected_value=altbin
-DCMAKE_WARN_DEPRECATED=TRUE
)
add_test_variant(KDEInstallDirsTest.vars_in_sync_kde_arg
KDEInstallDirsTest.vars_in_sync dummy)
set(KDEInstallDirsTest.vars_in_sync_cmake_arg_EXTRA_OPTIONS
--build-options -DCMAKE_INSTALL_BINDIR=altbin
-DBINDIR_expected_value=altbin
-DCMAKE_WARN_DEPRECATED=TRUE
)
add_test_variant(KDEInstallDirsTest.vars_in_sync_cmake_arg
KDEInstallDirsTest.vars_in_sync dummy)
set(KDEInstallDirsTest.vars_in_sync_oldstyle_arg_EXTRA_OPTIONS
--build-options -DBIN_INSTALL_DIR=altbin
-DBINDIR_expected_value=altbin
-DCMAKE_WARN_DEPRECATED=TRUE
)
add_test_variant(KDEInstallDirsTest.vars_in_sync_oldstyle_arg
KDEInstallDirsTest.vars_in_sync dummy)
set(KDEInstallDirsTest.relative_or_absolute_usr_EXTRA_OPTIONS
--build-options -DCMAKE_INSTALL_PREFIX=/usr
-DAUTOSTARTDIR_should_be_absolute=TRUE
-DCONFDIR_should_be_absolute=TRUE
-DSYSCONFDIR_should_be_absolute=TRUE
)
add_test_variant(KDEInstallDirsTest.relative_or_absolute_usr
KDEInstallDirsTest.relative_or_absolute dummy)
find_package(Qt5Core QUIET)
if (TARGET Qt5::qmake)
set(KDEInstallDirsTest.relative_or_absolute_qt_EXTRA_OPTIONS
--build-options -DKDE_INSTALL_USE_QT_SYS_PATHS=TRUE
-DPLUGINDIR_should_be_absolute=TRUE
-DQMLDIR_should_be_absolute=TRUE
-DQTPLUGINDIR_should_be_absolute=TRUE
-DQTQUICKIMPORTSDIR_should_be_absolute=TRUE
)
add_test_variant(KDEInstallDirsTest.relative_or_absolute_qt
KDEInstallDirsTest.relative_or_absolute dummy)
endif ()
add_test_macro(FindModules dummy)
add_test_macro(UseFindModules dummy)
set(ECMInstallIconsTest_EXTRA_OPTIONS
--build-target install
--build-options
"-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/ECMInstallIconsTest/InstallDirectory"
)
add_test_macro(ECMInstallIconsTest
${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/ECMInstallIconsTest/check_tree.cmake"
)
if (Qt5LinguistTools_FOUND)
set(ECMPoQmToolsTest_EXTRA_OPTIONS
--build-target install
--build-options
"-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/ECMPoQmToolsTest/InstallDirectory"
)
add_test_macro(ECMPoQmToolsTest
${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/ECMPoQmToolsTest/check_tree.cmake"
)
endif()
|