Conan 2.3 Documentation
4.65 MB
748 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
The document introduces Conan 2.3, an open-source, decentralized C/C++ package manager. It highlights several key features including a new graph model for better binary relationships, a public Python API for automation, enhanced package_id computation, support for multiple revisions in the cache, and improved logging and configuration options. The document also covers integration with various build systems and tools, as well as new features like package lists, metadata files, and backup sources for reproducibility. | ||
AI总结 | ||
### Conan 2.3 Documentation Summary
**Overview of Conan**
Conan is an open-source, decentralized C/C++ package manager that supports cross-platform development and integrates with various build systems and compilers. It provides tools for managing dependencies, building, and distributing packages.
---
**Key Features and Improvements in Conan 2.3**
1. **New Graph Model**
- Introduced a enhanced graph model to better represent C and C++ binaries' relationships, compilation, and linkage.
- Added support for requirement traits (e.g., headers, libs, build, run, test) and package types (e.g., static, shared, header-only).
2. **Public Python API**
- A modular, documented Python API is now available, enabling advanced automation and integration.
- Sub-APIs for functionalities like package list management, search, and profile handling are provided.
3. **Build System Integrations**
- Enhanced integration with tools like CMake via `CMakeDeps` and `CMakeToolchain`, offering more flexibility and transparency.
4. **Custom Commands and CLI**
- Introduced new user-defined commands that can be built using the Python API and shared via `conan config install`.
- Improved CLI interface with structured command output.
5. **Package Deployment and Cache Management**
- Added a deployer mechanism to copy artifacts from the cache to user folders.
- Enhanced cache functionality to store multiple revisions simultaneously.
6. **Binary Model and Package ID**
- Simplified and more powerful package ID computation, considering detailed graph model and dependencies.
- Added compatibility extensions for global binary compatibility definitions.
- Improved lockfile functionality for better reproducibility over time.
7. **Configuration and Environment Management**
- Enhanced configuration with `[conf]` and new `conan.tools.env` tools for better environment management.
8. **Logging and Automation**
- Introduced `CONAN_LOG_LEVEL` environment variable to control verbosity, useful for CI pipelines.
- Added support for JSON log format for log processors.
9. **Package Lists and Metadata Files**
- Added bulk operations for packages using "Package Lists," enabling upload, download, and removal of multiple packages in one command.
- Introduced metadata files to store additional information like build logs, test results, and coverage data.
10. **Backup Sources and Configuration Installation**
- Added "backup sources" to store copies of third-party sources, ensuring reproducibility.
- Allowed configuration installation from Conan packages using `conan config install-pkg`.
11. **CI/CD and IDE Integration**
- Enhanced support for CLion plugin with better CMake integration and automatic configuration.
12. **Improved Binary Compatibility and Lockfiles**
- Used package immutability for better update, install, and upload flows.
- Added profile checking, package signing, and build command wrapping via extensions plugins.
---
**Migration and Compatibility**
- Conan 2.0 introduces backward compatibility with Conan 1.X, ensuring that binaries from both versions can coexist in the same repositories.
- A migration guide is available for users transitioning from Conan 1.X to 2.0.
---
**Use Cases**
- **Package Management**: Conan simplifies dependency management for C/C++ projects across platforms.
- **CI/CD Integration**: Enhanced logging, metadata, and configuration options make Conan suitable for automated workflows.
- **Custom Automation**: The new Python API enables developers to build custom commands and integrate Conan into their tools.
---
**Conclusion**
Conan 2.3 offers significant improvements in dependency management, build automation, and integration capabilities, making it a powerful tool for C/C++ development. |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
736 页请下载阅读 -
文档评分