https://docs.conan.io/en/latest/reference/config_files/settings.yml.html

    Conan中包的输入设置是在~/. Conan /settings中预定义的。yml文件,所以只有少数像os或编译器是可能的。这些是默认值,但是可以自定义它们,请参阅自定义设置。

    1. # Only for cross building, 'os_build/arch_build' is the system that runs Conan
    2. os_build: [Windows, WindowsStore, Linux, Macos, FreeBSD, SunOS, AIX]
    3. arch_build: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, sh4le]
    4. # Only for building cross compilation tools, 'os_target/arch_target' is the system for
    5. # which the tools generate code
    6. os_target: [Windows, Linux, Macos, Android, iOS, watchOS, tvOS, FreeBSD, SunOS, AIX, Arduino, Neutrino]
    7. arch_target: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le]
    8. # Rest of the settings are "host" settings:
    9. # - For native building/cross building: Where the library/program will run.
    10. # - For building cross compilation tools: Where the cross compiler will run.
    11. os:
    12. Windows:
    13. subsystem: [None, cygwin, msys, msys2, wsl]
    14. WindowsStore:
    15. version: ["8.1", "10.0"]
    16. WindowsCE:
    17. platform: ANY
    18. version: ["5.0", "6.0", "7.0", "8.0"]
    19. Linux:
    20. Macos:
    21. version: [None, "10.6", "10.7", "10.8", "10.9", "10.10", "10.11", "10.12", "10.13", "10.14", "10.15", "11.0"]
    22. Android:
    23. api_level: ANY
    24. iOS:
    25. version: ["7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "9.0", "9.1", "9.2", "9.3", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0", "13.1", "13.2", "13.3", "13.4", "13.5", "13.6"]
    26. watchOS:
    27. version: ["4.0", "4.1", "4.2", "4.3", "5.0", "5.1", "5.2", "5.3", "6.0", "6.1"]
    28. tvOS:
    29. version: ["11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0"]
    30. FreeBSD:
    31. SunOS:
    32. AIX:
    33. Arduino:
    34. board: ANY
    35. Emscripten:
    36. Neutrino:
    37. version: ["6.4", "6.5", "6.6", "7.0"]
    38. arch: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv4, armv4i, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le]
    39. compiler:
    40. sun-cc:
    41. version: ["5.10", "5.11", "5.12", "5.13", "5.14"]
    42. threads: [None, posix]
    43. libcxx: [libCstd, libstdcxx, libstlport, libstdc++]
    44. gcc: &gcc
    45. version: ["4.1", "4.4", "4.5", "4.6", "4.7", "4.8", "4.9",
    46. "5", "5.1", "5.2", "5.3", "5.4", "5.5",
    47. "6", "6.1", "6.2", "6.3", "6.4", "6.5",
    48. "7", "7.1", "7.2", "7.3", "7.4", "7.5",
    49. "8", "8.1", "8.2", "8.3", "8.4",
    50. "9", "9.1", "9.2", "9.3",
    51. "10", "10.1"]
    52. libcxx: [libstdc++, libstdc++11]
    53. threads: [None, posix, win32] # Windows MinGW
    54. exception: [None, dwarf2, sjlj, seh] # Windows MinGW
    55. cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
    56. Visual Studio: &visual_studio
    57. runtime: [MD, MT, MTd, MDd]
    58. version: ["8", "9", "10", "11", "12", "14", "15", "16"]
    59. toolset: [None, v90, v100, v110, v110_xp, v120, v120_xp,
    60. v140, v140_xp, v140_clang_c2, LLVM-vs2012, LLVM-vs2012_xp,
    61. LLVM-vs2013, LLVM-vs2013_xp, LLVM-vs2014, LLVM-vs2014_xp,
    62. LLVM-vs2017, LLVM-vs2017_xp, v141, v141_xp, v141_clang_c2, v142,
    63. llvm, ClangCL]
    64. cppstd: [None, 14, 17, 20]
    65. clang:
    66. version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0",
    67. "5.0", "6.0", "7.0", "7.1",
    68. "8", "9", "10", "11"]
    69. libcxx: [None, libstdc++, libstdc++11, libc++, c++_shared, c++_static]
    70. cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
    71. runtime: [None, MD, MT, MTd, MDd]
    72. apple-clang: &apple_clang
    73. version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0"]
    74. libcxx: [libstdc++, libc++]
    75. cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
    76. intel:
    77. version: ["11", "12", "13", "14", "15", "16", "17", "18", "19"]
    78. base:
    79. gcc:
    80. <<: *gcc
    81. threads: [None]
    82. exception: [None]
    83. Visual Studio:
    84. <<: *visual_studio
    85. apple-clang:
    86. <<: *apple_clang
    87. qcc:
    88. version: ["4.4", "5.4"]
    89. libcxx: [cxx, gpp, cpp, cpp-ne, accp, acpp-ne, ecpp, ecpp-ne]
    90. build_type: [None, Debug, Release, RelWithDebInfo, MinSizeRel]
    91. cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20] # Deprecated, use compiler.cppstd

    可以看到,设置可以接受的可能值被限制在同一个文件中。这样做是为了确保匹配的命名和拼写,以及在用户和OSS社区中定义一个通用的设置模型。如果允许将设置设置为任何值,则可以使用any。如果允许将一个设置设置为任何值,或者也可以取消设置,您可以使用[None, any]。

    但是,可以根据需要修改此配置文件,包括新设置或子设置及其值。如果您想分发一个统一的设置。文件可以使用柯南配置安装命令。