【发布时间】:2012-09-17 10:04:39
【问题描述】:
我有一些正在 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 中有源代码 tweak 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,所以我希望 YES/NO anwer,甚至对于如何实现这一点的技术更可取。然后学习 CMake 并去做。
另外,我必须使用 CMake 2.6 版。
谢谢
【问题讨论】:
标签: makefile cmake project-structure