Profile 插件¶
profile.py
扩展插件是一个 Python 脚本,它接收一个 profile 并允许检查和修改它。
此插件位于 extensions/plugins/profile.py
缓存文件夹中。
此 profile.py
包含一个默认实现,该实现会执行以下操作:
将尝试为
msvc
和clang
编译器(在 Windows 上)定义compiler.runtime_type
(如果尚未定义),并将其定义为匹配settings.build_type
。这允许用户在 profiles 中不定义它,而是仅通过-s build_type=Debug
在命令行中方便地进行切换。如果定义了
compiler.cppstd
值,它将检查该值以验证当前编译器版本是否支持它。例如,如果开发人员尝试使用-s compiler=gcc -s compiler.version=5 -s compiler.cppstd=20
,将会引发一个错误。尽管
profile.py
插件在处理compiler.cstd
检查方面做了一些准备,但它们尚未实现,因此该插件在定义错误方面将保持宽容,请确保compiler.cstd
确实受您的编译器版本支持。
用户可以自定义此 profile.py
并通过 conan config install
进行分发,在这种情况下,应该删除前几行。
# This file was generated by Conan. Remove this comment if you edit this file or Conan
# will destroy your changes.
并且 profile.py
应该包含一个具有以下签名的函数:
def profile_plugin(profile):
settings = profile.settings
print(settings)
当计算出一个 profile 时,它将显示类似以下内容:
OrderedDict([('arch', 'x86_64'), ('build_type', 'Release'), ('compiler', 'msvc'), ('compiler.cppstd', '14'), ('compiler.runtime', 'dynamic'), ('compiler.runtime_type', 'Release'), ('compiler.version', '192'), ('os', 'Windows')])
另请参阅
请参阅关于 Conan profiles 的文档。