2
我想在我的項目中有一個安全設置。每次我們設置東西時,我都不想搞亂安裝boost和其他庫。CMake:自動增強下載和構建,如果沒有找到
因此,如果沒有找到所需的Boost版本,cmake會下載並編譯boost並將該版本用於該項目,這將非常棒。
有沒有簡單的可能性?
我發現this在女僕安全項目。但我對cmake並沒有那麼有經驗,也不知道如何使用它。
我想在我的項目中有一個安全設置。每次我們設置東西時,我都不想搞亂安裝boost和其他庫。CMake:自動增強下載和構建,如果沒有找到
因此,如果沒有找到所需的Boost版本,cmake會下載並編譯boost並將該版本用於該項目,這將非常棒。
有沒有簡單的可能性?
我發現this在女僕安全項目。但我對cmake並沒有那麼有經驗,也不知道如何使用它。
您可以使用this查找模塊我創建。
cmake
的目錄中。CMAKE_MODULE_PATH
。以下是完成此操作的一種方法:list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
。BOOST_REQUESTED_VERSION
。例如,set(BOOST_REQUESTED_VERSION 1.61)
。find_package(Boost COMPONENTS system program_options)
如果升壓沒有安裝在你的系統將是下載並編譯上即時,在構建時(即當您運行make
)。如果它安裝在您的系統中,則不會下載任何內容。
(可選)您可以將BOOST_ROOT_DIR
更改爲系統中安裝boost的位置的根目錄。如果它安裝在非標準位置,這很有用。
這是要走的路,對於不提供可靠cmake構建的項目。如果該項目已經基於CMake,則更容易,您可以使用[ExternalProject_Add](http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html)。這是一個[微不足道的示例](https://github.com/oblitum/operations),它從系統目錄中獲取gmock/gtest,但可以輕鬆更改爲從Web下載它們。 – 2015-02-05 14:42:53
查看'ExternalProject_Add',它應該允許你下載boost的源代碼並構建它。 http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html – drescherjm 2015-02-05 14:44:45
順便說一句,看着你公佈的女僕安全項目的cmake鏈接使用ExternalProject_Add建立提升,所以你有一個例子.. – drescherjm 2015-02-05 14:53:25