Skip to content

A generic CMake toolchain file that calls Conan CLI and chainloads the generated project related toolchain file.

License

Notifications You must be signed in to change notification settings

heilkn/conan-toolchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conan Toolchain for CMake

This project is a proposal to enable seamless Conan integration into development and CI workflows based on CMake builds.

The proposal is discussed upstream in conan-io/conan #12.

Example Usage

The following snippet shows, how cmake can be invoked from a pwsh command-line and use conan to provide the dependencies. (The character ` is used to break the command on several lines for readability.)

cmake -S <source-folder> -B <build-folder> `
    -G Ninja `
    -DCMAKE_BUILD_TYPE=Release `
    --toolchain <path-to:conan-toolchain.cmake> `
    -DCONAN_FILE=<path-to:conanfile.txt|conanfile.py> `
    -DCONAN_PROFILE=<path-to:conan profile>
cmake --build <build-folder> --config Release

Concretely, you can run from the checkout directory of this repository

cmake -S test -B build `
    -G Ninja `
    -DCMAKE_BUILD_TYPE=Release `
    --toolchain "$(pwd)/src/conan-toolchain.cmake" `
    -DCONAN_FILE="$(pwd)/test/conanfile.txt" `
    -DCONAN_PROFILE="$(pwd)/test/v143.txt"
cmake --build build --config Release

Example Projects

For complete examples, check the CMakePresets.json or build.ps1 files in the projects contained in the test subdirectory.

About

A generic CMake toolchain file that calls Conan CLI and chainloads the generated project related toolchain file.

Topics

Resources

License

Stars

Watchers

Forks