CMake是一个用来管理项目工程的一个工具,使用CMake来编译项目,可以避免使用一些集成环境所带来的麻烦,但是作为入门级选手编写CMake还是有点吃力的。所以选择了一个比较通用的CMakelists.txt模板,大多数项目都可以在上面修改和扩展。
这是一个rtmpDownload项目的CMakelists.txt,因此需要修改的工程名,如果增加了so库,在最后还需要连接so库(这里连接的是rtmp的库)
源码:
#=======================================================================
#Cmake最低版本要求
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(rtmpDownload) #项目名称
#允许gdb调试
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
#添加C++11支持及其他选项
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs -Wno-deprecated")
#=========================================================================
#添加所有头文件
include_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/src"
)
#将所有的源文件
file(GLOB td_src
"${CMAKE_CURRENT_SOURCE_DIR}/src/*"
)
#添加动态库so
link_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/lib"
)
#=========================================================================
#生成可执行文件
add_executable(rtmpDownload ${td_src})
#添加链接库
target_link_libraries(rtmpDownload
rtmp
)