conanfile.py¶
The conanfile.py
is the recipe file of a package, responsible for defining how to build it and consume it.
from conan import ConanFile class HelloConan(ConanFile): ...
Important
conanfile.py recipes uses a variety of attributes and methods to operate. In order to avoid collisions and conflicts, follow these rules:
- Public attributes and methods, like
build()
,self.package_folder
, are reserved for Conan. Don’t use public members for custom fields or methods in the recipes. - Use “protected” access for your own members, like
self._my_data
ordef _my_helper(self):
. Conan only reserves “protected” members starting with_conan
.
Contents:
- Attributes
- name
- version
- package_type
- description
- homepage
- url
- license
- author
- topics
- user, channel
- settings
- options
- default_options
- options_description
- requires
- tool_requires
- build_requires
- test_requires
- exports
- exports_sources
- generators
- build_policy
- upload_policy
- no_copy_source
- source_folder
- export_sources_folder
- build_folder
- package_folder
- recipe_folder
- folders
- cpp
- cpp_info
- buildenv_info
- runenv_info
- conf_info
- dependencies
- conf
- info
- revision_mode
- python_requires
- python_requires_extend
- conan_data
- deprecated
- provides
- win_bash
- win_bash_run
- Other
- Methods