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
This commit is contained in:
Brad King 2022-10-06 12:45:08 +00:00 committed by Kitware Robot
commit 2133cf2c8e
7 changed files with 50 additions and 2 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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;

View File

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

View File

@ -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\)

View File

@ -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\)

View File

@ -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\)