通用的 cmakeLists.txt 文件

来源:互联网 发布:桌面规划软件 编辑:程序博客网 时间:2024/05/16 05:05
PROJECT(test CXX) #项目名称


#Cmake最低版本要求
CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 


#允许gdb调试
set(CMAKE_BUILD_TYPE "RELEASE")
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")
#set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS -g -ftest-coverage -fprofile-arcs"})


#添加dict子目录
#add_subdirectory(dict) 


#当前目录下所有源文件赋给DIR_SRCS
AUX_SOURCE_DIRECTORY(. DIR_SRCS) 


## for lib   
#file(GLOB_RECURSE include_HEADES "./*.h")
#file(GLOB_RECURSE test_src "./*.[ch]pp")
#add_library(test_python SHARED ${include_HEADES}
# ${test_src}
#   )
#target_link_libraries(test libface_identify.so)
#生成可执行文件
add_executable(test ${DIR_SRCS}) 


#添加C++11编译选项,但是只有CMAKE 3.1支持
#target_compile_features(test PRIVATE cxx_range_for)


#添加链接库
#target_link_libraries(test xxx)
#target_link_libraries(test xxx)






比较通用 的 CMakeLists.txt    如果是要生成lib 可以使用 
## to lib   
#file(GLOB_RECURSE include_HEADES "./*.h")
#file(GLOB_RECURSE test_src "./*.[ch]pp")
#add_library(test_python SHARED ${include_HEADES}
# ${test_src}
#   )
如果是要生成静态库  把SHARED 改成 STATIC 即可


去掉注释部分


如果有一些其他依赖三方库文件  xxx 是库名字 如:libmcoomt.so
可以用 target_link_libraries(test mcoomt)





0 0