我是构建工具的新手,当我遇到Autotool时,我可以选择只在顶部构建文件夹中编写一个Makefile.am并保留包含所有cpp文件的源文件夹.我可以使用VPATH告诉automake在该文件夹中查找源代码而不是write/src/every where.(请参考我在这里的旧问题:Automake Variables来整理Makefile.am)
然而,在我看来,CMake没有设置VPATH,并且一些狐狸周围说不可能这样做.所以有两种选择:
哪一个更常用?我更喜欢第二种,因为它使我的源代码从任何构建相关源中保持干净.在那种情况下,无论如何都要摆脱"/ src"?
在我们公司,我们使用第一个选项,在每个子目录中都有一个CMakeLists.txt,并使用该add_subdirectory命令从root-CMakeLists.txt构建树.
这是一种模块化方法,其中每个子组件(想想项目有不同的部分,如boost分为系统,线程,date_time等)都有自己的构建文件.如果用户希望他能够构建子组件或构建整个项目.
我们还使用它作为向项目中包含可选子组件的简单方法.然后用户可以设置一个Bool值,BUILD_SUBFOO并且add_subdirectory只是执行它,如果这个Bool是TRUE.
众所周知的项目也在使用这种方法.这是来自KDevelop 的根CMakeLists.txt的链接(见第52-62行).
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |