我想根據我在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