【问题标题】:in CMake, What's the difference between command SUBDIRS() and ADD_SUBDIRECTORY()在 CMake 中,命令 SUBDIRS() 和 ADD_SUBDIRECTORY() 有什么区别
【发布时间】:2013-11-17 23:46:00
【问题描述】:

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

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

【问题讨论】:

  • 子目录已弃用,使用 add_subdirectory
  • @Anycorn 这应该是一个答案。

标签: c++ build cmake build-automation


【解决方案1】:

来自CMake Mailing List

ADD_SUBDIRECTORY() 在调用子目录时对其进行处理,而SUBDIRS() 将目录推送到在当前 CMakeLists 文件末尾处理的列表中 - 这是旧行为,一些变量被初始化为“out”顺序”,或者至少以意想不到的顺序。

(...)

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

此外,CMake's Documentation 中建议您改用ADD_SUBDIRECTORY(),因为SUBDIRS() 已被弃用。

【讨论】:

    【解决方案2】:

    不推荐使用子目录,使用 add_subdirectory

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

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 2011-03-16
      • 2023-01-26
      • 1970-01-01
      • 2014-08-13
      • 2019-08-29
      • 2011-11-23
      • 1970-01-01
      相关资源
      最近更新 更多