通用的 cmakeLists.txt 文件
2017-04-24 14:57
417 查看
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)
#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)
相关文章推荐
- Cmake CMakeLists.txt配置文件通用模板
- CMakeLists.txt文件写法(5):测试平台相关信息
- CMakeLists.txt文件写法(7):添加查找头文件的路径
- 以一个实例说明 CMakeLists.txt 文件的编写
- ros中创建msg和srv文件时,配置CMakeLists.txt文件问题
- CMakeLists.txt文件写法(1):要求CMake根据指定的源文件生成可执行文件
- ROS编程中如何配置CMakelists.txt来调用外部的动态链接库(.so文件)
- 使用cmake 编写一个简单的CMakeLists.txt文件
- CMakeLists.txt文件
- 以一个实例说明 CMakeLists.txt 文件的编写
- CMakeLists.txt文件写法(8):添加库文件的搜索路径
- ros中创建msg和srv文件时,配置CMakeLists.txt文件问题
- 熟悉 CMake(二)—— 以一个实例说明 CMakeLists.txt 文件的编写
- 使用CMake编写CMakeLists.txt文件
- ROS知识(8)----CMakeLists.txt文件编写的理解
- CMakeLists.txt文件写法(6):要求CMake根据指定的源文件生成库文件
- CMakeLists.txt文件写法(12):查找特定软件的安装目录
- CMakeLists.txt文件写法
- 多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)
- ROS学习(六):CMakeLists.txt 文件