Coder Social home page Coder Social logo

seanpm2001 / conan-io_examples Goto Github PK

View Code? Open in Web Editor NEW

This project forked from conan-io/examples

1.0 2.0 0.0 2.09 MB

Several Conan examples as resources for documentation and blog posts

License: MIT License

Shell 4.64% C++ 26.73% Python 50.35% C 1.01% Makefile 0.37% CMake 11.42% GLSL 0.13% Batchfile 5.35%

conan-io_examples's Introduction

Build Status

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

Example how to use Conan Editable Packages.

Documentation: https://docs.conan.io/en/latest/developing_packages/editable_packages.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.

Shows how to use conan json generator with custom script to automate the creation of deployable artifact (makeself.io)

Documentation: https://docs.conan.io/en/laters/integrations/deployment.html

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 check the scripts inside every example folder.

LICENSE

MIT

conan-io_examples's People

Contributors

czoido avatar danimtb avatar ericlemanissier avatar jgsogo avatar lasote avatar memsharded avatar paulharris avatar solvingj avatar sse4 avatar uilianries avatar wpalfi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.