File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -58,7 +58,10 @@ macro(add_sanitizer_flag flag)
5858 set (CMAKE_REQUIRED_LIBRARIES ${SAVED_CMAKE_REQUIRED_LIBRARIES} )
5959endmacro ()
6060
61- check_cxx_compiler_flag ("-fcf-protection=full" CXX_HAS_FCF_PROTECTION_FULL )
61+ if (CMAKE_SYSTEM_NAME STREQUAL Linux )
62+ check_cxx_compiler_flag ("-fcf-protection=full" CXX_HAS_FCF_PROTECTION_FULL )
63+ check_cxx_compiler_flag ("-fstack-clash-protection" CXX_HAS_FSTACK_CLASH_PROTECTION )
64+ endif ()
6265
6366function (add_ur_target_compile_options name )
6467 if (NOT MSVC )
@@ -81,9 +84,7 @@ function(add_ur_target_compile_options name)
8184 # -flto
8285 # $<$<CXX_COMPILER_ID:Clang,AppleClang>:-fsanitize=cfi>
8386 $<$<BOOL :${CXX_HAS_FCF_PROTECTION_FULL} >:-fcf -protection =full >
84- # -fstack-clash-protection is not supported in apple clang or GCC < 8
85- $<$<AND :$<CXX_COMPILER_ID :GNU >,$<VERSION_GREATER_EQUAL :$<CXX_COMPILER_VERSION >,8>>:-fstack -clash -protection >
86- $<$<CXX_COMPILER_ID :Clang >:-fstack -clash -protection >
87+ $<$<BOOL :${CXX_HAS_FSTACK_CLASH_PROTECTION} >:-fstack -clash -protection >
8788
8889 # Colored output
8990 $<$<CXX_COMPILER_ID :GNU >:-fdiagnostics -color =always >
You can’t perform that action at this time.
0 commit comments