如何为依赖目标添加 cmake 定义?
Posted
技术标签:
【中文标题】如何为依赖目标添加 cmake 定义?【英文标题】:How to add cmake definitions for a dependency target? 【发布时间】:2017-01-16 16:35:21 【问题描述】:我有一个链接到动态库依赖项 B 的可执行文件 A。一切都在正确编译和链接,但现在我想在我的 CMakeLists.txt 中为 B 依赖项设置一个 cmake 定义,我该怎么做?
要恢复,现在我每次都必须这样做:
cmake -DBLIBRARY_BUILD_TESTS=0 .
我想将 -DBLIBRARY_BUILD_TESTS=0 放在我的 CMakeLists.txt 中,以始终将该标志设置为 0 来配置 B 依赖项,以执行此操作:
cmake .
【问题讨论】:
我的问题不是如何添加编译定义,而是如何添加 cmake 定义。也许我对“定义”术语有误,也许它是一个 cmake 变量?set(LIBRARY_BUILD_TESTS 0)
我会将其添加为默认为 ON 的 cmake 选项。这样,在 cmake-gui 中,用户可以根据需要更改默认值,cmake.org/cmake/help/v3.0/command/option.html
好吧,煤渣饼干是对的.. >_<.>
【参考方案1】:
要定义 CMake 变量,您需要像这样 SET
它们:
SET(LIBRARY_BUILD_TESTS 0)
或者如果是布尔值:
SET(LIBRARY_BUILD_TESTS OFF)
如果这应该是用户可配置的,请使用OPTION
:
OPTION(LIBRARY_BUILD_TESTS "Build library tests" OFF)
【讨论】:
以上是关于如何为依赖目标添加 cmake 定义?的主要内容,如果未能解决你的问题,请参考以下文章