我有一些正在 CMake 中编译的大型项目。它已经开发了很长时间,有 8000 多个源/头文件(超过 500Mbytes,超过 500 个 CMakefile.txt 文件)。
他们使用这样的目录结构
PROJECT_NAME
src
/ subdir_name
/ other_dir_name
/ some_different_dir
/ MY_SPECIFIC_DIR <---
/ yet_another_dir
build
并在外部构建它,如下所示:
name@host:~/PROJECT_NAME/build> cmake ../src
name@host:~/PROJECT_NAME/build> make all
然后将其构建为一个 BIG 二进制文件(细节不重要)。
我不能触及其他任何东西,只是MY_SPECIFIC_DIR
它的源代码和 CMake 文件的内容。因此,我以某种方式MY_SPECIFIC_DIR
在调整 CMakefile.txt 文件 中有源代码,并希望像这样构建它:
name@host:~/PROJECT_NAME/build_specific> cmake ../src/MY_SPECIFIC_DIR
name@host:~/PROJECT_NAME/build_specific> make all
这应该将东西构建MY_SPECIFIC_DIR
到单个二进制文件中,并带有一些到其他子项目的链接。但也(显然)不要改变整个项目的编译方式。
我的问题是:
是否可以使用CMake
进行所需的设置?
我可以以某种方式测试CMakeFile.txt
它是根项目并以与整体构建时不同的方式构建它吗?
除非,我必须诉诸不同的手段并make
为此使用标准。我不知道 CMake,所以我希望是/否anwer,甚至对于如何实现这一点的技术也更可取。然后学习CMake并做到这一点。
另外,我必须使用 CMake 2.6 版。
谢谢