mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-07 14:50:15 -05:00
Merge topic 'file-CONFIGURE_DEPENDS-verify-CMP0009' into release-3.17
818ec34bddfile: GLOB_RECURSE VerifyGlobs.cmake should have CMP0009 set to newb620dc566dfile: Fix GLOB_RECURSE LIST_DIRECTORIES documentation regarding CMP0009715f90bdd9Tests: Perform minor cleanups in RunCMake.file test Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !4342
This commit is contained in:
@@ -540,7 +540,7 @@ are only traversed if ``FOLLOW_SYMLINKS`` is given or policy
|
||||
By default ``GLOB_RECURSE`` omits directories from result list - setting
|
||||
``LIST_DIRECTORIES`` to true adds directories to result list.
|
||||
If ``FOLLOW_SYMLINKS`` is given or policy :policy:`CMP0009` is not set to
|
||||
``OLD`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
|
||||
``NEW`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
|
||||
|
||||
Examples of recursive globbing include::
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@ bool cmGlobVerificationManager::SaveVerificationScript(const std::string& path)
|
||||
<< cmVersion::GetMajorVersion() << "."
|
||||
<< cmVersion::GetMinorVersion() << "\n";
|
||||
|
||||
verifyScriptFile << "cmake_policy(SET CMP0009 NEW)\n";
|
||||
|
||||
for (auto const& i : this->Cache) {
|
||||
CacheEntryKey k = std::get<0>(i);
|
||||
CacheEntryValue v = std::get<1>(i);
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
test2/test_folder_symlink
|
||||
@@ -0,0 +1 @@
|
||||
test2/test_folder_symlink
|
||||
@@ -0,0 +1 @@
|
||||
.*Running CMake on GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake
|
||||
@@ -0,0 +1,10 @@
|
||||
cmake_policy(SET CMP0009 NEW)
|
||||
message(STATUS "Running CMake on GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake")
|
||||
file(GLOB_RECURSE
|
||||
CONTENT_LIST
|
||||
CONFIGURE_DEPENDS
|
||||
LIST_DIRECTORIES false
|
||||
RELATIVE "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/test2/*"
|
||||
)
|
||||
add_custom_target(CONTENT_ECHO ALL ${CMAKE_COMMAND} -E echo ${CONTENT_LIST})
|
||||
@@ -111,7 +111,7 @@ else()
|
||||
set(tf_1 "${RunCMake_TEST_BINARY_DIR}/test/1.txt")
|
||||
file(WRITE "${tf_1}" "1")
|
||||
|
||||
message(STATUS "GLOB-RerunCMake: first configuration...")
|
||||
message(STATUS "GLOB-CONFIGURE_DEPENDS-RerunCMake: first configuration...")
|
||||
run_cmake(GLOB-CONFIGURE_DEPENDS-RerunCMake)
|
||||
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-build ${CMAKE_COMMAND} --build .)
|
||||
|
||||
@@ -125,10 +125,25 @@ else()
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep ${fs_delay})
|
||||
message(STATUS "GLOB-CONFIGURE_DEPENDS-RerunCMake: remove first test file...")
|
||||
file(REMOVE "${RunCMake_TEST_BINARY_DIR}/test/1.txt")
|
||||
file(REMOVE "${tf_1}")
|
||||
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-rebuild_second ${CMAKE_COMMAND} --build .)
|
||||
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-nowork ${CMAKE_COMMAND} --build .)
|
||||
|
||||
if(NOT WIN32 OR CYGWIN)
|
||||
message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: link the first test directory into a new directory...")
|
||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/test2")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${RunCMake_TEST_BINARY_DIR}/test" "${RunCMake_TEST_BINARY_DIR}/test2/test_folder_symlink")
|
||||
|
||||
message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: first configuration...")
|
||||
run_cmake(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake)
|
||||
run_cmake_command(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build ${CMAKE_COMMAND} --build .)
|
||||
|
||||
message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: add another file in the linked directory...")
|
||||
set(tf_3 "${RunCMake_TEST_BINARY_DIR}/test/3.txt")
|
||||
file(WRITE "${tf_3}" "3")
|
||||
run_cmake_command(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild ${CMAKE_COMMAND} --build .)
|
||||
endif()
|
||||
|
||||
unset(RunCMake_TEST_BINARY_DIR)
|
||||
unset(RunCMake_TEST_NO_CLEAN)
|
||||
unset(RunCMake_DEFAULT_stderr)
|
||||
|
||||
Reference in New Issue
Block a user