mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
Linker: Tolerate CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL set to ANY
Tolerate expected failures of linkers invoked via `execute_process`.
This commit is contained in:
committed by
Brad King
parent
576e63f28d
commit
69e2f3f8ea
@@ -29,7 +29,9 @@ function(cmake_determine_linker_id lang linker)
|
||||
OUTPUT_VARIABLE linker_desc
|
||||
ERROR_VARIABLE linker_desc
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
ERROR_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND_ERROR_IS_FATAL NONE
|
||||
)
|
||||
|
||||
string(JOIN "\" \"" flags_string ${flags})
|
||||
string(REGEX REPLACE "\n\n.*" "" linker_desc_head "${linker_desc}")
|
||||
|
||||
@@ -21,7 +21,9 @@ function(__cmake_set_whole_archive_feature __linker)
|
||||
# launch linker to check if push_state/pop_state options are supported
|
||||
execute_process(COMMAND "${__linker}" --push-state --pop-state
|
||||
OUTPUT_VARIABLE __linker_log
|
||||
ERROR_VARIABLE __linker_log)
|
||||
ERROR_VARIABLE __linker_log
|
||||
COMMAND_ERROR_IS_FATAL NONE
|
||||
)
|
||||
if(__linker_log MATCHES "--push-state" OR __linker_log MATCHES "--pop-state")
|
||||
set(CMAKE_${__lang}LINKER_PUSHPOP_STATE_SUPPORTED FALSE)
|
||||
else()
|
||||
|
||||
2
Tests/RunCMake/execute_process/ConfigureErrorANY.cmake
Normal file
2
Tests/RunCMake/execute_process/ConfigureErrorANY.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
enable_language(C)
|
||||
enable_language(CXX)
|
||||
@@ -1,5 +1,7 @@
|
||||
include(RunCMake)
|
||||
|
||||
run_cmake_with_options(ConfigureErrorANY -DCMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL=ANY)
|
||||
|
||||
set(RunCMake_TEST_OUTPUT_MERGE 1)
|
||||
run_cmake_command(MergeOutput ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/MergeOutput.cmake)
|
||||
unset(RunCMake_TEST_OUTPUT_MERGE)
|
||||
|
||||
Reference in New Issue
Block a user