CMakeFiles示例

1、目录结构如下

image

2、外层CMakeLists.txt

# 声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 3.16.3)
set(CMAKE_CXX_STANDARD 11)  
# 声明一个 cmake 工程
project(testcjson)
# 添加include目录存放.h文件
include_directories("jsoncpp/include")

# 添加库( 库名(自己设置) 库的实现文件及路径 )
#add_library(jsoncpp jsoncpp/)
add_subdirectory(jsoncpp)
# 添加一个可执行程序,语法:add_executable( 程序名(自己设置,最后用于执行./testcjson) 源代码文件及路径 )
add_executable(testcjson testcjson.cpp)
# 将库文件链接到可执行程序上(名字都是上面设置的,统一对应即可)
target_link_libraries(testcjson jsoncpp )

set(CMAKE_C_COMPILER gcc)
set(CMAKE_CXX_COMPILER g++)

3、内层CMakeLists.txt

image

project(jsoncpp)

aux_source_directory(. DIR_SRCS)
add_library(jsoncpp STATIC ${DIR_SRCS})

4、在外层执行

cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/f/PersonStudy/CCStudy/testjson
make
[ 66%] Built target jsoncpp
[ 83%] Building CXX object CMakeFiles/testcjson.dir/testcjson.cpp.o
[100%] Linking CXX executable testcjson
[100%] Built target testcjson

posted @ 2022-10-29 10:15  zhaogaojian  阅读(220)  评论(0编辑  收藏  举报