Browse Source

Tests: Fix check to add InstallMode tests

The check added by commit 58d10cf6f1 (Alternative symlink-creating mode
for file(INSTALL ...), 2021-08-02) only works when re-running CMake in a
build tree after building `cmake`.  Use the driving CMake to check
instead.  Remove the stray link after creation.

Also remove the message on failure: we do not use that convention.
Brad King 4 years ago
parent
commit
f64e8036aa
1 changed files with 4 additions and 5 deletions
  1. 4 5
      Tests/CMakeLists.txt

+ 4 - 5
Tests/CMakeLists.txt

@@ -1649,15 +1649,14 @@ if(BUILD_TESTING)
     DEPENDS ExternalProjectUpdateSetup )
 
   execute_process(
-    COMMAND ${CMAKE_CMAKE_COMMAND}
+    COMMAND ${CMAKE_COMMAND}
     "-E" create_symlink
     "${CMake_SOURCE_DIR}/Tests/CMakeLists.txt"        # random source file that exists
     "${CMake_BINARY_DIR}/Tests/try_to_create_symlink" # random target file in existing directory
-    RESULT_VARIABLE _failed
+    RESULT_VARIABLE _symlink_result
     )
-  if(_failed)
-    message("Failed to create a simple symlink on this machine. Skipping InstallMode tests.")
-  else()
+  if(_symlink_result EQUAL 0)
+    file(REMOVE "${CMake_BINARY_DIR}/Tests/try_to_create_symlink")
     function(add_installmode_test _mode)
       set(ENV{CMAKE_INSTALL_MODE} _mode)
       set(_maybe_InstallMode_CTEST_OPTIONS)