前几天给部门同事做Linux测试环境搭建的培训,为了给部门同事开拓眼界,所以将CMake构建工具作为拓展内容加到了培训中,并且一时兴起,将公司的几个项目全部加入了CMake构建内容,在改造过程中,一些过程记录如下。
1、一个简单的CMakeLists.txt文件
PROJECT(PROJECTNAME)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#Set project root directory.
SET(PROJECT_ROOT_DIRECTORY "/home/ubt/cmakepro")
#Set source lists.
SET(SRC_LIST all.c all.h ...)
#Include header files directory.
INCLUDE_DIRECTORIES(../../inc inc .)
# Include link library path
LINK_DIRECTORIES("${PROJECT_ROOT_DIRECTORY}/lib")
#Create exectuable file according source list.
ADD_EXECUTABLE(TargetName ${SRC_LIST})
#Set link library.
TARGET_LINK_LIBRARIES(TargetName cli fastdb sqlite3 config m pthread rt)
2、多级目录的扩展
1)、项目根目录CMakeLists.txt文件内容:
PROJECT(PROJECTNAME)
CMAKE_MINIMUM_REQUIRED(VERSION 2