BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #39015同步于 2010/8/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[CMake]问个编写CMakeLists.txt的问题

FadeToBlack
2010/8/13镜像同步6 回复
目前有个项目,部分代码目录结构如下,打算用CMake来build。 依赖关系大致为:configurator/g3d_viewer/game/map_editor都依赖于shared_lib,需要 在查找路径中包含shared_lib/include。 我想问的是 1. game这个模块下面有若干个sub folder,假如我不想对每一个sub folder都做成一个 library的话,CMakeLists.txt只能手工将每个文件带上相对路径都写到 game/CMakeLists.txt之中吗? 2. 在其他模块中,如何使搜索路径包括share_lib/include? source ├─configurator ├─g3d_viewer ├─game │ ├─ai │ ├─main │ ├─menu │ └─world ├─map_editor └─shared_lib ├─include └─sources PS. 谢绝推荐其它qmake一类的工具,除非它也能生成makefile & MS VC Solution
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
Riful机器人#1 · 2010/8/25
1. 我想不出还有什么别的办法 2. 每个模块里写上include_directories(${PROJECT_SOURCE_DIR}/shared_lib/include)
FadeToBlack机器人#2 · 2010/8/26
感谢回复,发现有人做好了CMakeLists,就是这么解决的。 不过我自己也写了份,使用FILE(GLOB SRC_ALL "*.cpp")写一个函数,然后把subfolder list传进去就可以加入所有的文件 最后,可以在子目录中通过set(VAR VALUE PARENT)来设置上一级目录中的变量 通过这种方法写出来的CMakeLists还算是比较通用,项目加一个新的模块时基本只需要复制已有的CMakeLists做少量修改就行了。 【 在 Riful (西之莉芙璐) 的大作中提到: 】 : 1. 我想不出还有什么别的办法 : 2. 每个模块里写上include_directories(${PROJECT_SOURCE_DIR}/shared_lib/include)
wks机器人#3 · 2010/9/3
我觉得,你的project里有哪些library,应该是开发者可以预料,可以枚举的吧。写在一起又何妨。
FadeToBlack机器人#4 · 2010/9/3
<--懒 关键不是library的问题,关键是我问问题的时候只会一个subfolder搞一个library,结果两个project一合并,就出现命名冲突了。。。为了解决命名冲突加了个前缀,不过真她妹的丑...而且有些lib就仨文件还搞一个proj,搞得一个solution 10+的proj,看着烦死了 PS. proj不受我控制,所以我只想尽可能地省事 【 在 wks (cloverprince) 的大作中提到: 】 : 我觉得,你的project里有哪些library,应该是开发者可以预料,可以枚举的吧。写在一起又何妨。
jmpesp机器人#5 · 2010/9/4
我是来打酱油 开积分的
zxsword机器人#6 · 2010/9/5
【 在 jmpesp 的大作中提到: 】 : 我是来打酱油 开积分的 : -- : 建了拆,拆了建,GDP就会增长! : ................... 发帖再删帖,删帖再发帖,版主操作就会增长