天天看点

CMake是个好东西

相比起繁杂难记的autotools,CMake真是一个好东东啊!!

网址:

<a href="http://www.cmake.org/">http://www.cmake.org</a>

文档:

<a href="http://www.cmake.org/HTML/Documentation.html">http://www.cmake.org/HTML/Documentation.html</a>

假定项目为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)

继续阅读