Fossil SCM

fossil-scm / compat / zlib / test / CMakeLists.txt
Blame History Raw 319 lines
1
function(ZLIB_findTestEnv testName)
2
set(testEnv "PATH=")
3
4
if(MSVC OR MINGW)
5
set(separator "\\\;")
6
else()
7
set(separator ":")
8
endif()
9
10
string(APPEND testEnv "$<TARGET_FILE_DIR:ZLIB::ZLIB>${separator}")
11
string(APPEND testEnv "$ENV{PATH}")
12
13
set_tests_properties(${testName} PROPERTIES ENVIRONMENT "${testEnv}")
14
endfunction()
15
16
if(ZLIB_BUILD_SHARED)
17
add_executable(zlib_example example.c)
18
target_link_libraries(zlib_example ZLIB::ZLIB)
19
target_compile_definitions(zlib_example PRIVATE ZLIB_BUILD)
20
add_test(NAME zlib_example COMMAND zlib_example)
21
22
add_executable(minigzip minigzip.c)
23
target_compile_definitions(
24
minigzip PRIVATE $<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN>)
25
target_link_libraries(minigzip ZLIB::ZLIB)
26
27
if(MSVC
28
OR MSYS
29
OR MINGW
30
OR CYGWIN)
31
zlib_findtestenv(zlib_example)
32
endif(
33
MSVC
34
OR MSYS
35
OR MINGW
36
OR CYGWIN)
37
38
if(HAVE_OFF64_T)
39
add_executable(zlib_example64 example.c)
40
target_compile_definitions(
41
zlib_example64
42
PRIVATE ZLIB_BUILD
43
$<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN>)
44
target_link_libraries(zlib_example64 ZLIB::ZLIB)
45
add_test(NAME zlib_example64 COMMAND zlib_example64)
46
47
if(MSVC
48
OR MSYS
49
OR MINGW
50
OR CYGWIN)
51
zlib_findtestenv(zlib_example64)
52
endif(
53
MSVC
54
OR MSYS
55
OR MINGW
56
OR CYGWIN)
57
endif(HAVE_OFF64_T)
58
endif(ZLIB_BUILD_SHARED)
59
60
if(ZLIB_BUILD_STATIC)
61
add_executable(zlib_static_example example.c)
62
target_link_libraries(zlib_static_example ZLIB::ZLIBSTATIC)
63
target_compile_definitions(
64
zlib_static_example
65
PRIVATE ZLIB_BUILD
66
$<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN>)
67
add_test(NAME zlib_static_example COMMAND zlib_static_example)
68
69
add_executable(static_minigzip minigzip.c)
70
target_link_libraries(static_minigzip ZLIB::ZLIBSTATIC)
71
72
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL
73
"Clang")
74
set(CFLAGS_OLD ${CMAKE_C_FLAGS})
75
set(CMAKE_C_FLAGS
76
""
77
CACHE STRING "" FORCE)
78
79
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
80
find_program(GCOV_EXECUTABLE gcov)
81
endif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
82
83
if(${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
84
set(llvm_names llvm_cov)
85
list(APPEND llvm_names llvm-cov)
86
87
foreach(ver RANGE 11 99)
88
list(APPEND llvm_names llvm-cov-${ver})
89
endforeach(ver RANGE 11 99)
90
91
find_program(GCOV_EXECUTABLE NAMES ${llvm_names})
92
set(llvm_option "gcov")
93
endif(${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
94
95
add_executable(infcover infcover.c)
96
target_link_libraries(infcover ZLIB::ZLIBSTATIC)
97
target_compile_options(infcover PRIVATE -coverage)
98
target_link_options(infcover PRIVATE -coverage)
99
target_compile_definitions(
100
infcover PRIVATE $<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN>)
101
add_test(NAME zlib_coverage COMMAND infcover)
102
set(INFCOVER_DIR ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/infcover.dir)
103
add_test(
104
NAME zlib_coverage-summary
105
COMMAND
106
${GCOV_EXECUTABLE} ${llvm_option}
107
${CMAKE_CURRENT_SOURCE_DIR}/infcover.c -o
108
${INFCOVER_DIR}/infcover.c.gcda)
109
set_tests_properties(zlib_coverage-summary PROPERTIES DEPENDS
110
zlib-coverage)
111
set(CMAKE_C_FLAGS
112
${CFLAGS_OLD}
113
CACHE STRING "" FORCE)
114
endif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID}
115
STREQUAL "Clang")
116
117
if(HAVE_OFF64_T)
118
add_executable(zlib_static_example64 example.c)
119
target_compile_definitions(
120
zlib_static_example64
121
PRIVATE ZLIB_BUILD
122
$<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN>)
123
target_link_libraries(zlib_static_example64 ZLIB::ZLIBSTATIC)
124
add_test(NAME zlib_static_example64 COMMAND zlib_static_example64)
125
endif(HAVE_OFF64_T)
126
endif(ZLIB_BUILD_STATIC)
127
128
add_test(
129
NAME zlib_install
130
COMMAND ${CMAKE_COMMAND} --install ${zlib_BINARY_DIR} --prefix
131
${CMAKE_CURRENT_BINARY_DIR}/test_install --config $<CONFIG>
132
WORKING_DIRECTORY ${zlib_BINARY_DIR})
133
134
set_tests_properties(zlib_install PROPERTIES FIXTURES_SETUP zlib_install)
135
136
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
137
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/find_package_no_components_test)
138
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/find_package_wrong_components_test)
139
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
140
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
141
142
configure_file(
143
${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
144
${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY)
145
146
configure_file(
147
${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in
148
${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt @ONLY)
149
150
configure_file(
151
${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in
152
${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt @ONLY)
153
154
configure_file(
155
${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in
156
${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY)
157
158
configure_file(
159
${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in
160
${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt
161
@ONLY)
162
163
# CMAKE_GENERATOR_PLATFORM doesn't work in the if
164
set(GENERATOR ${CMAKE_GENERATOR_PLATFORM})
165
166
if(GENERATOR)
167
set(PLATFORM "-A ${GENERATOR}")
168
endif(GENERATOR)
169
#
170
# findpackage_test
171
#
172
add_test(
173
NAME zlib_find_package_configure
174
COMMAND
175
${CMAKE_COMMAND} ${PLATFORM}
176
-B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
177
-DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
178
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
179
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh
180
-G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
181
182
add_test(
183
NAME zlib_find_package_build
184
COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
185
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
186
187
add_test(
188
NAME zlib_find_package_test
189
COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
190
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
191
192
set_tests_properties(
193
zlib_find_package_configure PROPERTIES FIXTURES_REQUIRED zlib_install
194
FIXTURES_SETUP fp_config)
195
196
set_tests_properties(
197
zlib_find_package_build PROPERTIES FIXTURES_REQUIRED fp_config
198
FIXTURES_SETUP fp_build)
199
200
set_tests_properties(
201
zlib_find_package_test PROPERTIES FIXTURES_REQUIRED fp_build ENVIRONMENT
202
CTEST_OUTPUT_ON_FAILURE=1)
203
204
#
205
# findpackage_no_components_test
206
#
207
add_test(
208
NAME zlib_find_package_no_components_configure
209
COMMAND
210
${CMAKE_COMMAND} ${PLATFORM}
211
-B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build
212
-DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
213
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
214
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh
215
-G "${CMAKE_GENERATOR}"
216
-S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test)
217
218
set_tests_properties(
219
zlib_find_package_no_components_configure
220
PROPERTIES FIXTURES_REQUIRED zlib_install)
221
222
if(NOT ZLIB_BUILD_SHARED OR NOT ZLIB_BUILD_STATIC)
223
set_tests_properties(
224
zlib_find_package_no_components_configure
225
PROPERTIES WILL_FAIL TRUE)
226
endif(NOT ZLIB_BUILD_SHARED OR NOT ZLIB_BUILD_STATIC)
227
228
#
229
# findpackage_no_component_test
230
#
231
add_test(
232
NAME zlib_find_package_wrong_components_configure
233
COMMAND
234
${CMAKE_COMMAND} ${PLATFORM}
235
-B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build
236
-DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
237
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
238
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh
239
-G "${CMAKE_GENERATOR}"
240
-S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test)
241
242
set_tests_properties(
243
zlib_find_package_wrong_components_configure
244
PROPERTIES FIXTURES_REQUIRED zlib_install
245
WILL_FAIL TRUE)
246
247
#
248
# add_subdirectory_test
249
#
250
add_test(
251
NAME zlib_add_subdirectory_configure
252
COMMAND
253
${CMAKE_COMMAND} ${PLATFORM}
254
-B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build
255
-DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
256
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
257
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh
258
-G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
259
260
add_test(
261
NAME zlib_add_subdirectory_build
262
COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
263
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build)
264
265
add_test(
266
NAME zlib_add_subdirectory_test
267
COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
268
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build)
269
270
set_tests_properties(
271
zlib_add_subdirectory_configure PROPERTIES FIXTURES_REQUIRED zlib_install
272
FIXTURES_SETUP as_config)
273
274
set_tests_properties(
275
zlib_add_subdirectory_build PROPERTIES FIXTURES_REQUIRED as_config
276
FIXTURES_SETUP as_build)
277
278
set_tests_properties(
279
zlib_add_subdirectory_test PROPERTIES FIXTURES_REQUIRED as_build
280
ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1)
281
282
#
283
# add_subdirectory_exclude_test
284
#
285
add_test(
286
NAME zlib_add_subdirectory_exclude_configure
287
COMMAND
288
${CMAKE_COMMAND} ${PLATFORM}
289
-B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build
290
-DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
291
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
292
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh
293
-G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
294
295
add_test(
296
NAME zlib_add_subdirectory_exclude_build
297
COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
298
WORKING_DIRECTORY
299
${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build)
300
301
add_test(
302
NAME zlib_add_subdirectory_exclude_test
303
COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
304
WORKING_DIRECTORY
305
${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build)
306
307
set_tests_properties(
308
zlib_add_subdirectory_exclude_configure
309
PROPERTIES FIXTURES_REQUIRED zlib_install FIXTURES_SETUP asx_config)
310
311
set_tests_properties(
312
zlib_add_subdirectory_exclude_build PROPERTIES FIXTURES_REQUIRED as_config
313
FIXTURES_SETUP asx_build)
314
315
set_tests_properties(
316
zlib_add_subdirectory_exclude_test
317
PROPERTIES FIXTURES_REQUIRED asx_build ENVIRONMENT
318
CTEST_OUTPUT_ON_FAILURE=1)
319

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button