From e843c631d6c677bb8585c31b0b960d281cfc42bc Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Mon, 30 Dec 2024 11:14:36 +0100 Subject: CMake: Refine tests. --- test/CMakeLists.txt | 48 +++++++++++++++-------------- test/add_subdirectory_exclude_test.cmake.in | 21 +++++++------ test/add_subdirectory_test.cmake.in | 21 +++++++------ test/find_package_test.cmake.in | 18 ++++++----- 4 files changed, 59 insertions(+), 49 deletions(-) (limited to 'test') diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1f399f4..b03d23e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -121,18 +121,21 @@ set_tests_properties(zlib_install FIXTURES_SETUP zlib_install) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt) + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt + @ONLY) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test/CMakeLists.txt) + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt + @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt) + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt + @ONLY) # CMAKE_GENERATOR_PLATFORM doesn't work in the if set(GENERATOR ${CMAKE_GENERATOR_PLATFORM}) @@ -143,7 +146,7 @@ endif(GENERATOR) # # findpackage_test # -add_test(NAME zlib_configure_find_package +add_test(NAME zlib_find_package_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build @@ -151,36 +154,35 @@ add_test(NAME zlib_configure_find_package -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -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_build_find_package +add_test(NAME zlib_find_package_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) -add_test(NAME zlib_test_find_package +add_test(NAME zlib_find_package_test COMMAND ${CMAKE_CTEST_COMMAND} -C $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) -set_tests_properties(zlib_configure_find_package PROPERTIES +set_tests_properties(zlib_find_package_configure PROPERTIES FIXTURES_REQUIRED zlib_install FIXTURES_SETUP fp_config) -set_tests_properties(zlib_build_find_package PROPERTIES +set_tests_properties(zlib_find_package_build PROPERTIES FIXTURES_REQUIRED fp_config FIXTURES_SETUP fp_build) -set_tests_properties(zlib_test_find_package PROPERTIES +set_tests_properties(zlib_find_package_test PROPERTIES FIXTURES_REQUIRED fp_build ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) # # add_subdirectory_test # -add_test(NAME zlib_configure_add_subdirectory +add_test(NAME zlib_add_subdirectory_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build @@ -192,31 +194,31 @@ add_test(NAME zlib_configure_add_subdirectory -G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) -add_test(NAME zlib_build_add_subdirectory +add_test(NAME zlib_add_subdirectory_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) -add_test(NAME zlib_test_add_subdirectory +add_test(NAME zlib_add_subdirectory_test COMMAND ${CMAKE_CTEST_COMMAND} -C $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) -set_tests_properties(zlib_configure_add_subdirectory PROPERTIES +set_tests_properties(zlib_add_subdirectory_configure PROPERTIES FIXTURES_REQUIRED zlib_install FIXTURES_SETUP as_config) -set_tests_properties(zlib_build_add_subdirectory PROPERTIES +set_tests_properties(zlib_add_subdirectory_build PROPERTIES FIXTURES_REQUIRED as_config FIXTURES_SETUP as_build) -set_tests_properties(zlib_test_add_subdirectory PROPERTIES +set_tests_properties(zlib_add_subdirectory_test PROPERTIES FIXTURES_REQUIRED as_build ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) # # add_subdirectory_exclude_test # -add_test(NAME zlib_configure_add_subdirectory_exclude +add_test(NAME zlib_add_subdirectory_exclude_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build @@ -228,23 +230,23 @@ add_test(NAME zlib_configure_add_subdirectory_exclude -G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) -add_test(NAME zlib_build_add_subdirectory_exclude +add_test(NAME zlib_add_subdirectory_exclude_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) -add_test(NAME zlib_test_add_subdirectory_exclude +add_test(NAME zlib_add_subdirectory_exclude_test COMMAND ${CMAKE_CTEST_COMMAND} -C $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) -set_tests_properties(zlib_configure_add_subdirectory_exclude PROPERTIES +set_tests_properties(zlib_add_subdirectory_exclude_configure PROPERTIES FIXTURES_REQUIRED zlib_install FIXTURES_SETUP asx_config) -set_tests_properties(zlib_build_add_subdirectory_exclude PROPERTIES +set_tests_properties(zlib_add_subdirectory_exclude_build PROPERTIES FIXTURES_REQUIRED as_config FIXTURES_SETUP asx_build) -set_tests_properties(zlib_test_add_subdirectory_exclude PROPERTIES +set_tests_properties(zlib_add_subdirectory_exclude_test PROPERTIES FIXTURES_REQUIRED asx_build ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) diff --git a/test/add_subdirectory_exclude_test.cmake.in b/test/add_subdirectory_exclude_test.cmake.in index 9516546..c751a7a 100644 --- a/test/add_subdirectory_exclude_test.cmake.in +++ b/test/add_subdirectory_exclude_test.cmake.in @@ -2,24 +2,27 @@ cmake_minimum_required(VERSION 3.10) project(zlib_find_package_test LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @zlib_VERSION@) enable_testing() -set(ZLIB_BUILD_TESTING OFF) -add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL) +option(ZLIB_BUILD_TESTING "" OFF) +option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) +option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) +add_subdirectory(@zlib_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL) + +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}) +endif(ZLIB_BUILD_SHARED) -if(${ZLIB_BUILD_STATIC}) - add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) +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}) +endif(ZLIB_BUILD_STATIC) diff --git a/test/add_subdirectory_test.cmake.in b/test/add_subdirectory_test.cmake.in index 72933ba..d5e3a05 100644 --- a/test/add_subdirectory_test.cmake.in +++ b/test/add_subdirectory_test.cmake.in @@ -2,24 +2,27 @@ cmake_minimum_required(VERSION 3.10) project(zlib_find_package_test LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @zlib_VERSION@) enable_testing() -set(ZLIB_BUILD_TESTING OFF) -add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib) +option(ZLIB_BUILD_TESTING "" OFF) +option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) +option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) +add_subdirectory(@zlib_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/zlib) + +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}) +endif(ZLIB_BUILD_SHARED) -if(${ZLIB_BUILD_STATIC}) - add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) +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}) +endif(@ZLIB_BUILD_STATIC) diff --git a/test/find_package_test.cmake.in b/test/find_package_test.cmake.in index 2adab4c..728a1a4 100644 --- a/test/find_package_test.cmake.in +++ b/test/find_package_test.cmake.in @@ -2,23 +2,25 @@ cmake_minimum_required(VERSION 3.10) project(zlib_find_package_test LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @zlib_VERSION@) enable_testing() -find_package(ZLIB ${zlib_VERSION} CONFIG REQUIRED) +find_package(ZLIB @zlib_VERSION@ CONFIG REQUIRED) +option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) +option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) +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}) +endif(ZLIB_BUILD_SHARED) -if(${ZLIB_BUILD_STATIC}) - add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) +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}) +endif(ZLIB_BUILD_STATIC) -- cgit v1.2.3-55-g6feb