使用ExternalProject\u Add和Boost支持配置
我目前正在通过以下命令通过使用ExternalProject\u Add和Boost支持配置,boost,cmake,b2,Boost,Cmake,B2,我目前正在通过以下命令通过ExternalProject\u Add构建Boost: ExternalProject_Add(Boost PREFIX workspace/Boost URL http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz URL_MD5 51528a0e3b33d9e10aaa311d9eb451e3 UPDATE_COMMAND ./bootstra
ExternalProject\u Add
构建Boost:
ExternalProject_Add(Boost
PREFIX workspace/Boost
URL http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
URL_MD5 51528a0e3b33d9e10aaa311d9eb451e3
UPDATE_COMMAND ./bootstrap.sh
CONFIGURE_COMMAND ""
BUILD_COMMAND ./b2 --layout=tagged link=static -s NO_BZIP2=1 cxxflags="-std=c++11" install
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
)
问题是,无论我实际想要构建哪个配置,这都将始终为boost构建发行版和调试变体/配置。在这种情况下,如何将当前配置“传递”到ExternalProject\u Add
命令
这似乎只是在“内部”构建工具(即ExternalProject\u Add
调用的工具)也是CMake时才起作用。然而,我不知道如何将这些信息传递给Boost的b2
上面的示例是针对Windows/VisualStudio2013的,因此是一个多配置的CMake目标,但理想情况下,我会有一些同样适用于单个配置目标的工具。
*\u COMMAND
arguments for accepts。使用这些表达式,您可以为BUILD\u命令
指定任何依赖于配置的选项,这样它就可以生成正确类型的boost。*\u命令
参数。使用这些表达式,您可以为BUILD\u命令
指定任何依赖于配置的选项,因此它将生成适当类型的boost。