【发布时间】:2016-01-13 05:39:26
【问题描述】:
我想根据我当前在 cmake 中的构建配置设置一些特定的编译标志。我认为生成器表达式可以让我这样做,但它们似乎没有按我预期的方式工作。
我正在使用以下命令为我的主要目标设置编译选项。无论 CMAKE_BUILD_TYPE 设置为什么,这两个表达式似乎总是评估为 true,因为 --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) 为我工作。您使用什么目标(操作系统、生成器)?
标签: cmake