可以在settings.yml文件的根目录中添加新的设置,例如:

    1. os:
    2. Windows:
    3. subsystem: [None, cygwin, msys, msys2, wsl]
    4. distro: [None, RHEL6, CentOS, Debian]

    如果要从定义此新设置的配方创建不同的二进制文件,则需要在配方中添加以下内容:

    1. class Pkg(ConanFile):
    2. settings = "os", "compiler", "build_type", "arch", "distro"

    值None允许不定义它(这是默认值,对所有其他发行版均有效)。 可以在配置文件中为其定义值:

    1. [settings]
    2. os = "Linux"
    3. distro = "CentOS"
    4. compiler = "gcc"

    并根据需要使用它们的值来影响我们的构建:

    1. class Pkg(ConanFile):
    2. settings = "os", "compiler", "build_type", "arch", "distro"
    3. def build(self):
    4. cmake = CMake(self)
    5. if self.settings.distro == "CentOS":
    6. cmake.definitions["SOME_CENTOS_FLAG"] = "Some CentOS Value"
    7. ...