cmake

目录结构(目录名为untitled):

├── bin
├── build
├── CMakeLists.txt
├── lib
├── main.cpp
└── src
    ├── base.cpp
    ├── base.h
    └── CMakeLists.txt
  • build:生成Makefile及其他中间产物文件。
  • lib:用于保存编译生成的库文件。
  • bin:用于保存编译生成的可执行文件。
  • src:用于保存源文件(此处是作为一个子模块库的形式)

untitled/CMakeLists.txt

# 指定运行此配置文件所需的 CMake 的最低版本
cmake_minimum_required(VERSION 2.8)

# 指定项目的名称,一般和项目的文件夹名称对应
project(untitled)

set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# 查找当前目录下的所有源文件,并将名称保存到 DIR_SRCS 变量
# 语法:aux_source_directory(<dir> <variable>)
aux_source_directory(. DIR_SRCS)

add_subdirectory(src)

# 将可执行文件名称设置为项目名称,这里的${PROJECT_NAME}是一个变量,其值为:untitled
# 使用 DIR_SRCS 中包含的源文件编译出可执行文件
#add_executable(${PROJECT_NAME} ${DIR_SRCS})
add_executable(${PROJECT_NAME} main.cpp)

target_link_libraries(${PROJECT_NAME} Base)

# 头文件目录
#INCLUDE_DIRECTORIES()

 

untitled/src/CMakeLists.txt

# 查找当前目录下的所有源文件
aux_source_directory(. DIR_LIB_SRCS)

# 生成链接库
add_library (Base ${DIR_LIB_SRCS})

 

posted @ 2019-03-20 16:49  代萌  阅读(179)  评论(0编辑  收藏  举报