在CMake中,命令SUBDIRS()和ADD_SUBDIRECTORY()有什么区别

in CMake, What's the difference between command SUBDIRS() and ADD_SUBDIRECTORY()

本文关键字:SUBDIRECTORY 什么 区别 ADD 命令 SUBDIRS CMake      更新时间:2023-10-16

在CMake中,命令SUBDIRS()和ADD_SUBDIRECTORY()有什么区别

当我阅读PoDoFo src时,我发现了一些CMakeLists.txt使用SUBDIRS一些使用ADD_SUBDIRECTORY,我是新手!谢谢!

来自 CMake 邮件列表:

ADD_SUBDIRECTORY()在调用时处理 subdir,而 SUBDIRS() 将 dir 推送到在当前 CMakeLists 文件末尾处理的列表 - 这是旧行为,一些变量初始化"无序",或者至少以意外顺序初始化。

(...

因此,如果您在父目录中设置变量,则在使用SUBDIRS()时,它们将不会在子目录中看到。

此外,CMake 的文档中建议改用ADD_SUBDIRECTORY(),因为SUBDIRS()已被弃用。

subdirs 已弃用,请使用 add_subdirectory

http://www.cmake.org/cmake/help/git-next/command/subdirs.html