为Cmake中的Debug和Release版本添加不同的include目录?

时间:2018-08-28 03:18:35

标签: cmake

我正在开发一个库,我需要添加仅用于调试构建的第三方仅标头库。它仅用于开发。

在CMake中有一种简单的方法吗?

我知道我们可以do the same for linking libraries

add_executable( MyEXE ${SOURCES})

target_link_libraries( MyEXE debug 3PDebugLib)
target_link_libraries( MyEXE optimized 3PReleaseLib)

但是target_include_directories似乎没有这样的选择。

使用CMake 3.11.4和VS2017。

1 个答案:

答案 0 :(得分:3)

虽然target_include_directories本身无法区分不同的构建类型,但是您可以使用generator expressions,例如:

target_include_directories(MyEXE
    PRIVATE
        $<$<CONFIG:Debug>:3PDebugLib>
        $<$<CONFIG:Release>:3PReleaseLib>
)