CMake:在每个子目录中生成Makefile?

时间:2011-08-12 10:49:07

标签: cmake

假设以下配置:

parentdir1/parentdir2/myproject
parentdir1/parentdir2/myproject/CMakeLists.txt
parentdir1/parentdir2/myproject/src
parentdir1/parentdir2/myproject/src/dir1
parentdir1/parentdir2/myproject/src/dir2
parentdir1/parentdir2/myproject/src/dir3

目前,我的CMakeLists只在parentdir1/parentdir2/myproject中生成一个Makefile。

如何在每个子目录中生成Makefile(以编译相关目录)?

非常感谢。

1 个答案:

答案 0 :(得分:2)

CMake允许您在源树根目录下的任何子目录中都有一个CMakeLists.txt文件。

然后使用CMakeLists.txt中的 add_subdirectory 命令添加子目录。然后CMake将在这些子目录中查找CMakeLists.txt。

请在此处查看add_subdirectory命令的文档:

http://cmake.org/cmake/help/cmake-2-8-docs.html#command:add_subdirectory

有关详细信息,请查看www.cmake.org上的CMake常见问题解答和文档。