aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVollstrecker <werner@vollstreckernet.de>2026-01-03 11:02:41 +0100
committerMark Adler <git@madler.net>2026-01-12 11:10:03 -0800
commit883c24b6a25c3e6eeebf02cc19a3e8537ac5614f (patch)
treedec168d31bb746daca4d1a42e9a53da39d477081
parent16abbd29528bcc532e4c72b17cf4850e6ec84218 (diff)
downloadzlib-883c24b6a25c3e6eeebf02cc19a3e8537ac5614f.tar.gz
zlib-883c24b6a25c3e6eeebf02cc19a3e8537ac5614f.tar.bz2
zlib-883c24b6a25c3e6eeebf02cc19a3e8537ac5614f.zip
CMake: Add integration tests.
-rw-r--r--contrib/ada/CMakeLists.txt4
-rw-r--r--contrib/blast/CMakeLists.txt4
-rw-r--r--contrib/blast/blastConfig.cmake.in18
-rw-r--r--contrib/blast/test/CMakeLists.txt193
-rw-r--r--contrib/blast/test/add_subdirectory_exclude_test.cmake.in27
-rw-r--r--contrib/blast/test/add_subdirectory_test.cmake.in25
-rw-r--r--contrib/blast/test/find_package_no_components_test.cmake.in24
-rw-r--r--contrib/blast/test/find_package_test.cmake.in24
-rw-r--r--contrib/blast/test/find_package_wrong_components_test.cmake.in24
-rw-r--r--contrib/iostream3/CMakeLists.txt2
-rw-r--r--contrib/iostream3/iostream3Config.cmake.in23
-rw-r--r--contrib/iostream3/test/CMakeLists.txt191
-rw-r--r--contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in27
-rw-r--r--contrib/iostream3/test/add_subdirectory_test.cmake.in25
-rw-r--r--contrib/iostream3/test/find_package_no_components_test.cmake.in24
-rw-r--r--contrib/iostream3/test/find_package_test.cmake.in24
-rw-r--r--contrib/iostream3/test/find_package_wrong_components_test.cmake.in24
-rw-r--r--contrib/puff/CMakeLists.txt2
-rw-r--r--contrib/puff/puffConfig.cmake.in18
-rw-r--r--contrib/puff/test/CMakeLists.txt191
-rw-r--r--contrib/puff/test/add_subdirectory_exclude_test.cmake.in26
-rw-r--r--contrib/puff/test/add_subdirectory_test.cmake.in25
-rw-r--r--contrib/puff/test/find_package_no_components_test.cmake.in24
-rw-r--r--contrib/puff/test/find_package_test.cmake.in24
-rw-r--r--contrib/puff/test/find_package_wrong_components_test.cmake.in24
25 files changed, 1015 insertions, 2 deletions
diff --git a/contrib/ada/CMakeLists.txt b/contrib/ada/CMakeLists.txt
index 85b9444..8922200 100644
--- a/contrib/ada/CMakeLists.txt
+++ b/contrib/ada/CMakeLists.txt
@@ -211,7 +211,7 @@ if(ZLIB_ADA_BUILD_STATIC)
211endif(ZLIB_ADA_BUILD_STATIC) 211endif(ZLIB_ADA_BUILD_STATIC)
212 212
213if(ZLIB_ADA_BUILD_TESTING) 213if(ZLIB_ADA_BUILD_TESTING)
214 add_test(NAME zlib_Ada_cleanup COMMAND ${CMAKE_COMMAND} -E rm ${CMAKE_CURRENT_BINARY_DIR}/testzlib.in 214 add_test(NAME zlib_ada_cleanup COMMAND ${CMAKE_COMMAND} -E rm ${CMAKE_CURRENT_BINARY_DIR}/testzlib.in
215 ${CMAKE_CURRENT_BINARY_DIR}/testzlib.out ${CMAKE_CURRENT_BINARY_DIR}/testzlib.zlb) 215 ${CMAKE_CURRENT_BINARY_DIR}/testzlib.out ${CMAKE_CURRENT_BINARY_DIR}/testzlib.zlb)
216 set_tests_properties(zlib_Ada_cleanup PROPERTIES FIXTURES_CLEANUP ada_cleanup) 216 set_tests_properties(zlib_ada_cleanup PROPERTIES FIXTURES_CLEANUP zlib_ada_cleanup)
217endif(ZLIB_ADA_BUILD_TESTING) 217endif(ZLIB_ADA_BUILD_TESTING)
diff --git a/contrib/blast/CMakeLists.txt b/contrib/blast/CMakeLists.txt
index a94b362..6f3ba38 100644
--- a/contrib/blast/CMakeLists.txt
+++ b/contrib/blast/CMakeLists.txt
@@ -104,6 +104,10 @@ if(ZLIB_BLAST_BUILD_STATIC)
104 endif(ZLIB_BLAST_BUILD_TESTING) 104 endif(ZLIB_BLAST_BUILD_TESTING)
105endif(ZLIB_BLAST_BUILD_STATIC) 105endif(ZLIB_BLAST_BUILD_STATIC)
106 106
107if(ZLIB_BLAST_BUILD_TESTING)
108 add_subdirectory(test)
109endif(ZLIB_BLAST_BUILD_TESTING)
110
107if(ZLIB_BLAST_INSTALL) 111if(ZLIB_BLAST_INSTALL)
108 if(ZLIB_BLAST_BUILD_SHARED) 112 if(ZLIB_BLAST_BUILD_SHARED)
109 install( 113 install(
diff --git a/contrib/blast/blastConfig.cmake.in b/contrib/blast/blastConfig.cmake.in
new file mode 100644
index 0000000..5909ac4
--- /dev/null
+++ b/contrib/blast/blastConfig.cmake.in
@@ -0,0 +1,18 @@
1@PACKAGE_INIT@
2
3set(_blast_supported_components "shared" "static")
4
5if(blast_FIND_COMPONENTS)
6 foreach(_comp ${blast_FIND_COMPONENTS})
7 if(NOT _comp IN_LIST _blast_supported_components)
8 set(blast_FOUND False)
9 set(blast_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
10 endif(NOT _comp IN_LIST _blast_supported_components)
11
12 include("${CMAKE_CURRENT_LIST_DIR}/blast-${_comp}.cmake")
13 endforeach(_comp ${blast_FIND_COMPONENTS})
14else(blast_FIND_COMPONENTS)
15 foreach(_component_config IN LISTS _blast_supported_components)
16 include("${CMAKE_CURRENT_LIST_DIR}/blast-${_component_config}.cmake")
17 endforeach(_component_config IN LISTS _blast_supported_components)
18endif(blast_FIND_COMPONENTS)
diff --git a/contrib/blast/test/CMakeLists.txt b/contrib/blast/test/CMakeLists.txt
new file mode 100644
index 0000000..d319b82
--- /dev/null
+++ b/contrib/blast/test/CMakeLists.txt
@@ -0,0 +1,193 @@
1# if we are built from with zlib, use this path's)
2if(DEFINED ZLIB_BUILD_SHARED)
3 set(WORK_DIR ${zlib_BINARY_DIR})
4 set(inst_setup zlib_blast_install)
5else(DEFINED ZLIB_BUILD_SHARED)
6 set(WORK_DIR ${blast_BINARY_DIR})
7 set(inst_setup zlib_blast_install)
8 set(ZLIB_ARG "-DZLIB_DIR=${ZLIB_DIR}")
9
10 add_test(
11 NAME zlib_blast_install
12 COMMAND ${CMAKE_COMMAND} --install ${blast_BINARY_DIR} --prefix
13 ${CMAKE_CURRENT_BINARY_DIR}/test_install --config $<CONFIG>
14 WORKING_DIRECTORY ${blast_BINARY_DIR})
15
16 set_tests_properties(zlib_blast_install
17 PROPERTIES
18 FIXTURES_SETUP zlib_blast_install)
19endif(DEFINED ZLIB_BUILD_SHARED)
20
21file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
22file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
23file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
24
25configure_file(
26 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
27 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY)
28
29configure_file(
30 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in
31 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY)
32
33configure_file(
34 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in
35 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt
36 @ONLY)
37
38configure_file(
39 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in
40 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt
41 @ONLY)
42
43configure_file(
44 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in
45 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt
46 @ONLY)
47
48# CMAKE_GENERATOR_PLATFORM doesn't work in the if
49set(GENERATOR ${CMAKE_GENERATOR_PLATFORM})
50
51if(GENERATOR)
52 set(PLATFORM "-A ${GENERATOR}")
53endif(GENERATOR)
54
55#
56# findpackage_test
57#
58add_test(
59 NAME zlib_blast_find_package_configure
60 COMMAND
61 ${CMAKE_COMMAND} ${PLATFORM}
62 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
63 -DCMAKE_BUILD_TYPE=$<CONFIG>
64 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
65 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
66 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
67 --fresh
68 -G "${CMAKE_GENERATOR}"
69 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
70
71add_test(
72 NAME zlib_blast_find_package_build
73 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
74 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
75
76set_tests_properties(
77 zlib_blast_find_package_configure
78 PROPERTIES
79 FIXTURES_REQUIRED ${inst_setup}
80 FIXTURES_SETUP blast_fp_config)
81
82set_tests_properties(zlib_blast_find_package_build
83 PROPERTIES
84 FIXTURES_REQUIRED blast_fp_config)
85
86#
87# add_subdirectory_test
88#
89add_test(
90 NAME zlib_blast_add_subdirectory_configure
91 COMMAND
92 ${CMAKE_COMMAND} ${PLATFORM}
93 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build
94 -DCMAKE_BUILD_TYPE=$<CONFIG>
95 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
96 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
97 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
98 --fresh
99 -G "${CMAKE_GENERATOR}"
100 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
101
102add_test(
103 NAME zlib_blast_add_subdirectory_build
104 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
105 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build)
106
107set_tests_properties(
108 zlib_blast_add_subdirectory_configure
109 PROPERTIES
110 FIXTURES_REQUIRED ${inst_setup}
111 FIXTURES_SETUP blast_as_config)
112
113set_tests_properties(zlib_blast_add_subdirectory_build
114 PROPERTIES
115 FIXTURES_REQUIRED blast_as_config)
116
117#
118# add_subdirectory_exclude_test
119#
120add_test(
121 NAME zlib_blast_add_subdirectory_exclude_configure
122 COMMAND
123 ${CMAKE_COMMAND} ${PLATFORM}
124 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build
125 -DCMAKE_BUILD_TYPE=$<CONFIG>
126 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
127 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
128 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
129 --fresh
130 -G "${CMAKE_GENERATOR}"
131 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
132
133add_test(
134 NAME zlib_blast_add_subdirectory_exclude_build
135 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
136 WORKING_DIRECTORY
137 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build)
138
139set_tests_properties(zlib_blast_add_subdirectory_exclude_configure
140 PROPERTIES
141 FIXTURES_REQUIRED ${inst_setup}
142 FIXTURES_SETUP blast_asx_config)
143
144set_tests_properties(zlib_blast_add_subdirectory_exclude_build
145 PROPERTIES
146 FIXTURES_REQUIRED blast_asx_config)
147
148#
149# findpackage_no_components_test
150#
151add_test(
152 NAME zlib_blast_find_package_no_components_configure
153 COMMAND
154 ${CMAKE_COMMAND} ${PLATFORM}
155 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build
156 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
157 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
158 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
159 --fresh
160 -G "${CMAKE_GENERATOR}"
161 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test)
162
163set_tests_properties(
164 zlib_blast_find_package_no_components_configure
165 PROPERTIES
166 FIXTURES_REQUIRED ${inst_setup})
167
168if(NOT ZLIB_BLAST_BUILD_SHARED OR NOT ZLIB_BLAST_BUILD_STATIC)
169 set_tests_properties(zlib_blast_find_package_no_components_configure
170 PROPERTIES
171 WILL_FAIL TRUE)
172endif(NOT ZLIB_BLAST_BUILD_SHARED OR NOT ZLIB_BLAST_BUILD_STATIC)
173
174#
175# findpackage_no_components_test
176#
177add_test(
178 NAME zlib_blast_find_package_wrong_components_configure
179 COMMAND
180 ${CMAKE_COMMAND} ${PLATFORM}
181 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build
182 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
183 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
184 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
185 --fresh
186 -G "${CMAKE_GENERATOR}"
187 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test)
188
189set_tests_properties(zlib_blast_find_package_wrong_components_configure
190 PROPERTIES
191 FIXTURES_REQUIRED ${inst_setup}
192 WILL_FAIL TRUE)
193
diff --git a/contrib/blast/test/add_subdirectory_exclude_test.cmake.in b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in
new file mode 100644
index 0000000..fd6b487
--- /dev/null
+++ b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in
@@ -0,0 +1,27 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 blast_find_package
5 LANGUAGES C
6 VERSION @blast_VERSION@)
7
8option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10option(ZLIB_BLAST_BUILD_TESTING "" @ZLIB_BLAST_BUILD_TESTING@)
11
12add_subdirectory(@blast_SOURCE_DIR@
13 ${CMAKE_CURRENT_BINARY_DIR}/blast
14 EXCLUDE_FROM_ALL)
15
16set(BLAST_SRCS
17 @blast_SOURCE_DIR@/blast-test.c)
18
19if(ZLIB_BLAST_BUILD_SHARED)
20 add_executable(test_example ${BLAST_SRCS})
21 target_link_libraries(test_example BLAST::BLAST)
22endif(ZLIB_BLAST_BUILD_SHARED)
23
24if(ZLIB_BLAST_BUILD_STATIC)
25 add_executable(test_example_static ${BLAST_SRCS})
26 target_link_libraries(test_example_static BLAST::BLASTSTATIC)
27endif(ZLIB_BLAST_BUILD_STATIC)
diff --git a/contrib/blast/test/add_subdirectory_test.cmake.in b/contrib/blast/test/add_subdirectory_test.cmake.in
new file mode 100644
index 0000000..8b9370f
--- /dev/null
+++ b/contrib/blast/test/add_subdirectory_test.cmake.in
@@ -0,0 +1,25 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 blast_find_package
5 LANGUAGES C
6 VERSION @blast_VERSION@)
7
8option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10option(ZLIB_BLAST_BUILD_TESTING "" @ZLIB_BLAST_BUILD_TESTING@)
11
12add_subdirectory(@blast_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/blast)
13
14set(BLAST_SRCS
15 @blast_SOURCE_DIR@/blast-test.c)
16
17if(ZLIB_BLAST_BUILD_SHARED)
18 add_executable(test_example ${BLAST_SRCS})
19 target_link_libraries(test_example BLAST::BLAST)
20endif(ZLIB_BLAST_BUILD_SHARED)
21
22if(ZLIB_BLAST_BUILD_STATIC)
23 add_executable(test_example_static ${BLAST_SRCS})
24 target_link_libraries(test_example_static BLAST::BLASTSTATIC)
25endif(ZLIB_BLAST_BUILD_STATIC)
diff --git a/contrib/blast/test/find_package_no_components_test.cmake.in b/contrib/blast/test/find_package_no_components_test.cmake.in
new file mode 100644
index 0000000..f7054ff
--- /dev/null
+++ b/contrib/blast/test/find_package_no_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 blast_find_package
5 LANGUAGES C
6 VERSION @blast_VERSION@)
7
8option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(blast REQUIRED CONFIG)
12
13set(BLAST_SRCS
14 @blast_SOURCE_DIR@/blast-test.c)
15
16if(ZLIB_BLAST_BUILD_SHARED)
17 add_executable(test_example ${BLAST_SRCS})
18 target_link_libraries(test_example BLAST::BLAST)
19endif(ZLIB_BLAST_BUILD_SHARED)
20
21if(ZLIB_BLAST_BUILD_STATIC)
22 add_executable(test_example_static ${BLAST_SRCS})
23 target_link_libraries(test_example_static BLAST::BLASTSTATIC)
24endif(ZLIB_BLAST_BUILD_STATIC)
diff --git a/contrib/blast/test/find_package_test.cmake.in b/contrib/blast/test/find_package_test.cmake.in
new file mode 100644
index 0000000..c80e50b
--- /dev/null
+++ b/contrib/blast/test/find_package_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 blast_find_package
5 LANGUAGES C
6 VERSION @blast_VERSION@)
7
8option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11set(BLAST_SRCS
12 @blast_SOURCE_DIR@/blast-test.c)
13
14if(ZLIB_BLAST_BUILD_SHARED)
15 find_package(blast REQUIRED COMPONENTS shared CONFIG)
16 add_executable(test_example ${BLAST_SRCS})
17 target_link_libraries(test_example BLAST::BLAST)
18endif(ZLIB_BLAST_BUILD_SHARED)
19
20if(ZLIB_BLAST_BUILD_STATIC)
21 find_package(blast REQUIRED COMPONENTS static CONFIG)
22 add_executable(test_example_static ${BLAST_SRCS})
23 target_link_libraries(test_example_static BLAST::BLASTSTATIC)
24endif(ZLIB_BLAST_BUILD_STATIC)
diff --git a/contrib/blast/test/find_package_wrong_components_test.cmake.in b/contrib/blast/test/find_package_wrong_components_test.cmake.in
new file mode 100644
index 0000000..608f408
--- /dev/null
+++ b/contrib/blast/test/find_package_wrong_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 blast_find_package
5 LANGUAGES C
6 VERSION @blast_VERSION@)
7
8option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(blast REQUIRED COMPONENTS wrong CONFIG)
12
13set(BLAST_SRCS
14 @blast_SOURCE_DIR@/blast-test.c)
15
16if(ZLIB_BLAST_BUILD_SHARED)
17 add_executable(test_example ${BLAST_SRCS})
18 target_link_libraries(test_example BLAST::BLAST)
19endif(ZLIB_BLAST_BUILD_SHARED)
20
21if(ZLIB_BLAST_BUILD_STATIC)
22 add_executable(test_example_static ${BLAST_SRCS})
23 target_link_libraries(test_example_static BLAST::BLASTSTATIC)
24endif(ZLIB_BLAST_BUILD_STATIC)
diff --git a/contrib/iostream3/CMakeLists.txt b/contrib/iostream3/CMakeLists.txt
index 9c47c1c..33e5b71 100644
--- a/contrib/iostream3/CMakeLists.txt
+++ b/contrib/iostream3/CMakeLists.txt
@@ -111,6 +111,8 @@ if(ZLIB_IOSTREAM3_BUILD_TESTING)
111 set_tests_properties(zlib_iostream3_cleanup 111 set_tests_properties(zlib_iostream3_cleanup
112 PROPERTIES 112 PROPERTIES
113 FIXTURES_CLEANUP zlib_iostream3_cleanup) 113 FIXTURES_CLEANUP zlib_iostream3_cleanup)
114
115 add_subdirectory(test)
114endif(ZLIB_IOSTREAM3_BUILD_TESTING) 116endif(ZLIB_IOSTREAM3_BUILD_TESTING)
115 117
116if(ZLIB_IOSTREAM3_INSTALL) 118if(ZLIB_IOSTREAM3_INSTALL)
diff --git a/contrib/iostream3/iostream3Config.cmake.in b/contrib/iostream3/iostream3Config.cmake.in
new file mode 100644
index 0000000..a3db5e8
--- /dev/null
+++ b/contrib/iostream3/iostream3Config.cmake.in
@@ -0,0 +1,23 @@
1@PACKAGE_INIT@
2
3set(_iostreamv3_supported_components "shared" "static")
4include(CMakeFindDependencyMacro)
5
6if(iostreamv3_FIND_COMPONENTS)
7 find_dependency(ZLIB CONFIG COMPONENTS ${iostreamv3_FIND_COMPONENTS})
8
9 foreach(_comp ${iostreamv3_FIND_COMPONENTS})
10 if(NOT _comp IN_LIST _iostreamv3_supported_components)
11 set(iostreamv3_FOUND False)
12 set(iostreamv3_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
13 endif(NOT _comp IN_LIST _iostreamv3_supported_components)
14
15 include("${CMAKE_CURRENT_LIST_DIR}/iostreamv3-${_comp}.cmake")
16 endforeach(_comp ${iostreamv3_FIND_COMPONENTS})
17else(iostream3_FIND_COMPONENTS)
18 find_dependency(ZLIB CONFIG)
19
20 foreach(_component_config IN LISTS _iostreamv3_supported_components)
21 include("${CMAKE_CURRENT_LIST_DIR}/iostreamv3-${_component_config}.cmake")
22 endforeach(_component_config IN LISTS _iostreamv3_supported_components)
23endif(iostreamv3_FIND_COMPONENTS)
diff --git a/contrib/iostream3/test/CMakeLists.txt b/contrib/iostream3/test/CMakeLists.txt
new file mode 100644
index 0000000..f8b2b51
--- /dev/null
+++ b/contrib/iostream3/test/CMakeLists.txt
@@ -0,0 +1,191 @@
1# if we are built from with zlib, use this path's)
2if(DEFINED ZLIB_BUILD_SHARED)
3 set(WORK_DIR ${zlib_BINARY_DIR})
4 set(inst_setup zlib_iostream3_install)
5else(DEFINED ZLIB_BUILD_SHARED)
6 set(WORK_DIR ${iostreamV3_BINARY_DIR})
7 set(inst_setup zlib_iostream3_install)
8 set(ZLIB_ARG "-DZLIB_DIR=${ZLIB_DIR}")
9
10 add_test(
11 NAME zlib_iostream3_install
12 COMMAND ${CMAKE_COMMAND} --install ${minizip_BINARY_DIR} --prefix
13 ${CMAKE_CURRENT_BINARY_DIR}/test_install --config $<CONFIG>
14 WORKING_DIRECTORY ${iostreamV3_BINARY_DIR})
15
16 set_tests_properties(zlib_iostream3_install
17 PROPERTIES
18 FIXTURES_SETUP zlib_iostream3_install)
19endif(DEFINED ZLIB_BUILD_SHARED)
20
21file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
22file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
23file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
24
25configure_file(
26 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
27 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY)
28
29configure_file(
30 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in
31 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY)
32
33configure_file(
34 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in
35 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt
36 @ONLY)
37
38configure_file(
39 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in
40 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt
41 @ONLY)
42
43configure_file(
44 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in
45 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt
46 @ONLY)
47
48# CMAKE_GENERATOR_PLATFORM doesn't work in the if
49set(GENERATOR ${CMAKE_GENERATOR_PLATFORM})
50
51if(GENERATOR)
52 set(PLATFORM "-A ${GENERATOR}")
53endif(GENERATOR)
54
55#
56# findpackage_test
57#
58add_test(
59 NAME zlib_iostream3_find_package_configure
60 COMMAND
61 ${CMAKE_COMMAND}
62 ${PLATFORM}
63 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
64 -DCMAKE_BUILD_TYPE=$<CONFIG>
65 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
66 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
67 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
68 --fresh
69 -G "${CMAKE_GENERATOR}"
70 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
71
72add_test(
73 NAME zlib_iostream3_find_package_build
74 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
75 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
76
77set_tests_properties(zlib_iostream3_find_package_configure
78 PROPERTIES
79 FIXTURES_REQUIRED ${inst_setup}
80 FIXTURES_SETUP iostream3_fp_config)
81
82set_tests_properties(zlib_iostream3_find_package_build
83 PROPERTIES
84 FIXTURES_REQUIRED iostream3_fp_config)
85
86#
87# add_subdirectory_test
88#
89add_test(
90 NAME zlib_iostream3_add_subdirectory_configure
91 COMMAND
92 ${CMAKE_COMMAND}
93 ${PLATFORM}
94 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build
95 -DCMAKE_BUILD_TYPE=$<CONFIG>
96 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
97 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
98 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install
99 ${ZLIB_ARG}
100 --fresh
101 -G "${CMAKE_GENERATOR}"
102 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
103
104add_test(
105 NAME zlib_iostream3_add_subdirectory_build
106 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
107 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build)
108
109set_tests_properties(zlib_iostream3_add_subdirectory_configure
110 PROPERTIES
111 FIXTURES_REQUIRED ${inst_setup}
112 FIXTURES_SETUP iostream3as_config)
113
114set_tests_properties(zlib_iostream3_add_subdirectory_build
115 PROPERTIES
116 FIXTURES_REQUIRED iostream3_as_config)
117
118#
119# add_subdirectory_exclude_test
120#
121add_test(
122 NAME zlib_iostream3_add_subdirectory_exclude_configure
123 COMMAND
124 ${CMAKE_COMMAND} ${PLATFORM}
125 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build
126 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
127 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
128 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
129 --fresh
130 -G "${CMAKE_GENERATOR}"
131 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
132
133add_test(
134 NAME zlib_iostream3_add_subdirectory_exclude_build
135 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
136 WORKING_DIRECTORY
137 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build)
138
139set_tests_properties(zlib_iostream3_add_subdirectory_exclude_configure
140 PROPERTIES
141 FIXTURES_REQUIRED ${inst_setup}
142 FIXTURES_SETUP iostream3_asx_config)
143
144set_tests_properties(zlib_iostream3_add_subdirectory_exclude_build
145 PROPERTIES
146 FIXTURES_REQUIRED iostream3_asx_config)
147
148#
149# findpackage_no_components_test
150#
151add_test(
152 NAME zlib_iostream3_find_package_no_components_configure
153 COMMAND
154 ${CMAKE_COMMAND} ${PLATFORM}
155 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build
156 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
157 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
158 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
159 --fresh
160 -G "${CMAKE_GENERATOR}"
161 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test)
162
163set_tests_properties(zlib_iostream3_find_package_no_components_configure
164 PROPERTIES
165 FIXTURES_REQUIRED ${inst_setup})
166
167if(NOT ZLIB_IOSTREAM3_BUILD_SHARED OR NOT ZLIB_IOSTREAM3_BUILD_STATIC)
168 set_tests_properties(zlib_iostream3_find_package_no_components_configure
169 PROPERTIES
170 WILL_FAIL TRUE)
171endif(NOT ZLIB_IOSTREAM3_BUILD_SHARED OR NOT ZLIB_IOSTREAM3_BUILD_STATIC)
172
173#
174# findpackage_no_components_test
175#
176add_test(
177 NAME zlib_iostream3_find_package_wrong_components_configure
178 COMMAND
179 ${CMAKE_COMMAND} ${PLATFORM}
180 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build
181 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
182 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
183 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
184 --fresh
185 -G "${CMAKE_GENERATOR}"
186 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test)
187
188set_tests_properties(zlib_iostream3_find_package_wrong_components_configure
189 PROPERTIES
190 FIXTURES_REQUIRED ${inst_setup}
191 WILL_FAIL TRUE)
diff --git a/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in b/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in
new file mode 100644
index 0000000..efc9cd8
--- /dev/null
+++ b/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in
@@ -0,0 +1,27 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 iostream_add_subdirectory_exclude
5 LANGUAGES CXX
6 VERSION @iostreamV3_VERSION@)
7
8option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_IOSTREAM3_BUILD_SHARED@)
9option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_IOSTREAM3_BUILD_STATIC@)
10option(ZLIB_IOSTREAM3_BUILD_TESTING "" OFF)
11
12add_subdirectory(@iostreamV3_SOURCE_DIR@
13 ${CMAKE_CURRENT_BINARY_DIR}/iostream3
14 EXCLUDE_FROM_ALL)
15
16set(IOSTREAM_SRCS
17 @iostreamV3_SOURCE_DIR@/test.cc)
18
19if(ZLIB_IOSTREAM3_BUILD_SHARED)
20 add_executable(test_example ${IOSTREAM_SRCS})
21 target_link_libraries(test_example IOSTREAMV3::IOSTREAMV3)
22endif(ZLIB_IOSTREAM3_BUILD_SHARED)
23
24if(ZLIB_IOSTREAM3_BUILD_STATIC)
25 add_executable(test_example_static ${IOSTREAM_SRCS})
26 target_link_libraries(test_example_static IOSTREAMV3::IOSTREAMV3STATIC)
27endif(ZLIB_IOSTREAM3_BUILD_STATIC)
diff --git a/contrib/iostream3/test/add_subdirectory_test.cmake.in b/contrib/iostream3/test/add_subdirectory_test.cmake.in
new file mode 100644
index 0000000..5eed2cc
--- /dev/null
+++ b/contrib/iostream3/test/add_subdirectory_test.cmake.in
@@ -0,0 +1,25 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 iostream_add_subdirectory
5 LANGUAGES CXX
6 VERSION @iostreamV3_VERSION@)
7
8option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10option(ZLIB_IOSTREAM3_BUILD_TESTING "" OFF)
11
12add_subdirectory(@iostreamV3_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/iostream3)
13
14set(IOSTREAM_SRCS
15 @iostreamV3_SOURCE_DIR@/test.cc)
16
17if(ZLIB_IOSTREAM3_BUILD_SHARED)
18 add_executable(test_example ${IOSTREAM_SRCS})
19 target_link_libraries(test_example IOSTREAMV3::IOSTREAMV3)
20endif(ZLIB_IOSTREAM3_BUILD_SHARED)
21
22if(ZLIB_IOSTREAM3_BUILD_STATIC)
23 add_executable(test_example_static ${IOSTREAM_SRCS})
24 target_link_libraries(test_example_static IOSTREAMV3::IOSTREAMV3STATIC)
25endif(ZLIB_IOSTREAM3_BUILD_STATIC)
diff --git a/contrib/iostream3/test/find_package_no_components_test.cmake.in b/contrib/iostream3/test/find_package_no_components_test.cmake.in
new file mode 100644
index 0000000..4daf76e
--- /dev/null
+++ b/contrib/iostream3/test/find_package_no_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 iostream_find_package_no_components
5 LANGUAGES CXX
6 VERSION @iostreamV3_VERSION@)
7
8option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(iostreamv3 REQUIRED CONFIG)
12
13set(IOSTREAM_SRCS
14 @iostreamV3_SOURCE_DIR@/test.cc)
15
16if(ZLIB_IOSTREAM3_BUILD_SHARED)
17 add_executable(test_example ${IOSTREAM_SRCS})
18 target_link_libraries(test_example IOSTREAMV3::IOSTREAMV3)
19endif(ZLIB_IOSTREAM3_BUILD_SHARED)
20
21if(ZLIB_IOSTREAM3_BUILD_STATIC)
22 add_executable(test_example_static ${IOSTREAM_SRCS})
23 target_link_libraries(test_example_static IOSTREAMV3::IOSTREAMV3STATIC)
24endif(ZLIB_IOSTREAM3_BUILD_STATIC)
diff --git a/contrib/iostream3/test/find_package_test.cmake.in b/contrib/iostream3/test/find_package_test.cmake.in
new file mode 100644
index 0000000..08abe56
--- /dev/null
+++ b/contrib/iostream3/test/find_package_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 iostream_find_package
5 LANGUAGES CXX
6 VERSION @iostreamV3_VERSION@)
7
8option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11set(IOSTREAM_SRCS
12 @iostreamV3_SOURCE_DIR@/test.cc)
13
14if(ZLIB_IOSTREAM_BUILD_SHARED)
15 find_package(iostreamv3 REQUIRED COMPONENTS shared CONFIG)
16 add_executable(test_example ${IOSTREAM_SRCS})
17 target_link_libraries(test_example IOSTREAMV3::IOSTREAMV3)
18endif(ZLIB_IOSTREAM_BUILD_SHARED)
19
20if(ZLIB_IOSTREAM_BUILD_STATIC)
21 find_package(iostreamv3 REQUIRED COMPONENTS static CONFIG)
22 add_executable(test_example_static ${IOSTREAM_SRCS})
23 target_link_libraries(test_example_static IOSTREAMV3::IOSTREAMV3STATIC)
24endif(ZLIB_IOSTREAM_BUILD_STATIC)
diff --git a/contrib/iostream3/test/find_package_wrong_components_test.cmake.in b/contrib/iostream3/test/find_package_wrong_components_test.cmake.in
new file mode 100644
index 0000000..83435a8
--- /dev/null
+++ b/contrib/iostream3/test/find_package_wrong_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 iostream_find_package
5 LANGUAGES CXX
6 VERSION @iostreamV3_VERSION@)
7
8option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(iostreamv3 REQUIRED COMPONENTS wrongCONFIG)
12
13set(IOSTREAM_SRCS
14 @iostreamV3_SOURCE_DIR@/test.cc)
15
16if(ZLIB_IOSTREAM_BUILD_SHARED)
17 add_executable(test_example ${IOSTREAM_SRCS})
18 target_link_libraries(test_example IOSTREAMV3::IOSTREAMV3)
19endif(ZLIB_IOSTREAM_BUILD_SHARED)
20
21if(ZLIB_IOSTREAM_BUILD_STATIC)
22 add_executable(test_example_static ${PUFF_SRCS})
23 target_link_libraries(test_example_static IOSTREAMV3::IOSTREAMV3STATIC)
24endif(ZLIB_IOSTREAM_BUILD_STATIC)
diff --git a/contrib/puff/CMakeLists.txt b/contrib/puff/CMakeLists.txt
index ca95830..72a4c6d 100644
--- a/contrib/puff/CMakeLists.txt
+++ b/contrib/puff/CMakeLists.txt
@@ -59,6 +59,8 @@ if(ZLIB_PUFF_BUILD_TESTING)
59 endif(${CMAKE_C_COMPILER_ID} STREQUAL "Clang") 59 endif(${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
60 endif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR 60 endif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR
61 ${CMAKE_C_COMPILER_ID} STREQUAL "Clang") 61 ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
62
63 add_subdirectory(test)
62endif(ZLIB_PUFF_BUILD_TESTING) 64endif(ZLIB_PUFF_BUILD_TESTING)
63 65
64if(ZLIB_PUFF_BUILD_SHARED) 66if(ZLIB_PUFF_BUILD_SHARED)
diff --git a/contrib/puff/puffConfig.cmake.in b/contrib/puff/puffConfig.cmake.in
new file mode 100644
index 0000000..227f988
--- /dev/null
+++ b/contrib/puff/puffConfig.cmake.in
@@ -0,0 +1,18 @@
1@PACKAGE_INIT@
2
3set(_puff_supported_components "shared" "static")
4
5if(puff_FIND_COMPONENTS)
6 foreach(_comp ${puff_FIND_COMPONENTS})
7 if(NOT _comp IN_LIST _puff_supported_components)
8 set(puff_FOUND False)
9 set(puff_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}")
10 endif(NOT _comp IN_LIST _puff_supported_components)
11
12 include("${CMAKE_CURRENT_LIST_DIR}/puff-${_comp}.cmake")
13 endforeach(_comp ${puff_FIND_COMPONENTS})
14else(puff_FIND_COMPONENTS)
15 foreach(_component_config IN LISTS _puff_supported_components)
16 include("${CMAKE_CURRENT_LIST_DIR}/puff-${_component_config}.cmake")
17 endforeach(_component_config IN LISTS _puff_supported_components)
18endif(puff_FIND_COMPONENTS)
diff --git a/contrib/puff/test/CMakeLists.txt b/contrib/puff/test/CMakeLists.txt
new file mode 100644
index 0000000..1ed39de
--- /dev/null
+++ b/contrib/puff/test/CMakeLists.txt
@@ -0,0 +1,191 @@
1# if we are built from with zlib, use this path's)
2if(DEFINED ZLIB_BUILD_SHARED)
3 set(WORK_DIR ${zlib_BINARY_DIR})
4 set(inst_setup zlib_puff_install)
5else(DEFINED ZLIB_BUILD_SHARED)
6 set(WORK_DIR ${puff_BINARY_DIR})
7 set(inst_setup zlib_puff_install)
8 set(ZLIB_ARG "-DZLIB_DIR=${ZLIB_DIR}")
9
10 add_test(
11 NAME zlib_puff_install
12 COMMAND ${CMAKE_COMMAND} --install ${puff_BINARY_DIR} --prefix
13 ${CMAKE_CURRENT_BINARY_DIR}/test_install --config $<CONFIG>
14 WORKING_DIRECTORY ${puff_BINARY_DIR})
15
16 set_tests_properties(zlib_puff_install
17 PROPERTIES
18 FIXTURES_SETUP zlib_puff_install)
19endif(DEFINED ZLIB_BUILD_SHARED)
20
21file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
22file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
23file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
24
25configure_file(
26 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
27 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY)
28
29configure_file(
30 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in
31 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY)
32
33configure_file(
34 ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in
35 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt
36 @ONLY)
37
38configure_file(
39 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in
40 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt
41 @ONLY)
42
43configure_file(
44 ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in
45 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt
46 @ONLY)
47
48# CMAKE_GENERATOR_PLATFORM doesn't work in the if
49set(GENERATOR ${CMAKE_GENERATOR_PLATFORM})
50
51if(GENERATOR)
52 set(PLATFORM "-A ${GENERATOR}")
53endif(GENERATOR)
54
55#
56# findpackage_test
57#
58add_test(
59 NAME zlib_puff_find_package_configure
60 COMMAND
61 ${CMAKE_COMMAND}
62 ${PLATFORM}
63 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
64 -DCMAKE_BUILD_TYPE=$<CONFIG>
65 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
66 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
67 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install
68 ${ZLIB_ARG}
69 --fresh
70 -G "${CMAKE_GENERATOR}"
71 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
72
73add_test(
74 NAME zlib_puff_find_package_build
75 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
76 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
77
78set_tests_properties(zlib_puff_find_package_configure
79 PROPERTIES
80 FIXTURES_REQUIRED ${inst_setup}
81 FIXTURES_SETUP puff_fp_config)
82
83set_tests_properties(zlib_puff_find_package_build
84 PROPERTIES
85 FIXTURES_REQUIRED puff_fp_config)
86
87#
88# add_subdirectory_test
89#
90add_test(
91 NAME zlib_puff_add_subdirectory_configure
92 COMMAND
93 ${CMAKE_COMMAND} ${PLATFORM}
94 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build
95 -DCMAKE_BUILD_TYPE=$<CONFIG>
96 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
97 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
98 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
99 --fresh
100 -G "${CMAKE_GENERATOR}"
101 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
102
103add_test(
104 NAME zlib_puff_add_subdirectory_build
105 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
106 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build)
107
108set_tests_properties(zlib_puff_add_subdirectory_configure
109 PROPERTIES
110 FIXTURES_REQUIRED ${inst_setup}
111 FIXTURES_SETUP puiff_as_config)
112
113set_tests_properties(zlib_puff_add_subdirectory_build
114 PROPERTIES
115 FIXTURES_REQUIRED puff_as_config)
116
117#
118# add_subdirectory_exclude_test
119#
120add_test(
121 NAME zlib_puff_add_subdirectory_exclude_configure
122 COMMAND
123 ${CMAKE_COMMAND} ${PLATFORM}
124 -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build
125 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
126 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
127 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
128 --fresh
129 -G "${CMAKE_GENERATOR}"
130 -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
131
132add_test(
133 NAME zlib_puff_add_subdirectory_exclude_build
134 COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
135 WORKING_DIRECTORY
136 ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build)
137
138set_tests_properties(zlib_puff_add_subdirectory_exclude_configure
139 PROPERTIES
140 FIXTURES_REQUIRED ${inst_setup}
141 FIXTURES_SETUP puff_asx_config)
142
143set_tests_properties(zlib_puff_add_subdirectory_exclude_build
144 PROPERTIES
145 FIXTURES_REQUIRED puff_asx_config)
146
147#
148# findpackage_no_components_test
149#
150add_test(
151 NAME zlib_puff_find_package_no_components_configure
152 COMMAND
153 ${CMAKE_COMMAND} ${PLATFORM}
154 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build
155 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
156 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
157 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
158 --fresh
159 -G "${CMAKE_GENERATOR}"
160 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test)
161
162set_tests_properties(
163 zlib_puff_find_package_no_components_configure
164 PROPERTIES
165 FIXTURES_REQUIRED ${inst_setup})
166
167if(NOT ZLIB_PUFF_BUILD_SHARED OR NOT ZLIB_PUFF_BUILD_STATIC)
168 set_tests_properties(zlib_puff_find_package_no_components_configure
169 PROPERTIES
170 WILL_FAIL TRUE)
171endif(NOT ZLIB_PUFF_BUILD_SHARED OR NOT ZLIB_PUFF_BUILD_STATIC)
172
173#
174# findpackage_no_components_test
175#
176add_test(
177 NAME zlib_puff_find_package_wrong_components_configure
178 COMMAND
179 ${CMAKE_COMMAND} ${PLATFORM}
180 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build
181 -DCMAKE_BUILD_TYPE=$<CONFIG> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
182 -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
183 -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG}
184 --fresh
185 -G "${CMAKE_GENERATOR}"
186 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test)
187
188set_tests_properties(zlib_puff_find_package_wrong_components_configure
189 PROPERTIES
190 FIXTURES_REQUIRED ${inst_setup}
191 WILL_FAIL TRUE)
diff --git a/contrib/puff/test/add_subdirectory_exclude_test.cmake.in b/contrib/puff/test/add_subdirectory_exclude_test.cmake.in
new file mode 100644
index 0000000..0e24c01
--- /dev/null
+++ b/contrib/puff/test/add_subdirectory_exclude_test.cmake.in
@@ -0,0 +1,26 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 zlib_puff_add_subdirectory_exclude_from_all
5 LANGUAGES C
6 VERSION @puff_VERSION@)
7
8option(ZLIB_PUFF_BUILD_TESTING "" OFF)
9option(ZLIB_PUFF_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
10option(ZLIB_PUFF_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
11
12add_subdirectory(@puff_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/puff
13 EXCLUDE_FROM_ALL)
14
15set(PUFF_SRCS
16 @puff_SOURCE_DIR@/pufftest.c)
17
18if(ZLIB_PUFF_BUILD_SHARED)
19 add_executable(test_example ${PUFF_SRCS})
20 target_link_libraries(test_example PUFF::PUFF)
21endif(ZLIB_PUFF_BUILD_SHARED)
22
23if(ZLIB_PUFF_BUILD_STATIC)
24 add_executable(test_example_static ${PUFF_SRCS})
25 target_link_libraries(test_example_static PUFF::PUFFSTATIC)
26endif(ZLIB_PUFF_BUILD_STATIC)
diff --git a/contrib/puff/test/add_subdirectory_test.cmake.in b/contrib/puff/test/add_subdirectory_test.cmake.in
new file mode 100644
index 0000000..8e7e47b
--- /dev/null
+++ b/contrib/puff/test/add_subdirectory_test.cmake.in
@@ -0,0 +1,25 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 zlib_puff_add_subdirectory
5 LANGUAGES C
6 VERSION @puff_VERSION@)
7
8option(ZLIB_PUFF_BUILD_TESTING "" OFF)
9option(ZLIB_PUFF_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
10option(ZLIB_PUFF_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
11
12add_subdirectory(@puff_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/puff)
13
14set(PUFF_SRCS
15 @puff_SOURCE_DIR@/pufftest.c)
16
17if(ZLIB_PUFF_BUILD_SHARED)
18 add_executable(test_example ${PUFF_SRCS})
19 target_link_libraries(test_example PUFF::PUFF)
20endif(ZLIB_PUFF_BUILD_SHARED)
21
22if(ZLIB_PUFF_BUILD_STATIC)
23 add_executable(test_example_static ${PUFF_SRCS})
24 target_link_libraries(test_example_static PUFF::PUFFSTATIC)
25endif(ZLIB_PUFF_BUILD_STATIC)
diff --git a/contrib/puff/test/find_package_no_components_test.cmake.in b/contrib/puff/test/find_package_no_components_test.cmake.in
new file mode 100644
index 0000000..2040bfd
--- /dev/null
+++ b/contrib/puff/test/find_package_no_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 puff_find_package
5 LANGUAGES C
6 VERSION @puff_VERSION@)
7
8option(ZLIB_PUFF_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_PUFF_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(puff REQUIRED CONFIG)
12
13set(PUFF_SRCS
14 @puff_SOURCE_DIR@/pufftest.c)
15
16if(ZLIB_PUFF_BUILD_SHARED)
17 add_executable(test_example ${PUFF_SRCS})
18 target_link_libraries(test_example PUFF::PUFF)
19endif(ZLIB_PUFF_BUILD_SHARED)
20
21if(ZLIB_PUFF_BUILD_STATIC)
22 add_executable(test_example_static ${PUFF_SRCS})
23 target_link_libraries(test_example_static PUFF::PUFFSTATIC)
24endif(ZLIB_PUFF_BUILD_STATIC)
diff --git a/contrib/puff/test/find_package_test.cmake.in b/contrib/puff/test/find_package_test.cmake.in
new file mode 100644
index 0000000..e8a0cef
--- /dev/null
+++ b/contrib/puff/test/find_package_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 puff_find_package
5 LANGUAGES C
6 VERSION @puff_VERSION@)
7
8option(ZLIB_PUFF_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_PUFF_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11set(PUFF_SRCS
12 @puff_SOURCE_DIR@/pufftest.c)
13
14if(ZLIB_PUFF_BUILD_SHARED)
15 find_package(puff REQUIRED COMPONENTS shared CONFIG)
16 add_executable(test_example ${PUFF_SRCS})
17 target_link_libraries(test_example PUFF::PUFF)
18endif(ZLIB_PUFF_BUILD_SHARED)
19
20if(ZLIB_PUFF_BUILD_STATIC)
21 find_package(puff REQUIRED COMPONENTS static CONFIG)
22 add_executable(test_example_static ${PUFF_SRCS})
23 target_link_libraries(test_example_static PUFF::PUFFSTATIC)
24endif(ZLIB_PUFF_BUILD_STATIC)
diff --git a/contrib/puff/test/find_package_wrong_components_test.cmake.in b/contrib/puff/test/find_package_wrong_components_test.cmake.in
new file mode 100644
index 0000000..a5cd497
--- /dev/null
+++ b/contrib/puff/test/find_package_wrong_components_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3project(
4 puff_find_package
5 LANGUAGES C
6 VERSION @puff_VERSION@)
7
8option(ZLIB_PUFF_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@)
9option(ZLIB_PUFF_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@)
10
11find_package(puff REQUIRED COMPONENTS wrong CONFIG)
12
13set(PUFF_SRCS
14 @puff_SOURCE_DIR@/pufftest.c)
15
16if(ZLIB_PUFF_BUILD_SHARED)
17 add_executable(test_example ${PUFF_SRCS})
18 target_link_libraries(test_example PUFF::PUFF)
19endif(ZLIB_PUFF_BUILD_SHARED)
20
21if(ZLIB_PUFF_BUILD_STATIC)
22 add_executable(test_example_static ${PUFF_SRCS})
23 target_link_libraries(test_example_static PUFF::PUFFSTATIC)
24endif(ZLIB_PUFF_BUILD_STATIC)