CMake: Add tests for minizip components.
diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt index fc64b9e..8224201 100644 --- a/contrib/minizip/test/CMakeLists.txt +++ b/contrib/minizip/test/CMakeLists.txt
@@ -19,6 +19,8 @@ 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) @@ -27,6 +29,16 @@ ${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) @@ -69,6 +81,48 @@ 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=$<CONFIG> -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=$<CONFIG> -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 # add_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 0000000..a235e4b --- /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 + $<$<BOOL:${WIN32}>:@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 55272ba..7a7f85f 100644 --- a/contrib/minizip/test/find_package_test.cmake.in +++ b/contrib/minizip/test/find_package_test.cmake.in
@@ -7,7 +7,6 @@ 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 @@ @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 0000000..d183760 --- /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 + $<$<BOOL:${WIN32}>:@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)