Conan Basic Usage
Overview
This skill provides guidance on using Conan, the C/C++ package manager. It covers project initialization, dependency management, and package creation.
Quick Start
1. Initialize a Project
To create a standard project structure for a C++ library using CMake:
mkdir myproject && cd myproject conan new cmake_lib -d name=myproject -d version=0.1
This generates:
- •
conanfile.py: The package recipe. - •
CMakeLists.txt: The build script. - •
src/&include/: Source and header files. - •
test_package/: A consumer project to verify the package.
2. Install Dependencies
To install dependencies defined in conanfile.py and build missing binaries:
conan install . --build=missing
3. Create/Build Package
To build the package and export it to your local Conan cache:
conan create .
This runs the build() method in conanfile.py, creates the binary package, and runs the tests in test_package/.
Common Tasks
Managing Dependencies
- •Install: Use
conan install .to resolve and install dependencies. Add--build=missingto compile from source if binaries aren't available for your configuration. - •Inspect: Use
conan graph info .to see the dependency tree.
Remote Management
- •List Remotes:
conan remote list - •Add Remote:
conan remote add <remote_name> <url> - •Upload:
conan upload <package_name> -r <remote_name>
Reference
- •
Project Structure: Best practices for directory layout. See project-structure.md.
- •
Configuration: Core settings, cache location, and profiles. See configuration.md.
- •
Runtime & Build Layout: Build directory structure and how to find shared libraries. See runtime-layout.md.
- •
Internal Files: Understanding
conanmanifest.txt,conaninfo.txt, etc. See internal-files.md. - •
Commands: Comprehensive list of common commands. See commands.md.