mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-17 06:37:43 -05:00
36 lines
1.1 KiB
CMake
36 lines
1.1 KiB
CMake
include(CMakePackageConfigHelpers)
|
|
include(${CPM_PATH}/testing.cmake)
|
|
|
|
set(TEST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/modules)
|
|
|
|
function(init_project_with_dependency TEST_DEPENDENCY_NAME TEST_CANT_FIND_PACKAGE_NAME)
|
|
set(TEST_FIND_PACKAGE ON)
|
|
configure_package_config_file(
|
|
"${CMAKE_CURRENT_LIST_DIR}/local_dependency/ModuleCMakeLists.txt.in"
|
|
"${CMAKE_CURRENT_LIST_DIR}/local_dependency/CMakeLists.txt"
|
|
INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/junk
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} "-S${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
|
|
RESULT_VARIABLE ret
|
|
)
|
|
|
|
assert_equal(${ret} "0")
|
|
endfunction()
|
|
|
|
init_project_with_dependency(A B)
|
|
init_project_with_dependency(B A)
|
|
|
|
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24.0")
|
|
set(TEST_FIND_PACKAGE_CONFIG CONFIG)
|
|
init_project_with_dependency(A B)
|
|
init_project_with_dependency(B A)
|
|
|
|
# Test the fallback path for CMake <3.24 works
|
|
set(TEST_FIND_PACKAGE_CONFIG)
|
|
set(TEST_FORCE_MODULE_MODE ON)
|
|
init_project_with_dependency(A B)
|
|
init_project_with_dependency(B A)
|
|
endif()
|