Cmake:標準のLinux C ++プロジェクトの構築

1.エンジニアリング構造

各コードファイルには、CMakeLists.txtファイルが含まれています

.
├── CMakeLists.txt
├── build
├── mylib
│   ├── CMakeLists.txt
│   ├── mymath.cpp
│   └── mymath.hpp
└── src
    ├── CMakeLists.txt
    └── demo.cpp

3 directories, 6 files

2. CMakeLists.txt

(1)MYLIB路径下的CMakeLists.txt
├──MYLIB
│├──CMakeLists.txt
│├──mymath.cpp
│└──mymath.hpp

# 把该文件加的所有文件 用变量DIR_LIB_SRCS表示
AUX_SOURCE_DIRECTORY(. DIR_LIB_SRCS)
# 设置编译后输出的库文件路径
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
# 将mylib文件,生成Mylib.a库文件
ADD_LIBRARY(Mylib STATIC ${DIR_LIB_SRCS})

SRCパスの下に(2)CMakeLists.txt
└──SRC
├──CMakeLists.txt
└──demo.cpp

# 添加mylib路径
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/mylib)
# 生成可执行文件的路径
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
# 把该文件加的所有文件 用变量DIR_LIB_SRCS表示
AUX_SOURCE_DIRECTORY(./ DIR_SRCS)
# 生成可执行文件demo4
ADD_EXECUTABLE(demo4 ${DIR_SRCS})
# 链接Mylib文件 生成demo5
TARGET_LINK_LIBRARIES(demo4 Mylib)

(3)トップレベルのCMakeLists.txt

# 设置最低的cmake版本
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
# 设置工程名
PROJECT(demo5)
# 添加子文件夹路径
ADD_SUBDIRECTORY(./mylib)
ADD_SUBDIRECTORY(./src)

3.実装

# cd build && cmake .. && make
# ./bin/demo4 2 10

おすすめ

転載: blog.csdn.net/weixin_40437821/article/details/113468086