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})