Files
CPM.cmake/test/unit/modules.cmake
Lars Melchior 4aeea1d31d Add package lock (#121)
* add package lock creation

* change target name

* fix cpm_export_variables

* add test

* fix git repo detection addition

* remove test package lock from git

* add link to package lock wiki

* add CPMGetPackage
2020-05-27 19:07:06 +02:00

31 lines
939 B
CMake

include(CMakePackageConfigHelpers)
include(${CPM_PATH}/testing.cmake)
set(TEST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/modules)
function(initProjectWithDependency TEST_DEPENDENCY_NAME)
configure_package_config_file(
"${CMAKE_CURRENT_LIST_DIR}/test_project/ModuleCMakeLists.txt.in"
"${CMAKE_CURRENT_LIST_DIR}/test_project/CMakeLists.txt"
INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/junk
)
execute_process(
COMMAND
${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/test_project" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
endfunction()
initProjectWithDependency(A)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
ASSERT_NOT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)
initProjectWithDependency(B)
ASSERT_NOT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)