Profile plugin¶
The profile.py extension plugin is a Python script that receives one profile and allow
checking and modifying it.
This plugin is located in the extensions/plugins/profile.py cache folder.
This profile.py contains a default implementation that does:
- Will try to define - compiler.runtime_typefor- msvcand- clangcompilers (in Windows) if it is not defined, and it will define it to match the- settings.build_type. That allow users to let it undefined in profiles, and switch it conveniently in command line just with- -s build_type=Debug
- Will check the - compiler.cppstdvalue if defined to validate if the current compiler version has support for it. For example, if a developer tries to use- -s compiler=gcc -s compiler.version=5 -s compiler.cppstd=20, it will raise an error.
- Even though the - profile.pyplugin has some provision to handle- compiler.cstdchecks, they are not implemented yet, so the plugin will be permissive regarding definition errors, please make sure the- compiler.cstdis actually supported by your compiler version.
Users can customize this profile.py and distribute it via conan config install, in that case, the first lines should be removed:
# This file was generated by Conan. Remove this comment if you edit this file or Conan
# will destroy your changes.
And profile.py should contain one function with the signature:
def profile_plugin(profile):
    settings = profile.settings
    print(settings)
When a profile is computed, it will display something like:
OrderedDict([('arch', 'x86_64'), ('build_type', 'Release'), ('compiler', 'msvc'), ('compiler.cppstd', '14'), ('compiler.runtime', 'dynamic'), ('compiler.runtime_type', 'Release'), ('compiler.version', '192'), ('os', 'Windows')])
See also
- See the documentation about the Conan profiles.