cmake 学习笔记

添加库

cmake_minimum_required(VERSION 3.9) project(answer) # 添加 libanswer 库目标,STATIC 指定为静态库 add_library(libanswer STATIC answer.cpp) add_executable(answer main.cpp) # 为 answer 可执行目标链接 libanswer target_link_libraries(answer libanswer)

放入子文件夹:然后接口说明需要连接

target_include_directories
add_library(libanswer STATIC answer.cpp)

#[[
message 可用于打印调试信息或错误信息,除了 STATUS
外还有 DEBUG WARNING SEND_ERROR FATAL_ERROR 等。
#]]
message(STATUS "Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")

#[[
给 libanswer 库目标添加 include 目录,PUBLIC 使
这个 include 目录能被外部使用者看到。

当链接 libanswer 库时,这里指定的 include 目录会被
自动添加到使用此库的 target 的 include 路径中。
#]]
target_include_directories(libanswer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

系统中安装的第三方库可以通过 find_package 找到,像之前的 libanswer 一样链接:

find_package(CURL REQUIRED)
target_link_libraries(libanswer PRIVATE CURL::libcurl)

库的头文件目录

target_include_directories(my_compresslib
        PUBLIC include src
        )
原文地址:https://www.cnblogs.com/lhclqslove/p/15761731.html