diff --git a/cmake/Modules/ExtractDMDSystemLinker.cmake b/cmake/Modules/ExtractDMDSystemLinker.cmake index 09c2055a66b..e74ed5780a4 100644 --- a/cmake/Modules/ExtractDMDSystemLinker.cmake +++ b/cmake/Modules/ExtractDMDSystemLinker.cmake @@ -64,6 +64,9 @@ separate_arguments(linker_line) list(GET linker_line 0 D_LINKER_COMMAND) list(REMOVE_AT linker_line 0) +# Fixup "-target triple" argument, which would be turned into "-target;triple" by `separate_arguments`. Replace ";" with "=". +string(REGEX REPLACE ";-target;" ";--target=" linker_line "${linker_line}") + if("${D_COMPILER_ID}" STREQUAL "GDMD") # Filter linker arguments for those we know can be safely reused set(D_LINKER_ARGS)