CMake练习

本文详细介绍了如何使用CMake在特定目录结构中编译代码,包括自动生成库、链接第三方库(如Boost)以及设置Boost路径。CMakeLists.txt文件的配置确保了正确链接CustomRandom和PrintList库。
摘要由CSDN通过智能技术生成

1.主要目的

使用CMake对常用的目录格式下的代码进行编译,涉及内容如下:
1.程序生成自己的库,并链接
2.链接三方库
3.添加Boost库路径

2.目录结构

└── common
    ├── code
    │   ├── librandom
    │   │   ├── CustomRandom.cpp
    │   │   └── CustomRandom.h
    │   └── main.cpp
    └── thirdparty
        └── printlist 
            ├── libPrintList.a
            └── printList.h

3.编写CMakeLists.txt

3.1.编写common文件夹下的CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

project(common)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

set(CODE_PATH "${PROJECT_SOURCE_DIR}/code")
set(CUSTOMRANDOM_LIB_PATH "${CODE_PATH}/librandom")
set(PRINTLIST_LIB_PATH "${PROJECT_SOURCE_DIR}/thirdparty/printlist")
set(BOOST_PATH "C:/boost/boost_1_80_0")

add_subdirectory("${CUSTOMRANDOM_LIB_PATH}")
add_subdirectory("${CODE_PATH}")

3.2.编写librandom文件夹下的CMakeLists.txt

add_library(CustomRandom CustomRandom.cpp)

3.3.编写code文件夹下的CMakeLists.txt

add_executable(PrintRandom main.cpp)

target_include_directories(PrintRandom PUBLIC
                           "${CODE_PATH}"
                           "${CUSTOMRANDOM_LIB_PATH}"
                           "${PRINTLIST_LIB_PATH}"
                           "${BOOST_PATH}") 

target_link_directories(PrintRandom PUBLIC
                        "${PRINTLIST_LIB_PATH}")

target_link_libraries(PrintRandom PUBLIC 
                      CustomRandom
                      PrintList)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邺清璇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值