CMake: Add test for usage with find_package.

pull/1039/head
Vollstrecker 3 months ago committed by Mark Adler
parent a794225144
commit 7dc2b78206
  1. 2
      CMakeLists.txt
  2. 44
      test/CMakeLists.txt
  3. 24
      test/find_package_test.cmake.in

@ -242,4 +242,6 @@ if(ZLIB_BUILD_TESTING)
target_compile_definitions(minigzip64 PRIVATE LARGEFILE64_SOURCE=1)
target_link_libraries(minigzip64 ZLIB::ZLIB)
endif(HAVE_OFF64_T)
add_subdirectory(test)
endif(ZLIB_BUILD_TESTING)

@ -0,0 +1,44 @@
add_test(NAME zlib_test_install
COMMAND ${CMAKE_COMMAND} --install ${zlib_BINARY_DIR}
--prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install
--config $<CONFIG>
WORKING_DIRECTORY ${zlib_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt)
add_test(NAME zlib_test_configure_find_package
COMMAND ${CMAKE_COMMAND}
-B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
-DCMAKE_BUILD_TYPE=$<CONFIG>
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install
-DZDIR=${CMAKE_CURRENT_BINARY_DIR}/test_install/${CMAKE_INSTALL_LIBDIR}
--fresh
-G "${CMAKE_GENERATOR}"
-S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
add_test(NAME zlib_test_build_find_package
COMMAND ${CMAKE_COMMAND} --build
${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
add_test(NAME zlib_test_test_find_package
COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build)
set_tests_properties(zlib_test_install PROPERTIES
FIXTURES_SETUP install)
set_tests_properties(zlib_test_configure_find_package PROPERTIES
FIXTURES_REQUIRED install
FIXTURES_SETUP config)
set_tests_properties(zlib_test_build_find_package PROPERTIES
FIXTURES_REQUIRED config
FIXTURES_SETUP build)
set_tests_properties(zlib_test_test_find_package PROPERTIES
FIXTURES_REQUIRED build)

@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.5)
project(zlib_find_package_test
LANGUAGES C
VERSION 1.3.1.1)
enable_testing()
find_package(zlib CONFIG REQUIRED)
if(${ZLIB_BUILD_SHARED})
add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c)
target_link_libraries(test_example ZLIB::ZLIB)
if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll")
add_test(NAME zlib_test_example_shared COMMAND test_example)
endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll")
endif(${ZLIB_BUILD_SHARED})
if(${ZLIB_BUILD_STATIC})
add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c)
target_link_libraries(test_example_static ZLIB::ZLIBSTATIC)
add_test(NAME zlib_test_example_static
COMMAND test_example_static)
endif(${ZLIB_BUILD_STATIC})
Loading…
Cancel
Save