转载自 CMake——第三方库引入 - 简书 (jianshu.com)
对于大型工程项目,我们往往需要引入一些第三方库来帮助我们更好的解决问题,对于第三方库,有的是编译好的,有的是源码,情况不同,处理方式不同,由于笔者这方面也是刚入门,所以在此记下笔记,以备后续需要.
1.对于有.cmake的第三方库:
list(APPEND CMAKE_PREFIX_PATH "./thirdParty/opencv/build") #.cmake所在路径 find_package(OpenCV REQUIRED) add_executable(project main.cpp)
target_link_libraries(project ${OpenCV_LIBS}) #将exe与第三方库链接
2.对于需要源码编译(例如src文件夹中含有一堆.h,.cpp文件等)
file(GLOB_RECURSE <变量名> "src/.hpp" "src/.cpp" "src/.h" "src/.c")
add_library(<库名> STATIC ${变量名})
3.对于已经编译好的第三方库
add_library(<库名> INTERFACE IMPORTED) #将已编译好的include和lib封装成你想要的库target_include_directories(<库名> INTERFACE <include文件夹所在路径>)
target_link_directories(<库名> INTERFACE <lib文件夹所在路径>)
target_link_libraries(<库名> INTERFACE <需要的.lib文件>)
4.将很多第三方库统一放在一个文件夹 “thirdparty” 下
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_target_properties(<库名> PROPERTIES FOLDER "thirdparty")