aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt44
-rw-r--r--test/find_package_test.cmake.in24
2 files changed, 68 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000..4758230
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,44 @@
1add_test(NAME zlib_test_install
2 COMMAND ${CMAKE_COMMAND} --install ${zlib_BINARY_DIR}
3 --prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install
4 --config $<CONFIG>
5 WORKING_DIRECTORY ${zlib_BINARY_DIR})
6
7file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
8
9configure_file(${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
10 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt)
11
12add_test(NAME zlib_test_configure_find_package
13 COMMAND ${CMAKE_COMMAND}
14 -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
15 -DCMAKE_BUILD_TYPE=$<CONFIG>
16 -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install
17 -DZDIR=${CMAKE_CURRENT_BINARY_DIR}/test_install/${CMAKE_INSTALL_LIBDIR}
18 --fresh
19 -G "${CMAKE_GENERATOR}"
20 -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
21
22
23add_test(NAME zlib_test_build_find_package
24 COMMAND ${CMAKE_COMMAND} --build
25 ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
26 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
27
28add_test(NAME zlib_test_test_find_package
29 COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
30 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
31
32set_tests_properties(zlib_test_install PROPERTIES
33 FIXTURES_SETUP install)
34
35set_tests_properties(zlib_test_configure_find_package PROPERTIES
36 FIXTURES_REQUIRED install
37 FIXTURES_SETUP config)
38
39set_tests_properties(zlib_test_build_find_package PROPERTIES
40 FIXTURES_REQUIRED config
41 FIXTURES_SETUP build)
42
43set_tests_properties(zlib_test_test_find_package PROPERTIES
44 FIXTURES_REQUIRED build)
diff --git a/test/find_package_test.cmake.in b/test/find_package_test.cmake.in
new file mode 100644
index 0000000..c1c11d0
--- /dev/null
+++ b/test/find_package_test.cmake.in
@@ -0,0 +1,24 @@
1cmake_minimum_required(VERSION 3.5)
2
3project(zlib_find_package_test
4 LANGUAGES C
5 VERSION 1.3.1.1)
6
7enable_testing()
8find_package(zlib CONFIG REQUIRED)
9
10if(${ZLIB_BUILD_SHARED})
11 add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c)
12 target_link_libraries(test_example ZLIB::ZLIB)
13
14 if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll")
15 add_test(NAME zlib_test_example_shared COMMAND test_example)
16 endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll")
17endif(${ZLIB_BUILD_SHARED})
18
19if(${ZLIB_BUILD_STATIC})
20 add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c)
21 target_link_libraries(test_example_static ZLIB::ZLIBSTATIC)
22 add_test(NAME zlib_test_example_static
23 COMMAND test_example_static)
24endif(${ZLIB_BUILD_STATIC})