c++ - CMakelist - if(DEFINED) 语法

标签 c++ bash unix makefile cmake

我正在浏览一个 CMakelist.txt 文件,其中有一个 C++ 项目的条目,其中包含一个 src 和一个 tests 文件夹。 我需要知道以下语法是什么意思?

if(DEFINED BUILD_TESTS)
    add_subdirectory(tests)
endif(DEFINED BUILD_TESTS)

谢谢 rG

最佳答案

您可以随时查看 manual ,虽然我认为这里很清楚:

if(DEFINED BUILD_TESTS)

检查环境中是否定义了变量 BUILD_TESTS。如果是这样,:

add_subdirectory(tests)

add_subdirectory 是一个 built in function (cmake 有那些)将一个名为 tests (surprise) 的目录添加到需要构建/编译的内容列表中。

BUILD_TESTS 本身是一个 CMAKE 变量,将确定“测试”是否将成为 Makefile 的一部分。感谢@Tsyvarev 指出这一点。

关于c++ - CMakelist - if(DEFINED) 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43254319/

相关文章:

c++ - Qt 4.8.6 中的 qlabel mailto 链接

c++ - 如何访问 `polymorphic` 的任何子级的 `std::variant` 基类?

没有默认函数的 C++ 模板特化

mysql - 从 bash 脚本查询 mysql

c - 在一个 makefile 中制作两个 C 程序

c++ - 如何检查路径在 boost::filesystem 中是否有效?

bash - 使用 bash 将行拆分为训练集和验证集

bash - 如何在使用 silent 标志时使 curl 请求的 HEAD 静音?

c - 如何获取telnet session 的远程端口号?

linux - Tee 命令 unix