Merge topic 'linker-vars-propagate-try_compile'
98cc86e265
try_compile(): Include languages with _ or - when passing linker vars
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9361
This commit is contained in:
commit
899af83755
@ -1164,7 +1164,7 @@ cm::optional<cmTryCompileResult> cmCoreTryCompile::TryCompileCode(
|
||||
vars.insert(kCMAKE_LINKER_TYPE);
|
||||
auto defs = this->Makefile->GetDefinitions();
|
||||
cmsys::RegularExpression linkerTypeDef{
|
||||
"^CMAKE_[A-Za-z]+_USING_LINKER_"
|
||||
"^CMAKE_[A-Za-z_-]+_USING_LINKER_"
|
||||
};
|
||||
for (auto const& def : defs) {
|
||||
if (linkerTypeDef.find(def)) {
|
||||
|
8
Tests/RunCMake/try_compile/ProjectVars-stdout.txt
Normal file
8
Tests/RunCMake/try_compile/ProjectVars-stdout.txt
Normal file
@ -0,0 +1,8 @@
|
||||
CMAKE_LINKER_TYPE = DEFAULT
|
||||
.*CMAKE_C_USING_LINKER_MODE = [^
|
||||
]*
|
||||
.*CMAKE_C_USING_LINKER_abc123 = /path/to/somewhere
|
||||
.*CMAKE_C_USING_LINKER_Hi_There = some-tool
|
||||
.*CMAKE_ASM_NASM_USING_LINKER_custom = /place/holder
|
||||
.*CMAKE_ASM-ATT_USING_LINKER_custom = /more/text
|
||||
.*CMAKE_ASM-ATT_USING_LINKER_MODE = TOOL
|
18
Tests/RunCMake/try_compile/ProjectVars.cmake
Normal file
18
Tests/RunCMake/try_compile/ProjectVars.cmake
Normal file
@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.29)
|
||||
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_LINKER_TYPE DEFAULT)
|
||||
set(CMAKE_C_USING_LINKER_abc123 /path/to/somewhere)
|
||||
set(CMAKE_C_USING_LINKER_Hi_There some-tool)
|
||||
set(CMAKE_ASM_NASM_USING_LINKER_custom /place/holder)
|
||||
set(CMAKE_ASM-ATT_USING_LINKER_custom /more/text)
|
||||
set(CMAKE_ASM-ATT_USING_LINKER_MODE TOOL)
|
||||
|
||||
try_compile(RESULT
|
||||
PROJECT TestProject
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/proj_vars
|
||||
OUTPUT_VARIABLE output
|
||||
)
|
||||
|
||||
message(STATUS "\n${output}")
|
@ -47,6 +47,8 @@ run_cmake(NonSourceCompileDefinitions)
|
||||
|
||||
run_cmake(Verbose)
|
||||
|
||||
run_cmake(ProjectVars)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS --debug-trycompile)
|
||||
run_cmake(PlatformVariables)
|
||||
run_cmake(WarnDeprecated)
|
||||
|
12
Tests/RunCMake/try_compile/proj_vars/CMakeLists.txt
Normal file
12
Tests/RunCMake/try_compile/proj_vars/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
cmake_minimum_required(VERSION 3.29)
|
||||
project(TestProject LANGUAGES NONE)
|
||||
|
||||
add_custom_target(show_vars ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_LINKER_TYPE = ${CMAKE_LINKER_TYPE}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_C_USING_LINKER_MODE = ${CMAKE_C_USING_LINKER_MODE}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_C_USING_LINKER_abc123 = ${CMAKE_C_USING_LINKER_abc123}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_C_USING_LINKER_Hi_There = ${CMAKE_C_USING_LINKER_Hi_There}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_ASM_NASM_USING_LINKER_custom = ${CMAKE_ASM_NASM_USING_LINKER_custom}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_ASM-ATT_USING_LINKER_custom = ${CMAKE_ASM-ATT_USING_LINKER_custom}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "CMAKE_ASM-ATT_USING_LINKER_MODE = ${CMAKE_ASM-ATT_USING_LINKER_MODE}"
|
||||
)
|
Loading…
Reference in New Issue
Block a user