Skip to content

Several Conan examples as resources for documentation and blog posts

License

Notifications You must be signed in to change notification settings

angrifish25/examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Build Status AppVeyor

Conan Examples

Several Conan examples to complement the documentation and blog.

Examples

Example how to use Conan to consume binaries.

Documentation: https://docs.conan.io/en/latest/getting_started.html

Example how to use Conan commands to develop a package recipe.

Documentation: https://docs.conan.io/en/latest/developing_packages/package_dev_flow.html

Example how to use Conan Workspaces.

Documentation: https://docs.conan.io/en/latest/developing_packages/workspaces.html

Demonstrate how to use Protobuf to serialize data between C++ and Python.

Blog Post: https://blog.conan.io/2019/03/06/Serializing-your-data-with-Protobuf.html

Demonstrate how to use Folly to validate an URI using Futures, FBString, Executors, and Format.

Blog Post: https://blog.conan.io/2018/12/03/Using-Facebook-Folly-with-Conan.html

Demonstrate how to use Dear ImGui with Conan to add a GUI to an OpenGL3 application.

Use CMake to declare, export and install the targets of some libraries and using Conan to reuse them with find_package and the multi-configuration project.

Demonstrate how to use the cmake_find_package_multi generator to integrate seamlessly CMake with Conan using find_package in a multi-configuration project.

Example on how to create multi-configuration debug/release packages covering the N configs -> 1 package use case:

  • Remove the build_type from settings.
  • Have a CMake script that differentiate debug and release artifacts (set_target_properties(hello PROPERTIES DEBUG_POSTFIX _d)).
  • Have a build() that builds both configs.
  • Have a package_info() method that accounts for both configs self.cpp_info.debug.libs, etc.

Documentation: https://docs.conan.io/en/latest/creating_packages/package_approaches.html#n-configs-1-package

Lockfiles

When a package in a dependency graph is modified and a new version or revision is created, it is sometimes desired to test if that new version works well within a larger product or project, that is, when that package is part of a larger dependency graph. The packages that depend on the modified one might need to be rebuilt, but if something else changed, it is impossible to achieve reproducible builds.

Using lockfiles can enforce the same upstream dependencies, to ensure reproducible builds and to re-build and test such scenarios.

Documentation: https://docs.conan.io/en/latest/versioning/lockfiles.html#how-to-use-lockfiles-in-ci

Shows how to integrate a build-system in Conan using an installer, a build-helper and a custom generator.

How can I reproduce the build steps?

All our examples can be built on Windows, Linux and Mac. If you are interested to reproduce the examples in your environment, please follow the CI scripts:

In addition, you should be able to inspect our logs by clicking on the badges at the top of this file.

LICENSE

MIT

About

Several Conan examples as resources for documentation and blog posts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 64.4%
  • Python 17.4%
  • C++ 7.8%
  • CMake 6.0%
  • Shell 2.0%
  • Batchfile 1.8%
  • Other 0.6%