可以在settings.yml文件的根目录中添加新的设置,例如:
os:
Windows:
subsystem: [None, cygwin, msys, msys2, wsl]
distro: [None, RHEL6, CentOS, Debian]
如果要从定义此新设置的配方创建不同的二进制文件,则需要在配方中添加以下内容:
class Pkg(ConanFile):
settings = "os", "compiler", "build_type", "arch", "distro"
值None允许不定义它(这是默认值,对所有其他发行版均有效)。 可以在配置文件中为其定义值:
[settings]
os = "Linux"
distro = "CentOS"
compiler = "gcc"
并根据需要使用它们的值来影响我们的构建:
class Pkg(ConanFile):
settings = "os", "compiler", "build_type", "arch", "distro"
def build(self):
cmake = CMake(self)
if self.settings.distro == "CentOS":
cmake.definitions["SOME_CENTOS_FLAG"] = "Some CentOS Value"
...