summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/CompilerFlags.cmake4
-rw-r--r--cmake/SlangTarget.cmake5
-rw-r--r--tools/CMakeLists.txt2
3 files changed, 3 insertions, 8 deletions
diff --git a/cmake/CompilerFlags.cmake b/cmake/CompilerFlags.cmake
index 5558c346b..cd9021cd0 100644
--- a/cmake/CompilerFlags.cmake
+++ b/cmake/CompilerFlags.cmake
@@ -16,10 +16,6 @@ function(add_supported_cxx_flags target)
endif()
foreach(flag ${flags})
- # /EHa enables SEH on Windows, it is not available in Linux.
- if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
- string(REGEX REPLACE "/EHa" "" flag "${flag}")
- endif()
# remove the `no-` prefix from warnings because gcc doesn't treat it as an
# error on its own
string(REGEX REPLACE "\\-Wno\\-(.+)" "-W\\1" flag_to_test "${flag}")
diff --git a/cmake/SlangTarget.cmake b/cmake/SlangTarget.cmake
index 98517a1ba..4a3b75704 100644
--- a/cmake/SlangTarget.cmake
+++ b/cmake/SlangTarget.cmake
@@ -337,10 +337,9 @@ function(slang_add_target dir type)
)
endif()
if(ARG_EXTRA_COMPILE_OPTIONS_PRIVATE)
- add_supported_cxx_flags(
+ target_compile_options(
${target}
- PRIVATE
- ${ARG_EXTRA_COMPILE_OPTIONS_PRIVATE}
+ PRIVATE ${ARG_EXTRA_COMPILE_OPTIONS_PRIVATE}
)
endif()
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index ef4d17556..2593a60fd 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -276,7 +276,7 @@ if(SLANG_ENABLE_TESTS)
EXTRA_COMPILE_DEFINITIONS_PRIVATE
$<$<BOOL:${SLANG_ENABLE_CUDA}>:RENDER_TEST_CUDA>
$<$<BOOL:${SLANG_ENABLE_OPTIX}>:RENDER_TEST_OPTIX>
- EXTRA_COMPILE_OPTIONS_PRIVATE /EHa
+ EXTRA_COMPILE_OPTIONS_PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/EHa>
OUTPUT_NAME render-test-tool
REQUIRED_BY slang-test
FOLDER test/tools