From d9c48de384d5cd54dc27b7122a22388a95ed70a5 Mon Sep 17 00:00:00 2001 From: Gergely Meszaros Date: Tue, 3 Dec 2024 05:37:44 -0800 Subject: [PATCH] [CMake][MSVC] Wrap more linker flags for IntelLLVM My previous pass missed some flags because I used `-Werror=unknown-argument`, but `/D` and `/G` are accepted by clang (even when only linking), but mean different things than intended for `link.exe`. Wrapping the linker with a script revealed these flags. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a20084f9..f887d886 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -300,8 +300,8 @@ add_llvm_library(${TARGET_NAME} SHARED if (WIN32) # Enable compiler generation of Control Flow Guard security checks. target_compile_options(${TARGET_NAME} PUBLIC "/guard:cf") - set_property(TARGET ${TARGET_NAME} APPEND_STRING PROPERTY - LINK_FLAGS "/DYNAMICBASE /GUARD:CF") + set_property(TARGET ${TARGET_NAME} APPEND PROPERTY + LINK_OPTIONS "LINKER:/DYNAMICBASE" "LINKER:/GUARD:CF") elseif(UNIX) set_property(TARGET ${TARGET_NAME} APPEND_STRING PROPERTY