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=missing to 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.