1
0
Эх сурвалжийг харах

Merge topic 'try_compile-more-debug-logging'

7e6b2a92a0 try_compile: Report build dir with --debug-trycompile
cbf3252975 Tests: Remove stray debugging flag from RunCMake.CheckCompilerFlag case

Acked-by: Kitware Robot <[email protected]>
Merge-request: !7746
Brad King 3 жил өмнө
parent
commit
2133cf2c8e

+ 5 - 0
Help/manual/cmake.1.rst

@@ -292,6 +292,11 @@ Options
  is effectively a :command:`try_compile`.  Any combination of the two
  is subject to the potential issues described.)
 
+ .. versionadded:: 3.25
+
+   When this option is enabled, every try-compile check prints a log
+   message reporting the directory in which the check is performed.
+
 .. option:: --debug-output
 
  Put cmake in a debug mode.

+ 4 - 1
Help/release/dev/try_compile-signatures.rst

@@ -5,4 +5,7 @@ try_compile-signatures
   signatures that more consistently use keyword dispatch and do not require a
   binary directory to be specified.  Additionally, these signatures use a
   unique directory for each invocation, which allows multiple outputs to be
-  preserved when using ``--debug-trycompile``.
+  preserved when using :option:`--debug-trycompile <cmake --debug-trycompile>`.
+
+* The :option:`cmake --debug-trycompile` option now prints log messages
+  reporting the directory in which each try-compile check is done.

+ 7 - 0
Source/cmCoreTryCompile.cxx

@@ -1050,6 +1050,13 @@ bool cmCoreTryCompile::TryCompileCode(Arguments& arguments,
     }
   }
 
+  if (this->Makefile->GetCMakeInstance()->GetDebugTryCompile()) {
+    auto msg =
+      cmStrCat("Executing try_compile (", *arguments.CompileResultVariable,
+               ") in:\n  ", this->BinaryDirectory);
+    this->Makefile->IssueMessage(MessageType::LOG, msg);
+  }
+
   bool erroroc = cmSystemTools::GetErrorOccurredFlag();
   cmSystemTools::ResetErrorOccurredFlag();
   std::string output;

+ 1 - 1
Tests/RunCMake/CheckCompilerFlag/RunCMakeTest.cmake

@@ -28,5 +28,5 @@ if(CMake_TEST_HIP)
 endif()
 
 if(APPLE)
-  run_cmake_with_options(HeaderpadWorkaround --debug-trycompile)
+  run_cmake(HeaderpadWorkaround)
 endif()

+ 11 - 0
Tests/RunCMake/CommandLine/debug-trycompile-stderr.txt

@@ -0,0 +1,11 @@
+^CMake Debug Log at [^
+]*/Modules/CMakeDetermineCompilerABI.cmake:[0-9]+ \(try_compile\):
+  Executing try_compile \(CMAKE_C_ABI_COMPILED\) in:
+
+    [^
+]*/Tests/RunCMake/CommandLine/debug-trycompile-build/CMakeFiles/CMakeScratch/TryCompile-[^/]+
+Call Stack \(most recent call first\):
+  [^
+]*/Modules/CMakeTestCCompiler.cmake:[0-9]+ \(CMAKE_DETERMINE_COMPILER_ABI\)
+  debug-trycompile.cmake:[0-9]+ \(enable_language\)
+  CMakeLists.txt:[0-9]+ \(include\)

+ 11 - 0
Tests/RunCMake/try_compile/PlatformVariables-stderr.txt

@@ -0,0 +1,11 @@
+^CMake Debug Log at [^
+]*/Modules/CMakeDetermineCompilerABI.cmake:[0-9]+ \(try_compile\):
+  Executing try_compile \(CMAKE_C_ABI_COMPILED\) in:
+
+    [^
+]*/Tests/RunCMake/try_compile/PlatformVariables-build/CMakeFiles/CMakeScratch/TryCompile-[^/]+
+Call Stack \(most recent call first\):
+  [^
+]*/Modules/CMakeTestCCompiler.cmake:[0-9]+ \(CMAKE_DETERMINE_COMPILER_ABI\)
+  PlatformVariables.cmake:[0-9]+ \(enable_language\)
+  CMakeLists.txt:[0-9]+ \(include\)

+ 11 - 0
Tests/RunCMake/try_compile/WarnDeprecated-stderr.txt

@@ -0,0 +1,11 @@
+^CMake Debug Log at [^
+]*/Modules/CMakeDetermineCompilerABI.cmake:[0-9]+ \(try_compile\):
+  Executing try_compile \(CMAKE_C_ABI_COMPILED\) in:
+
+    [^
+]*/Tests/RunCMake/try_compile/WarnDeprecated-build/CMakeFiles/CMakeScratch/TryCompile-[^/]+
+Call Stack \(most recent call first\):
+  [^
+]*/Modules/CMakeTestCCompiler.cmake:[0-9]+ \(CMAKE_DETERMINE_COMPILER_ABI\)
+  WarnDeprecated.cmake:[0-9]+ \(enable_language\)
+  CMakeLists.txt:[0-9]+ \(include\)