【发布时间】:2011-09-29 01:53:41
【问题描述】:
我正在学习 cmake 并且发现它学起来非常快。但是,文档并没有达到标准。这些教程很有帮助,但仅此而已。
我有一个现有项目,我想使用 cmake 转换。
目前项目结构如下:
obsys/ obsys/client/ {客户端文件} obsys/server/ {服务器文件} obsys/utils/include obsys/utils/src
我在每个级别都创建了 CMakeLists.txt 文件。
顶层目前看起来像这样:
make_minimum_required (VERSION 2.6)
project (osys)
add_subdirectory (server)
add_subdirectory (utils)
在 utils 中,我有一个 CMakeLists.txt,其中包含:
include_directories ("${PROJECT_SOURCE_DIR}/utils/include")
add_subdirectory (src)
在 utils src 目录中,CMakeLists.txt 文件包含:
add_library(utils myException.cpp)
服务器需要链接到 utils。它的 CMakeLists.txt 包含:
make_minimum_required (VERSION 2.6)
project (server)
include_directories ("../utils/include")
add_executable(serv serv.cpp)
add_subdirectory("../utils/src" utils)
target_link_libraries(obbsd utils)
这个布局的想法是我希望我可以通过顶级 Makefile 构建整个地段。或者,跳转到服务器或客户端并构建它们中的任何一个。它不是那样的。推荐的方法是什么?
【问题讨论】:
标签: cmake