我想在我的项目中进行故障安全设置。每次我们设置内容时,我都不想安装boost和其他库。
所以如果找不到所需的Boost版本会很棒,cmake会下载并编译boost并将该版本用于该项目。
有可能吗?
我在maid-safe项目中找到了this。但我对cmake没有经验,也不知道如何使用它。
答案 0 :(得分:3)
您可以使用我创建的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)
如果您的系统中未安装 Boost ,则会在构建时(即运行{{1}时下载并动态编译) })。如果它已安装在您的系统中,则不会下载任何内容。
(可选)您可以将make
更改为系统中安装了boost的位置的根目录。如果它安装在非标准位置,这将非常有用。