igamenovoer-conan-basic-usage
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.