CMake是个好东西-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

CMake是个好东西

简介:
相比起繁杂难记的autotools,CMake真是一个好东东啊!!
网址:
http://www.cmake.org
文档:
http://www.cmake.org/HTML/Documentation.html

假定项目为ProjectTest。项目结构如下:
src   放置源文件(*.h *.cpp),具体为
src/dira
src/dirb
src/dirc
bin   放置编译后的可执行程序
A.so B.a   第三方库

CMakelists.txt(放根目录下)可以这样写:

#项目名称
PROJECT (ProjectTest)

#头文件路径
INCLUDE_DIRECTORIES(
    src
/dira 
    src
/dirb 
    src
/dirc 
    )

#表示cpp文件列表的变量,如${DIRA_SRCS}代表src
/dira目录下的所有源文件
AUX_SOURCE_DIRECTORY(src
/dira DIRA_SRCS)
AUX_SOURCE_DIRECTORY(src
/dirb DIRB_SRCS)
AUX_SOURCE_DIRECTORY(src
/dirc DIRC_SRCS)

#设置变量${TEST_SRCS}
SET(TEST_SRCS
    ${DIRA_SRCS}
    ${DIRB_SRCS}
    ${DIRC_SRCS}
    )

#需要链接的第三方库
SET(LIBRARYS
    A.so
    B.a
    )

#添加可执行文件生成任务
ADD_EXECUTABLE(bin
/test ${TEST_SRCS}})

#添加链接库
TARGET_LINK_LIBRARIES(bin
/test ${LIBRARYS})


运行cmake CMakelists.txt,生成一份pp的Makefile文件--非常愉快的使用体验。

本文转自xiaotie博客园博客,原文链接http://www.cnblogs.com/xiaotie/archive/2006/04/17/376778.html如需转载请自行联系原作者


xiaotie 集异璧实验室(GEBLAB)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章