CMakelist - if(DEFINED) syntax

CMakelist - if(DEFINED) syntax

本文关键字:syntax DEFINED if CMakelist      更新时间:2023-10-16

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

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

谢谢rG

您可以随时查看手册,尽管我认为这里很清楚:

if(DEFINED BUILD_TESTS)

检查变量BUILD_TESTS是否在环境中定义。㞖:

add_subdirectory(tests)

add_subdirectory是一个内置函数(cmake有这些(,它将一个名为tests(surprise(的目录添加到需要构建/编译的内容列表中。

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