昨天第一次写cmake 今天算是差不多能弄明白了。慢慢钻研吧。每天都在学习进步。每天进步一点点。今天是2015年的最后一天了。深圳的空气中,微信朋友圈中都弥漫着跨年的硝烟。
不强迫自己永远不知道自己有多大实力。只有逼迫自己你才知道自己能做到什么样子。加油吧 ,小伙子。
cmake 主要的函数
//定义了这个工程会生成一个文件名为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表
ADD_EXECUTABLE(xxx ${源文件列表} ${源文件列表})
//定义了库生成的路径,LIBRARY_OUTPUT_PATH是一个内部变量,存放库生成路径
SET(LIBRARY_OUTPUT_PATH ${HELLO_SOURCE_DIR}/lib)
//定义库文件需要的源文件
SET(SRC_LIST hello.c)
//定义非标准库头文件要搜索的路径
INCLUDE_DIRECTORIES(${HELLO_SOURCE_DIR}/include)
//定义生成的库的名字,以及生成库的类型和生成库需要的源文件
ADD_LIBRARY(util STATIC ${SRC_LIST})
//定义c的编译器为g++,防止出现C和C++代码在不指定C编译器的情况下默认使用gcc,导致系统编译混乱
SET(CMAKE_C_COMPILER g++)
SET(EXECUTABLE_OUTPUT_PATH ${HELLO_SOURCE_DIR}/bin)
SET(SRC_LIST main.cpp)
//定义工程的include文件夹,其中存放使用到的库的头文件,LINK_DIRECTORIES是
INCLUDE_DIRECTORIES(${HELLO_SOURCE_DIR}/include)
//定义工程的库文件,其中存放着库文件
LINK_DIRECTORIES(${HELLO_SOURCE_DIR}/lib)
//定义生成的可执行文件
ADD_EXECUTABLE(hello ${SRC_LIST})
//定义链接时需要的库文件
TARGET_LINK_LIBRARIES(hello util)