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(放根目录下)可以这样写:
运行cmake CMakelists.txt,生成一份pp的Makefile文件--非常愉快的使用体验。
网址:
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})
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文件--非常愉快的使用体验。
版权所有,欢迎转载