diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 4758230c..de7c578a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,10 +5,22 @@ add_test(NAME zlib_test_install WORKING_DIRECTORY ${zlib_BINARY_DIR}) 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_exclude_test) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test/CMakeLists.txt) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt) + +# +# findpackage_test +# add_test(NAME zlib_test_configure_find_package COMMAND ${CMAKE_COMMAND} -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build @@ -19,7 +31,6 @@ add_test(NAME zlib_test_configure_find_package -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 @@ -34,11 +45,73 @@ set_tests_properties(zlib_test_install PROPERTIES set_tests_properties(zlib_test_configure_find_package PROPERTIES FIXTURES_REQUIRED install - FIXTURES_SETUP config) + FIXTURES_SETUP fp_config) set_tests_properties(zlib_test_build_find_package PROPERTIES - FIXTURES_REQUIRED config - FIXTURES_SETUP build) + FIXTURES_REQUIRED fp_config + FIXTURES_SETUP fp_build) set_tests_properties(zlib_test_test_find_package PROPERTIES - FIXTURES_REQUIRED build) + FIXTURES_REQUIRED fp_build) + +# +# add_subdirectory_test +# +add_test(NAME zlib_test_configure_add_subdirectory + COMMAND ${CMAKE_COMMAND} + -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test_build + -DCMAKE_BUILD_TYPE=$ + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install + --fresh + -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) + +add_test(NAME zlib_test_build_add_subdirectory + COMMAND ${CMAKE_COMMAND} --build + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test_build + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test_build) + +add_test(NAME zlib_test_test_add_subdirectory + COMMAND ${CMAKE_CTEST_COMMAND} -C $ + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test_build) + +set_tests_properties(zlib_test_configure_add_subdirectory PROPERTIES + FIXTURES_SETUP as_config) + +set_tests_properties(zlib_test_build_add_subdirectory PROPERTIES + FIXTURES_REQUIRED as_config + FIXTURES_SETUP as_build) + +set_tests_properties(zlib_test_test_add_subdirectory PROPERTIES + FIXTURES_REQUIRED as_build) + +# +# add_subdirectory_exclude_test +# +add_test(NAME zlib_test_configure_add_subdirectory_exclude + COMMAND ${CMAKE_COMMAND} + -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_exclude_test_build + -DCMAKE_BUILD_TYPE=$ + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install + --fresh + -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) + +add_test(NAME zlib_test_build_add_subdirectory_exclude + COMMAND ${CMAKE_COMMAND} --build + ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_exclude_test_build + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_exclude_test_build) + +add_test(NAME zlib_test_test_add_subdirectory_exclude + COMMAND ${CMAKE_CTEST_COMMAND} -C $ + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_exclude_test_build) + +set_tests_properties(zlib_test_configure_add_subdirectory_exclude PROPERTIES + FIXTURES_SETUP asx_config) + +set_tests_properties(zlib_test_build_add_subdirectory_exclude PROPERTIES + FIXTURES_REQUIRED as_config + FIXTURES_SETUP asx_build) + +set_tests_properties(zlib_test_test_add_subdirectory_exclude PROPERTIES + FIXTURES_REQUIRED asx_build) diff --git a/test/add_subdirectory_exclude_test.cmake.in b/test/add_subdirectory_exclude_test.cmake.in new file mode 100644 index 00000000..9dd9d35e --- /dev/null +++ b/test/add_subdirectory_exclude_test.cmake.in @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.5) + +project(zlib_find_package_test + LANGUAGES C + VERSION ${zlib_VERSION}) + +enable_testing() +set(ZLIB_BUILD_TESTING OFF) +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}) + +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}) diff --git a/test/add_subdirectory_test.cmake.in b/test/add_subdirectory_test.cmake.in new file mode 100644 index 00000000..c10f7095 --- /dev/null +++ b/test/add_subdirectory_test.cmake.in @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.5) + +project(zlib_find_package_test + LANGUAGES C + VERSION ${zlib_VERSION}) + +enable_testing() +set(ZLIB_BUILD_TESTING OFF) +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}) + +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}) diff --git a/test/find_package_test.cmake.in b/test/find_package_test.cmake.in index c1c11d01..42f3c19e 100644 --- a/test/find_package_test.cmake.in +++ b/test/find_package_test.cmake.in @@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 3.5) project(zlib_find_package_test LANGUAGES C - VERSION 1.3.1.1) + VERSION ${zlib_VERSION}) enable_testing() -find_package(zlib CONFIG REQUIRED) +find_package(zlib ${zlib_VERSION} CONFIG REQUIRED) if(${ZLIB_BUILD_SHARED}) add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c)