diff options
author | Brad King <brad.king@kitware.com> | 2022-10-06 12:45:08 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-10-06 12:45:25 (GMT) |
commit | 2133cf2c8e575bfff000041505208e28bcdfd4a3 (patch) | |
tree | 51768f9a801d2e32d4f342ded42a5b1502310eb7 | |
parent | 48dbdf1b0f54114cccff6fff053c6eb43bef5313 (diff) | |
parent | 7e6b2a92a0a3fe1261c1ecb5db2acb7e30a4f75c (diff) | |
download | CMake-2133cf2c8e575bfff000041505208e28bcdfd4a3.zip CMake-2133cf2c8e575bfff000041505208e28bcdfd4a3.tar.gz CMake-2133cf2c8e575bfff000041505208e28bcdfd4a3.tar.bz2 |
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 <kwrobot@kitware.com>
Merge-request: !7746
-rw-r--r-- | Help/manual/cmake.1.rst | 5 | ||||
-rw-r--r-- | Help/release/dev/try_compile-signatures.rst | 5 | ||||
-rw-r--r-- | Source/cmCoreTryCompile.cxx | 7 | ||||
-rw-r--r-- | Tests/RunCMake/CheckCompilerFlag/RunCMakeTest.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/debug-trycompile-stderr.txt | 11 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/PlatformVariables-stderr.txt | 11 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/WarnDeprecated-stderr.txt | 11 |
7 files changed, 50 insertions, 2 deletions
diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst index d22317e..879ad0b 100644 --- a/Help/manual/cmake.1.rst +++ b/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. diff --git a/Help/release/dev/try_compile-signatures.rst b/Help/release/dev/try_compile-signatures.rst index d477d989..c32babd 100644 --- a/Help/release/dev/try_compile-signatures.rst +++ b/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. diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx index cdf8efa..588f44a 100644 --- a/Source/cmCoreTryCompile.cxx +++ b/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; diff --git a/Tests/RunCMake/CheckCompilerFlag/RunCMakeTest.cmake b/Tests/RunCMake/CheckCompilerFlag/RunCMakeTest.cmake index df2b667..77439cb 100644 --- a/Tests/RunCMake/CheckCompilerFlag/RunCMakeTest.cmake +++ b/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() diff --git a/Tests/RunCMake/CommandLine/debug-trycompile-stderr.txt b/Tests/RunCMake/CommandLine/debug-trycompile-stderr.txt new file mode 100644 index 0000000..e987300 --- /dev/null +++ b/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\) diff --git a/Tests/RunCMake/try_compile/PlatformVariables-stderr.txt b/Tests/RunCMake/try_compile/PlatformVariables-stderr.txt new file mode 100644 index 0000000..4a42b2d --- /dev/null +++ b/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\) diff --git a/Tests/RunCMake/try_compile/WarnDeprecated-stderr.txt b/Tests/RunCMake/try_compile/WarnDeprecated-stderr.txt new file mode 100644 index 0000000..6474990 --- /dev/null +++ b/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\) |