項目開發(fā)瞬雹,需要在項目中使用第三方庫。但是考慮到需要用到的太多,為了提高項目的可用性,決定使用第三方導入的方式(使用ExternalProject_Add指令)揩魂。
官方說明
基本說明
使用之前
在使用使用ExternalProject_Add之前需要導入插件
include(ExternalProject)
關于導入方式
導入的工程可以直接在網絡端(使用git/svn等工具)也或為本地URL,具體配置如下圖:
其中URL可以直接使用本地地址酝豪,但是文件必需為壓縮文件
使用配置
先貼代碼:
set(libhello_src ${CMAKE_CURRENT_SOURCE_DIR}/libhello/src)
set(libhello_binary ${CMAKE_CURRENT_SOURCE_DIR}/libhello/build)
set(libhello_download ${CMAKE_CURRENT_SOURCE_DIR}/libhello/download)
set(libhello_install ${CMAKE_CURRENT_SOURCE_DIR}/libhello/install)
ExternalProject_Add(libhello
URL "/Users/wangshengxing/project/c/cmake/sharelib.zip"
DOWNLOAD_DIR ${libhello_download}
SOURCE_DIR "${libhello_src}"
CONFIGURE_COMMAND ${CMAKE_COMMAND} ${libhello_src}
-DCMAKE_INSTALL_PREFIX=${libhello_install}
BINARY_DIR ${libhello_binary}
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
)
URL:代碼外部依賴的路徑
DOWNLOAD_DIR:存放下載文件的路徑
SOURCE_DIR:存入編譯源文件的路徑
CONFIGURE_COMMAND:執(zhí)行cmake文件的指令敛惊,類似平常的"cmake ../"
BINARY_DIR:輸出目前的目錄,也就是平常使用的build目錄
INSTALL_COMMAND:等效于手動輸入"make install"
以上編譯完工程后會在libhello文件夾下輸出各類文件: