添加库
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
)