我想根据我在cmake中的当前生成配置设置一些特定的编译标志。我认为生成器表达式可以让我做到这一点,但他们似乎没有像我预期的那样工作。使用生成器表达式来设置生成类型特定标志
我正在使用以下命令将编译选项设置为我的主目标。这两个表达式似乎总是评估为真,因为无论CMAKE_BUILD_TYPE设置为什么--debug和-Oh都传递给编译器。
target_compile_options(${PROJECT_NAME}
PUBLIC
${COMMON_COMPILER_FLAGS}
$<$<CONFIG:Debug>:--debug>
$<$<CONFIG:Release>:-Oh>
)
我在Windows上使用cmake 3.4.1,我正在与IAR工具链交叉编译。更具体地说,我从Cygwin的bash shell执行cmake,但它仍然是Windows可执行文件。我正在使用Unix Makefile生成器。
适用于Linux下的makefile生成器(CMake 4.1)。你使用什么目标(操作系统,生成器)? – Tsyvarev