cmake模板—具有目录结构的简单项目

cmake模板—具有目录结构的简单项目

目录结构

进入build,执行cmake …;make;make install(可执行文件会被放在/usr/local/bin)

├── bin
├── build
├── CMakeLists.txt
├── include
│   ├── bye.h
│   └── hello.h
├── lib
├── README.md
└── src
    ├── bye.cpp
    ├── CMakeLists.txt
    ├── hello.cpp
    └── main.cpp

顶层CMakeLists.txt

#声明要求的最小版本
cmake_minimum_required(VERSION 2.6)
#项目名称
PROJECT(hello)

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -O2")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -Wall -O2")
#添加头文件的查找目录 && 在编译参数"-l" ,指定搜索头文件的路径
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)

AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src SEC_LIST)

ADD_EXECUTABLE(main ${SEC_LIST})
 
 
#EXECUTABLE_OUTPUT_PATH && LIBRARY_OUTPUT_PATH用来指定二进制文件位置和库文件路径,这里不包括中间文件
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
 
INSTALL(TARGETS main DESTINATION bin)

#test :make test,测试程序是否正常执行
ENABLE_TESTING()
ADD_TEST(NAME SimpleTest COMMAND main)

#增加客制化命令make run运行main
ADD_CUSTOM_TARGET(run COMMAND main)

src里的CMakeLists.txt

当目录中的内容不是单独的一部分时,不适合使用子目录的CMakeLists.txt,适合使用AUX_SOURCE_DIRECTORY来添加参数.

发布了80 篇原创文章 · 获赞 68 · 访问量 7558

猜你喜欢

转载自blog.csdn.net/weixin_44048823/article/details/100824199