From cd55be2a2ff985d3b607208abb27333f1aa434c9 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:19:39 +0100 Subject: CMake: Add tests for minizip components. --- contrib/minizip/test/CMakeLists.txt | 54 ++++++++++++++++++++++ .../test/find_package_no_components_test.cmake.in | 26 +++++++++++ contrib/minizip/test/find_package_test.cmake.in | 3 +- .../find_package_wrong_components_test.cmake.in | 26 +++++++++++ 4 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 contrib/minizip/test/find_package_no_components_test.cmake.in create mode 100644 contrib/minizip/test/find_package_wrong_components_test.cmake.in (limited to 'contrib') diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt index fc64b9e7..82242018 100644 --- a/contrib/minizip/test/CMakeLists.txt +++ b/contrib/minizip/test/CMakeLists.txt @@ -19,6 +19,8 @@ else(DEFINED ZLIB_BUILD_MINIZIP) endif(DEFINED ZLIB_BUILD_MINIZIP) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_componentstest) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) @@ -26,6 +28,16 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt + @ONLY) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt + @ONLY) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY) @@ -68,6 +80,48 @@ set_tests_properties( set_tests_properties(minizip_find_package_build PROPERTIES FIXTURES_REQUIRED mzfp_config) +# +# findpackage_no_components_test +# +add_test( + NAME minizip_find_package_no_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG} + --fresh -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test) + +set_tests_properties( + minizip_find_package_no_components_configure PROPERTIES FIXTURES_REQUIRED ${inst_setup}) + +if(NOT MINIZIP_BUILD_SHARED OR NOT MINIZIP_BUILD_STATIC) + set_tests_properties( + minizip_find_package_no_components_configure PROPERTIES WILL_FAIL TRUE) +endif(NOT MINIZIP_BUILD_SHARED OR NOT MINIZIP_BUILD_STATIC) + +# +# findpackage_no_components_test +# +add_test( + NAME minizip_find_package_wrong_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG} + --fresh -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test) + +set_tests_properties( + minizip_find_package_wrong_components_configure + PROPERTIES + FIXTURES_REQUIRED ${inst_setup} + WILL_FAIL TRUE) + # # add_subdirectory_test # diff --git a/contrib/minizip/test/find_package_no_components_test.cmake.in b/contrib/minizip/test/find_package_no_components_test.cmake.in new file mode 100644 index 00000000..a235e4b9 --- /dev/null +++ b/contrib/minizip/test/find_package_no_components_test.cmake.in @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + minizip_find_package + LANGUAGES C + VERSION @minizip_VERSION@) + +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) + +find_package(minizip ${minizip_VERSION} CONFIG REQUIRED) + +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) + +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 55272ba7..7a7f85fc 100644 --- a/contrib/minizip/test/find_package_test.cmake.in +++ b/contrib/minizip/test/find_package_test.cmake.in @@ -7,7 +7,6 @@ project( option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) -find_package(minizip ${minizip_VERSION} CONFIG REQUIRED) set(MINIZIP_SRCS @minizip_SOURCE_DIR@/ioapi.c @@ -15,11 +14,13 @@ set(MINIZIP_SRCS @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) if(MINIZIP_BUILD_SHARED) + find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS shared REQUIRED) add_executable(test_example ${MINIZIP_SRCS}) target_link_libraries(test_example MINIZIP::minizip) endif(MINIZIP_BUILD_SHARED) if(MINIZIP_BUILD_STATIC) + find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS static REQUIRED) 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_wrong_components_test.cmake.in b/contrib/minizip/test/find_package_wrong_components_test.cmake.in new file mode 100644 index 00000000..d183760c --- /dev/null +++ b/contrib/minizip/test/find_package_wrong_components_test.cmake.in @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + minizip_find_package + LANGUAGES C + VERSION @minizip_VERSION@) + +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) + +find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS wrong REQUIRED) + +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) + +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) -- cgit v1.2.3-55-g6feb