mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-03 19:32:35 +00:00
[mlir][py] Fix python modules build with clang-cl due to requiring exceptions
The generator expression previously used to enable exceptions would not work since the compiler id of clang-cl is Clang, even if used via clang-cl. The patch fixes that by replacing the generator expression with simple logic, setting the right compiler flags for all MSVC like compilers (including clang-cl) and all GCC like compilers. Differential Revision: https://reviews.llvm.org/D141155
This commit is contained in:
parent
e22ff52c10
commit
3adb0ac183
@ -607,15 +607,13 @@ function(add_mlir_python_extension libname extname)
|
||||
|
||||
# The extension itself must be compiled with RTTI and exceptions enabled.
|
||||
# Also, some warning classes triggered by pybind11 are disabled.
|
||||
target_compile_options(${libname} PRIVATE
|
||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
|
||||
# Enable RTTI and exceptions.
|
||||
-frtti -fexceptions
|
||||
>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:
|
||||
# Enable RTTI and exceptions.
|
||||
/EHsc /GR>
|
||||
)
|
||||
set(eh_rtti_enable)
|
||||
if (MSVC)
|
||||
set(eh_rtti_enable /EHsc /GR)
|
||||
elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE)
|
||||
set(eh_rtti_enable -frtti -fexceptions)
|
||||
endif ()
|
||||
target_compile_options(${libname} PRIVATE ${eh_rtti_enable})
|
||||
|
||||
# Configure the output to match python expectations.
|
||||
set_target_properties(
|
||||
|
Loading…
Reference in New Issue
Block a user