我正在浏览一个 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/