blob: 73e89bd25e1b01bd6475fa29051fd161317ad464 (
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
# On Windows we have to generate the .h and .cpp inside ${CMAKE_BINARY_DIR}/bin because
# otherwise QFINDTESTDATA will not be able to locate them.
if(WIN32)
set(KCFG_OUTPUT_DIR "${CMAKE_BINARY_DIR}/bin")
else()
set(KCFG_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
endif()
# make sure the generated headers can be found
include_directories(${KCFG_OUTPUT_DIR})
macro(GEN_KCFG_TEST_SOURCE _testName _srcs)
cmake_parse_arguments(ARG "" "KCFG" "" ${ARGN} )
set(_kcfgFile ${ARG_KCFG})
if (NOT _kcfgFile)
set(_kcfgFile "${_testName}.kcfg")
endif()
add_custom_command(
OUTPUT ${KCFG_OUTPUT_DIR}/${_testName}.cpp ${KCFG_OUTPUT_DIR}/${_testName}.h
COMMAND KF5::kconfig_compiler ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc
WORKING_DIRECTORY ${KCFG_OUTPUT_DIR}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc KF5::kconfig_compiler)
# set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE)
qt5_generate_moc(${KCFG_OUTPUT_DIR}/${_testName}.h ${KCFG_OUTPUT_DIR}/${_testName}.moc )
# do not run automoc on the generated file
set_source_files_properties(${KCFG_OUTPUT_DIR}/${_testName}.cpp PROPERTIES SKIP_AUTOMOC TRUE)
set( ${_srcs} ${${_srcs}} ${KCFG_OUTPUT_DIR}/${_testName}.cpp)
set_property(SOURCE ${KCFG_OUTPUT_DIR}/${_testName}.cpp APPEND PROPERTY OBJECT_DEPENDS ${KCFG_OUTPUT_DIR}/${_testName}.moc )
endmacro(GEN_KCFG_TEST_SOURCE)
include(ECMMarkAsTest)
########### next target ###############
set(test1_SRCS test1main.cpp )
gen_kcfg_test_source(test1 test1_SRCS)
add_executable(test1 ${test1_SRCS})
ecm_mark_as_test(test1)
target_link_libraries(test1 KF5::ConfigGui)
########### next target ###############
set(test2_SRCS test2main.cpp )
gen_kcfg_test_source(test2 test2_SRCS)
add_executable(test2 ${test2_SRCS})
ecm_mark_as_test(test2)
target_link_libraries(test2 KF5::ConfigGui)
########### next target ###############
set(test3_SRCS test3main.cpp )
gen_kcfg_test_source(test3 test3_SRCS)
add_executable(test3 ${test3_SRCS})
ecm_mark_as_test(test3)
target_link_libraries(test3 KF5::ConfigGui)
########### next target ###############
set(test3a_SRCS test3amain.cpp )
gen_kcfg_test_source(test3a test3a_SRCS)
add_executable(test3a ${test3a_SRCS})
ecm_mark_as_test(test3a)
target_link_libraries(test3a KF5::ConfigGui)
########### next target ###############
set(test4_SRCS test4main.cpp )
gen_kcfg_test_source(test4 test4_SRCS)
add_executable(test4 ${test4_SRCS})
ecm_mark_as_test(test4)
target_link_libraries(test4 KF5::ConfigGui)
########### next target ###############
set(test5_SRCS test5main.cpp )
gen_kcfg_test_source(test5 test5_SRCS)
add_executable(test5 ${test5_SRCS})
ecm_mark_as_test(test5)
target_link_libraries(test5 KF5::ConfigGui)
########### next target ###############
set(test6_SRCS test6main.cpp )
gen_kcfg_test_source(test6 test6_SRCS)
add_executable(test6 ${test6_SRCS})
ecm_mark_as_test(test6)
target_link_libraries(test6 KF5::ConfigGui)
########### next target ###############
set(test7_SRCS test7main.cpp )
gen_kcfg_test_source(test7 test7_SRCS)
add_executable(test7 ${test7_SRCS})
ecm_mark_as_test(test7)
target_link_libraries(test7 KF5::ConfigGui)
########### next target ###############
set(test8_SRCS test8main.cpp )
gen_kcfg_test_source(test8a test8_SRCS)
gen_kcfg_test_source(test8b test8_SRCS)
add_executable(test8 ${test8_SRCS})
ecm_mark_as_test(test8)
target_link_libraries(test8 KF5::ConfigGui)
########### next target ###############
set(test9_SRCS test9main.cpp )
gen_kcfg_test_source(test9 test9_SRCS)
add_executable(test9 ${test9_SRCS})
ecm_mark_as_test(test9)
target_link_libraries(test9 KF5::ConfigGui)
########### next target ###############
set(test10_SRCS test10main.cpp )
gen_kcfg_test_source(test10 test10_SRCS)
add_executable(test10 ${test10_SRCS})
ecm_mark_as_test(test10)
target_link_libraries(test10 KF5::ConfigGui)
########### next target ###############
set(test11_SRCS test11main.cpp )
gen_kcfg_test_source(test11 test11_SRCS)
gen_kcfg_test_source(test11a test11_SRCS)
add_executable(test11 ${test11_SRCS})
ecm_mark_as_test(test11)
target_link_libraries(test11 KF5::ConfigGui)
########### next target ###############
set(test12_SRCS test12main.cpp )
gen_kcfg_test_source(test12 test12_SRCS)
add_executable(test12 ${test12_SRCS})
ecm_mark_as_test(test12)
target_link_libraries(test12 KF5::ConfigGui)
########### next target ###############
set(test_dpointer_SRCS test_dpointer_main.cpp )
gen_kcfg_test_source(test_dpointer test_dpointer_SRCS)
add_executable(test_dpointer ${test_dpointer_SRCS})
ecm_mark_as_test(test_dpointer)
target_link_libraries(test_dpointer KF5::ConfigGui)
########### next target ###############
set(test_signal_SRCS test_signal_main.cpp )
gen_kcfg_test_source(test_signal test_signal_SRCS)
add_executable(test_signal ${test_signal_SRCS})
ecm_mark_as_test(test_signal)
target_link_libraries(test_signal KF5::ConfigGui)
########### next target ###############
set(kconfigcompiler_test_signals_SRCS kconfigcompiler_test_signals.cpp)
gen_kcfg_test_source(signals_test_singleton kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg)
gen_kcfg_test_source(signals_test_no_singleton kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg)
gen_kcfg_test_source(signals_test_singleton_dpointer kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg)
gen_kcfg_test_source(signals_test_no_singleton_dpointer kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg)
ecm_add_test(${kconfigcompiler_test_signals_SRCS}
TEST_NAME kconfigcompiler-signals-test
LINK_LIBRARIES Qt5::Test KF5::ConfigGui
)
########### next target ###############
ecm_add_test(kconfigcompiler_test.cpp
TEST_NAME kconfigcompiler-basic-test
LINK_LIBRARIES Qt5::Test
)
########### install files ###############
|