LinkerId: Fix detection of GNU linker id without parenthesis in version output

This commit is contained in:
Brad King
2023-12-12 09:18:33 -05:00
parent 37bc148870
commit 9324668517
4 changed files with 8 additions and 2 deletions

View File

@@ -58,10 +58,10 @@ function(cmake_determine_linker_id lang linker)
set(linker_frontend "MSVC")
endif()
break()
elseif(linker_desc MATCHES "GNU ld \\([^)]+\\) ([0-9.]+)")
elseif(linker_desc MATCHES "GNU ld (\\([^)]+\\)|version) ([0-9.]+)")
set(linker_id "GNU")
set(linker_frontend "GNU")
set(linker_version "${CMAKE_MATCH_1}")
set(linker_version "${CMAKE_MATCH_2}")
break()
elseif(linker_desc MATCHES "GNU gold \\([^)]+\\) ([0-9.]+)")
set(linker_id "GNUgold")

View File

@@ -6,6 +6,7 @@ set(tools
debian12-ld.gold
debian12-ld.lld
debian12-ld.mold
fedora39-ld.bfd
fedora39-ld.gold
fedora39-ld.lld
fedora39-ld.mold

View File

@@ -0,0 +1,2 @@
#!/bin/sh
echo 'GNU ld version 2.40-13.fc39'

View File

@@ -0,0 +1,3 @@
CMAKE_C_COMPILER_LINKER_ID='GNU'
CMAKE_C_COMPILER_LINKER_VERSION='2.40'
CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT='GNU'