From e843c631d6c677bb8585c31b0b960d281cfc42bc Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Mon, 30 Dec 2024 11:14:36 +0100 Subject: CMake: Refine tests. --- contrib/minizip/test/CMakeLists.txt | 116 +++++++++------------ .../test/add_subdirectory_exclude_test.cmake.in | 38 +++---- .../minizip/test/add_subdirectory_test.cmake.in | 38 +++---- contrib/minizip/test/find_package_test.cmake.in | 35 ++++--- 4 files changed, 110 insertions(+), 117 deletions(-) (limited to 'contrib') diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt index 345718c..2da5ae1 100644 --- a/contrib/minizip/test/CMakeLists.txt +++ b/contrib/minizip/test/CMakeLists.txt @@ -1,26 +1,39 @@ -add_test(NAME minizip_test_install - COMMAND ${CMAKE_COMMAND} --install ${zlib_BINARY_DIR} - --prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install - --config $ - WORKING_DIRECTORY ${zlib_BINARY_DIR}) - -set_tests_properties(minizip_test_install - PROPERTIES - FIXTURES_SETUP minizip_install) +#if we are built from with zlib, use this path's) +if(DEFINED ZLIB_BUILD_SHARED) + set(WORK_DIR ${zlib_BINARY_DIR}) + set(inst_setup minizip_minizip_install) +else(DEFINED ZLIB_BUILD_SHARED) + set(WORK_DIR ${minizip_BINARY_DIR}) + set(inst_setup minizip_minizip_install) + set(ZLIB_ARG "-DZLIB_DIR=${ZLIB_DIR}") + + add_test(NAME minizip_install + COMMAND ${CMAKE_COMMAND} --install ${minizip_BINARY_DIR} + --prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install + --config $ + WORKING_DIRECTORY ${minizip_BINARY_DIR}) + + set_tests_properties(minizip_install + PROPERTIES + FIXTURES_SETUP minizip_install) +endif(DEFINED ZLIB_BUILD_SHARED) 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}) @@ -32,108 +45,83 @@ endif(GENERATOR) # # findpackage_test # -add_test(NAME minizip_configure_find_package +add_test(NAME minizip_find_package_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build -DCMAKE_BUILD_TYPE=$ -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} + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install + ${ZLIB_ARG} --fresh -G "${CMAKE_GENERATOR}" -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) -add_test(NAME minizip_build_find_package +add_test(NAME minizip_find_package_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) -add_test(NAME minizip_test_find_package - COMMAND ${CMAKE_CTEST_COMMAND} -C $ - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) - -set_tests_properties(minizip_configure_find_package PROPERTIES - FIXTURES_REQUIRED minizip_install +set_tests_properties(minizip_find_package_configure PROPERTIES + FIXTURES_REQUIRED ${inst_setup} FIXTURES_SETUP mzfp_config) -set_tests_properties(minizip_build_find_package PROPERTIES - FIXTURES_REQUIRED mzfp_config - FIXTURES_SETUP mzfp_build) - -set_tests_properties(minizip_test_find_package PROPERTIES - FIXTURES_REQUIRED mzfp_build - ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) +set_tests_properties(minizip_find_package_build PROPERTIES + FIXTURES_REQUIRED mzfp_config) # # add_subdirectory_test # -add_test(NAME minizip_configure_add_subdirectory +add_test(NAME minizip_add_subdirectory_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} - -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install + ${ZLIB_ARG} --fresh -G "${CMAKE_GENERATOR}" - -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) + -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) -add_test(NAME minizip_build_add_subdirectory +add_test(NAME minizip_add_subdirectory_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) -add_test(NAME minizip_test_add_subdirectory - COMMAND ${CMAKE_CTEST_COMMAND} -C $ - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) - -set_tests_properties(minizip_configure_add_subdirectory PROPERTIES - FIXTURES_REQUIRED minizip_install +set_tests_properties(minizip_add_subdirectory_configure PROPERTIES + FIXTURES_REQUIRED ${inst_setup} FIXTURES_SETUP mzas_config) -set_tests_properties(minizip_build_add_subdirectory PROPERTIES - FIXTURES_REQUIRED mzas_config - FIXTURES_SETUP mzas_build) - -set_tests_properties(minizip_test_add_subdirectory PROPERTIES - FIXTURES_REQUIRED mzas_build - ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) +set_tests_properties(minizip_add_subdirectory_build PROPERTIES + FIXTURES_REQUIRED mzas_config) # # add_subdirectory_exclude_test # -add_test(NAME minizip_configure_add_subdirectory_exclude +add_test(NAME minizip_add_subdirectory_exclude_configure COMMAND ${CMAKE_COMMAND} ${PLATFORM} -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} - -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install + ${ZLIB_ARG} --fresh -G "${CMAKE_GENERATOR}" - -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) + -S${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) -add_test(NAME minizip_build_add_subdirectory_exclude +add_test(NAME minizip_add_subdirectory_exclude_build COMMAND ${CMAKE_COMMAND} --build . --config $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) -add_test(NAME minizip_test_add_subdirectory_exclude - COMMAND ${CMAKE_CTEST_COMMAND} -C $ - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) - -set_tests_properties(minizip_configure_add_subdirectory_exclude PROPERTIES - FIXTURES_REQUIRED minizip_install +set_tests_properties(minizip_add_subdirectory_exclude_configure PROPERTIES + FIXTURES_REQUIRED ${inst_setup} FIXTURES_SETUP mzasx_config) -set_tests_properties(minizip_build_add_subdirectory_exclude PROPERTIES - FIXTURES_REQUIRED mzasx_config - FIXTURES_SETUP mzasx_build) - -set_tests_properties(minizip_test_add_subdirectory_exclude PROPERTIES - FIXTURES_REQUIRED mzasx_build - ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) +set_tests_properties(minizip_add_subdirectory_exclude_build PROPERTIES + FIXTURES_REQUIRED mzasx_config) diff --git a/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in index 92d6a4d..277b2cd 100644 --- a/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +++ b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in @@ -1,25 +1,27 @@ cmake_minimum_required(VERSION 3.12) -project(zlib_find_package_test +project(minizip_add_subdirectory_exclude_from_all LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @minizip_VERSION@) -enable_testing() -set(ZLIB_BUILD_TESTING OFF) -add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL) +option(MINIZIP_BUILD_TESTING "" OFF) +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) - target_link_libraries(test_example ZLIB::ZLIB) +add_subdirectory(@minizip_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/minizip EXCLUDE_FROM_ALL) - 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}) +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c + @minizip_SOURCE_DIR@/zip.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}) +if(MINIZIP_BUILD_SHARED) + add_executable(test_example ${MINIZIP_SRCS}) + target_link_libraries(test_example MINIZIP::minizip) +endif(MINIZIP_BUILD_SHARED) + +if(MINIZIP_BUILD_STATIC) + add_executable(test_example_static ${MINIZIP_SRCS}) + target_link_libraries(test_example_static MINIZIP::minizipstatic) +endif(MINIZIP_BUILD_STATIC) diff --git a/contrib/minizip/test/add_subdirectory_test.cmake.in b/contrib/minizip/test/add_subdirectory_test.cmake.in index fc2a9e0..a29b415 100644 --- a/contrib/minizip/test/add_subdirectory_test.cmake.in +++ b/contrib/minizip/test/add_subdirectory_test.cmake.in @@ -1,25 +1,27 @@ cmake_minimum_required(VERSION 3.12) -project(zlib_find_package_test +project(minizip_add_subdirectory_exclude_from_all LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @minizip_VERSION@) -enable_testing() -set(ZLIB_BUILD_TESTING OFF) -add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib) +option(MINIZIP_BUILD_TESTING "" OFF) +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) - target_link_libraries(test_example ZLIB::ZLIB) +add_subdirectory(@minizip_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/minizip) - 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}) +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c + @minizip_SOURCE_DIR@/zip.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}) +if(MINIZIP_BUILD_SHARED) + add_executable(test_example ${MINIZIP_SRCS}) + target_link_libraries(test_example MINIZIP::minizip) +endif(MINIZIP_BUILD_SHARED) + +if(MINIZIP_BUILD_STATIC) + add_executable(test_example_static ${MINIZIP_SRCS}) + target_link_libraries(test_example_static MINIZIP::minizipstatic) +endif(MINIZIP_BUILD_STATIC) diff --git a/contrib/minizip/test/find_package_test.cmake.in b/contrib/minizip/test/find_package_test.cmake.in index 3df1ede..b56b559 100644 --- a/contrib/minizip/test/find_package_test.cmake.in +++ b/contrib/minizip/test/find_package_test.cmake.in @@ -1,24 +1,25 @@ cmake_minimum_required(VERSION 3.12) -project(zlib_find_package_test +project(minizip_find_package LANGUAGES C - VERSION ${zlib_VERSION}) + VERSION @minizip_VERSION@) -enable_testing() -find_package(ZLIB ${zlib_VERSION} CONFIG REQUIRED) +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) +find_package(minizip ${minizip_VERSION} CONFIG REQUIRED) -if(${ZLIB_BUILD_SHARED}) - add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) - target_link_libraries(test_example ZLIB::ZLIB) +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c + @minizip_SOURCE_DIR@/zip.c) - 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(MINIZIP_BUILD_SHARED) + add_executable(test_example ${MINIZIP_SRCS}) + target_link_libraries(test_example MINIZIP::minizip) +endif(MINIZIP_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}) +if(MINIZIP_BUILD_STATIC) + add_executable(test_example_static ${MINIZIP_SRCS}) + target_link_libraries(test_example_static MINIZIP::minizipstatic) +endif(MINIZIP_BUILD_STATIC) -- cgit v1.2.3-55-g6feb