从逻辑上讲,我想在我的cmake构建(使用伪C ++提供)中做类似的事情
exceptions_flag =
Compiler == Clang || Compiler == GCC ? "-fexceptions"
: Compiler == MSVC ? "/U_HAS_EXCEPTIONS;/D_HAS_EXCEPTIONS=1;/EHsc"
我不确定如何使用cmake生成器一步一步做到这一点,我能想到的最好的是
set(EXCEPTIONS_FLAG
$<$<CXX_COMPILER_ID:MSVC>:"/U_HAS_EXCEPTIONS;/D_HAS_EXCEPTIONS=1;/EHsc">
if(NOT ${EXCEPTIONS_FLAG})
set(EXCEPTIONS_FLAG "-fexceptions")
endif()
有更好的方法吗?