Conan - The open-source C/C++ package manager

Overview

Logo

Conan

Decentralized, open-source (MIT), C/C++ package manager.

Conan is a package manager for C and C++ developers:

  • It is fully decentralized. Users can host their packages in their servers, privately. Integrates with Artifactory and Bintray.
  • Portable. Works across all platforms, including Linux, OSX, Windows (with native and first-class support, WSL, MinGW), Solaris, FreeBSD, embedded and cross-compiling, docker, WSL
  • Manage binaries. It can create, upload and download binaries for any configuration and platform, even cross-compiling, saving lots of time in development and continuous integration. The binary compatibility can be configured and customized. Manage all your artifacts in the same way on all platforms.
  • Integrates with any build system, including any proprietary and custom one. Provides tested support for major build systems (CMake, MSBuild, Makefiles, Meson, etc).
  • Extensible: Its python based recipes, together with extensions points allows for great power and flexibility.
  • Large and active community, especially in Github (https://github.com/conan-io/conan) and Slack (https://cpplang-inviter.cppalliance.org/ #conan channel). This community also creates and maintains packages in ConanCenter and Bincrafters repositories in Bintray.
  • Stable. Used in production by many companies, since 1.0 there is a commitment not to break package recipes and documented behavior.
develop Code Climate
Build Status Develop Develop climate

Setup

Please read https://docs.conan.io/en/latest/installation.html to know how to install and start using Conan. TL;DR:

$ pip install conan

Install a development version

You can run Conan client and server in Windows, MacOS, and Linux.

  • Install pip following pip docs.

  • Clone Conan repository:

    $ git clone https://github.com/conan-io/conan.git conan-io
NOTE: repository directory name matters, some directories are known to be problematic to run tests (e.g. conan). conan-io directory name was tested and guaranteed to be working.
  • Install in editable mode

    $ cd conan && sudo pip install -e .

    If you are in Windows, using sudo is not required.

  • You are ready, try to run Conan:

    $ conan --help
    
    Consumer commands
      install    Installs the requirements specified in a conanfile (.py or .txt).
      config     Manages configuration. Edits the conan.conf or installs config files.
      get        Gets a file or list a directory of a given reference or package.
      info       Gets information about the dependency graph of a recipe.
      search     Searches package recipes and binaries in the local cache or in a remote.
    Creator commands
      new        Creates a new package recipe template with a 'conanfile.py'.
      create     Builds a binary package for a recipe (conanfile.py) located in the current dir.
      upload     Uploads a recipe and binary packages to a remote.
      export     Copies the recipe (conanfile.py & associated files) to your local cache.
      export-pkg Exports a recipe & creates a package with given files calling 'package'.
      test       Test a package, consuming it with a conanfile recipe with a test() method.
    Package development commands
      source     Calls your local conanfile.py 'source()' method.
      build      Calls your local conanfile.py 'build()' method.
      package    Calls your local conanfile.py 'package()' method.
    Misc commands
      profile    Lists profiles in the '.conan/profiles' folder, or shows profile details.
      remote     Manages the remote list and the package recipes associated with a remote.
      user       Authenticates against a remote with user/pass, caching the auth token.
      imports    Calls your local conanfile.py or conanfile.txt 'imports' method.
      copy       Copies conan recipes and packages to another user/channel.
      remove     Removes packages or binaries matching pattern from local cache or remote.
      alias      Creates and exports an 'alias recipe'.
      download   Downloads recipe and binaries to the local cache, without using settings.
    
    Conan commands. Type "conan <command> -h" for help
    

Contributing to the project

Feedback and contribution are always welcome in this project. Please read our contributing guide. Also, if you plan to contribute, please add some testing for your changes. You can read the Conan tests guidelines section for some advise on how to write tests for Conan.

Running the tests

Using tox

$ python -m tox

It will install the needed requirements and launch pytest skipping some heavy and slow tests. If you want to run the full test suite:

$ python -m tox -e full

Without tox

Install python requirements

$ python -m pip install -r conans/requirements.txt
$ python -m pip install -r conans/requirements_server.txt
$ python -m pip install -r conans/requirements_dev.txt

If you are not Windows and you are not using a python virtual environment, you will need to run these commands using sudo.

Before you can run the tests, you need to set a few environment variables first.

$ export PYTHONPATH=$PYTHONPATH:$(pwd)

On Windows it would be (while being in the Conan root directory):

$ set PYTHONPATH=.

Ensure that your cmake has version 2.8 or later. You can see the version with the following command:

$ cmake --version

The appropriate values of CONAN_COMPILER and CONAN_COMPILER_VERSION depend on your operating system and your requirements.

These should work for the GCC from build-essential on Ubuntu 14.04:

$ export CONAN_COMPILER=gcc
$ export CONAN_COMPILER_VERSION=4.8

These should work for OS X:

$ export CONAN_COMPILER=clang
$ export CONAN_COMPILER_VERSION=3.5

You can run the actual tests like this:

$ python -m pytest .

There are a couple of test attributes defined, as slow that you can use to filter the tests, and do not execute them:

$ python -m pytest . -m "not slow"

A few minutes later it should print OK:

............................................................................................
----------------------------------------------------------------------
Ran 146 tests in 50.993s

OK

To run specific tests, you can specify the test name too, something like:

$ python -m pytest conans/test/unittests/client/cmd/export_test.py::ExportTest::test_export_warning -s

The -s argument can be useful to see some output that otherwise is captured by pytest.

Also, you can run tests against an instance of Artifactory. Those tests should add the attribute artifactory_ready.

$ python -m pytest . -m artifactory_ready

Some environment variables have to be defined to run them. For example, for an Artifactory instance that is running on the localhost with default user and password configured, the variables could take the values:

$ export CONAN_TEST_WITH_ARTIFACTORY=1
$ export ARTIFACTORY_DEFAULT_URL=http://localhost:8081/artifactory
$ export ARTIFACTORY_DEFAULT_USER=admin
$ export ARTIFACTORY_DEFAULT_PASSWORD=password

ARTIFACTORY_DEFAULT_URL is the base url for the Artifactory repo, not one for an specific repository. Running the tests with a real Artifactory instance will create repos on the fly so please use a separate server for testing purposes.

License

MIT LICENSE

Comments
  • Package revisions

    Package revisions

    Most package managers have a concept of package revision, i.e. additional version number that reflects changes in packaging scripts or applied patches when "main" version number of packaged software remains the same.

    It would be great if Conan added support for revisions too. This will make package updates more trasparent ("updated from vX.Y.Z-r1 to vX.Y.Z-r2"). Also there could be a policy that "stable" channel can never change conanfile and binaries without bumping revision, to prevent accidental changes in packages used in CI with manifest verification.

    It would be great if it was possible to keep binary packages for previous revisions so that CI system with manifests checking does not get broken in case new revision is uploaded without committing new reference manifests.

    It was previously briefly discussed at https://github.com/conan-io/conan/issues/480#issuecomment-247545547

    type: feature priority: high complex: low 
    opened by annulen 89
  • Warning in CMake file created by conan

    Warning in CMake file created by conan

    Hi guys,

    This is not causing me any problems as such, but I thought I'd let you guys know. Noticed this on my build[1]:

    CMake Warning (dev) in build/output/conanbuildinfo.cmake:
      Syntax Warning in cmake code at
        /home/travis/build/DomainDrivenConsulting/dogen/build/output/conanbuildinfo.cmake:142:88
      Argument not separated from preceding token by whitespace.
    Call Stack (most recent call first):
      CMakeLists.txt:30 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    

    Presumably conanbuildinfo.cmake is generated by Conan. Worth clearing up that warning...

    Cheers

    [1] https://travis-ci.org/DomainDrivenConsulting/dogen/jobs/107194308

    opened by mcraveiro 69
  • "Please log in to "conan-center" to perform this action." for several packages

    To help us debug your issue please explain:

    • [x ] I've read the CONTRIBUTING guide.
    • [x ] I've specified the Conan version, operating system version and any tool that can be relevant.
    • [x ] I've explained the steps to reproduce the error or the motivation/use case of the question/suggestion.

    Windows 10 amd64, Python 3.7.4, Conan 1.18.4 from pip within virtualenv

    I am working within conan-libpq-stable-11.4 directory, which is extracted libpq/11.4 from https://github.com/bincrafters/conan-libpq.

    My env:

    >echo %CONAN%
    C:\Users\Vincas\code\cpp\branches\upgrade\\3rdparty\Conan\_python_3.7.4_venv_conan_1.18.4\Scripts\conan.exe
    
    >%CONAN% --version
    Conan version 1.18.4
    

    I have conan_profile_windows.txt like this (for building libpq on Windows using CMake):

    include(default)
    [build_requires]
    cmake_installer/3.15.3@conan/stable
    

    I run development flow commands:

    >%CONAN% source . -sf src
    
    >%CONAN% install . -if install -s "compiler=Visual Studio" -s compiler.version=14 -s arch=x86 -s arch_build=x86 --build=missing -p conan_profile_windows.txt
    

    But since I've added conan_installer as build depends, I get this output:

    >%CONAN% install . -if install -s "compiler=Visual Studio" -s compiler.version=14 -s arch=x86 -s arch_build=x86 --build=missing -p conan_profile_windows.txt
    Configuration:
    [settings]
    arch=x86
    arch_build=x86
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=14
    os=Windows
    os_build=Windows
    [options]
    [build_requires]
    *: cmake_installer/3.15.3@conan/stable
    [env]
    
    cmake_installer/3.15.3@conan/stable: WARN: Package is corrupted, removing folder: C:\Users\Vincas\.conan\data\cmake_installer\3.15.3\conan\stable\package\60b04a80ac4dd5c23f1acffacc679e9902e636e5
    conanfile.py (libpq/11.4): Installing package
    Requirements
        zlib/1.2.11@conan/stable from 'conan-center' - Cache
    Packages
        zlib/1.2.11@conan/stable:1299b26cefc5e04411a3481abe1c8b63227e2896 - Cache
    Build requirements
        cmake_installer/3.15.3@conan/stable from 'conan-center' - Cache
    Build requirements packages
        cmake_installer/3.15.3@conan/stable:60b04a80ac4dd5c23f1acffacc679e9902e636e5 - Download
    
    cmake_installer/3.15.3@conan/stable: Retrieving package 60b04a80ac4dd5c23f1acffacc679e9902e636e5 from remote 'conan-center'
    Please log in to "conan-center" to perform this action. Execute "conan user" command.
    If you don't have an account sign up here: https://bintray.com/signup/oss
    Remote 'conan-center' username:
    

    I assume it should work without accounts for fetching recipes..?

    type: bug component: bintray priority: high 
    opened by Talkless 63
  • "Case insensitive filesystem can't manage this"

    I tried to install OpenCV3 as a dependency and found OpenCV/3.2.0@xmar/stable, which I added to my requires section.

    There was no package available for my platform (Windows 10, Visual C++ 2015 32-bit), so I went with --build missing. The build seems to have run to completion, but right at the end, I got:

    ERROR: Requested 'OpenCV/3.2.0@xmar/stable' but found case incompatible 'opencv'
    Case insensitive filesystem can't manage this
    

    (I tried other OpenCV packages, but they all had problems of one sort or another. I think this one is the most promising, if I can find a solution to the above problem.)

    opened by JPGygax68 63
  • [bug] conan.bintray.com has invalid/no certificate and fails in redirection loop

    [bug] conan.bintray.com has invalid/no certificate and fails in redirection loop

    Steps to reproduce (Include if Applicable)

    Since this morning (12.04.2021) I can't connect to https://conan.bintray.com/ successfully. One problem is that it seems there is no valid server certificate on the server side. After disabling verify_ssl in the remotes there will be an exception because of too many redirects:

    ERROR: Exceeded 30 redirects.. [Remote: conan-center]
    

    Same error can be reproduced by open the URL via the webbrowser of your choice.

    Is this because of the shutdown for bintray? Isn't this dated to 1st May?

    opened by snailcatcher 57
  • Feature/environment propagate

    Feature/environment propagate

    Changelog: Feature: New environment management, with correct value capturing and restoring on deactivate Docs: https://github.com/conan-io/docs/pull/2060

    New approach to environment (env-vars) management:

    VirtualEnv

    • New generator that will generate buildenv.xxx and runenv.xxx
    • Collects info from dependencies visiting the graph, not by the accumulated deps_env_info
    • It also collects information from profiles
    • It automatically collects runtime information based on cpp_info definition: exes, bin-paths, lib_paths to define PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH envvars

    ConanfileDependencies

    • Entry point in each recipe to visit its dependencies
    • Access to dependencies conanfiles is restricted by a "read-only" conanfilewrapper

    CMakeGen

    • Proof of concept of an aggregated meta-generator that includes CMakeToolchain, CMakeDeps and VirtualEnv
    • CMake build helper will integrate calls to VirtualEnv generated files
    opened by memsharded 57
  • Incorrect handling of MSVC versions

    Incorrect handling of MSVC versions

    I am using Conan v1.7.4.

    I've created a static library Conan package using VS 2017 15.7 and updated my Visual Studio to 15.8. After the update, Conan failed to detect a change in the compiler version and did not perform recompilation of the static library. Instead, it just downloaded the same package that was built with VS 2017 15.7. However, when linking to that package from VS 2017 15.8, I am getting following linker error:

    LINK : fatal error C1047: The object or library file 'C:\Users\dodo\.conan\data\LogAndTimer\1.0.1\microblink\stable\package\8b2772668ccbf879d34a70a9d54c78ce70f38a1b\lib\LogAndTimer.lib' was created with an older compiler than other objects; rebuild old objects and libraries
    2>LINK : fatal error LNK1257: code generation failed
    

    However, the debug build does work (details how to reproduce are below).

    I think the problem is in how Conan handles MSVC versions - instead of using the actual compiler version (CMake detects MSVC 19.14.26431.0 in VS 2017 15.7 and MSVC 19.15.26729.0 in VS 2017 15.8), it uses the version of Visual Studio (VS 2017 is compiler version 15, according to Conan).

    I suggest that Conan should use the MSVC compiler version under compiler.version setting and additionally have compiler.vs_version for Visual Studio version. The reason for that is that sometimes libraries built with one version of MSVC are not compatible with later versions of MSVC, especially if you use link time code generation flag (/LTCG link flag and /GL compile flag).

    How to reproduce

    • Install Visual Studio 2017, but not the latest update (at the time of writing, this is 15.8.4). For example, use VS 2017 15.7.x or 15.6.x.
    • Create a conan package that contains a single static library. Make sure that Release build type of that package is compiled with /GL compile flag.
    • Create an application that consumes that static library and make sure it works in Release build type (the app should be linked with /LTCG linker flag).
    • Update Visual Studio 2017 to the latest version (15.8.4 at the time of writing).
    • Build your application

    Expected behaviour

    • conan install after updating the VS should calculate different hash for the library and should rebuild it, thus making sure application linking will succeed

    Actual behaviour

    • Conan does not detect version change in the MSVC compiler and uses the incompatible binary, thus causing linker error described above.

    Now, the main question is - could this be fixed without breaking existing conan VS packages, or we need to wait for Conan 2.0 (and disable LTCG until this issue gets fixed).

    Also, as a side question, is there a possibility to configure Conan to trigger rebuild of libraries even when a minor/bugfix version of the compiler changes, regardless of the compiler being used (e.g. if we update GCC from 8.1.0 to 8.1.1, we would like to rebuild all our binaries, even though they are link-compatible). This would get us the benefits of always having binaries built with the latest compiler to get the latest bugfixes and performance improvements - this benefit is also mentioned in conan documentation:

    What happens if we have a library that we can be built with GCC 4.8 and will preserve the ABI compatibility with GCC 4.9? (This kind of compatibility is easier to achieve for example for pure C libraries).

    Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements-. Let’s suppose that we don’t want to create 2 different binaries, but just a single built with GCC 4.8 which also needs to be compatible for GCC 4.9 installations.

    type: feature stage: queue priority: high complex: high whiteboard 
    opened by DoDoENT 52
  • Better Python code reuse

    Better Python code reuse

    Currently, it is possible to reuse Python code by requiring it and tools.pythonpath. This is a bit limited because it's not possible to import the module before the ConanFile is loaded, which makes it impossible to do some things (such as subclassing ConanFile). I tried with a profile as well:

    [build_requires]
    mypymodule/1.2.3@sztomi/stable
    

    .. but this doesn't work either. Maybe it would make sense for build_requires in profiles to be parsed before the conanfile is loaded. Or a separate, special section just for python deps of the conanfile. Is there a better way? What are your thoughts?

    opened by sztomi 50
  • pkg-config for dependency detection

    pkg-config for dependency detection

    While working on some packages I have run into a problem with some configure scripts that relies only on pkg-config to find it's dependencies (i.e. just setting CFLAGS doesn't help it find the dependency). I started by hacking in support for setting PKG_CONFIG_PATH in ConfigureEnvironment like:

    diff --git a/conans/client/configure_environment.py b/conans/client/configure_environment.py
    index cc67480..84953e3 100644
    --- a/conans/client/configure_environment.py
    +++ b/conans/client/configure_environment.py
    @@ -27,6 +27,7 @@ class ConfigureEnvironment(object):
             """
             command = ""
             if self.os == "Linux" or self.os == "Macos":
    +            pkgconfigpath = 'PKG_CONFIG_PATH="%s"' % ":".join(self._deps_cpp_info.lib_paths)
                 libs = 'LIBS="%s"' % " ".join(["-l%s" % lib for lib in self._deps_cpp_info.libs])
                 archflag = "-m32" if self.arch == "x86" else ""
                 ldflags = 'LDFLAGS="%s %s"' % (" ".join(["-L%s" % lib
    @@ -55,7 +56,7 @@ class ConfigureEnvironment(object):
                                                         debug, include_flags)
                 include_paths = ":".join(['"%s"' % lib for lib in self._deps_cpp_info.include_paths])
                 headers_flags = 'C_INCLUDE_PATH=%s CPP_INCLUDE_PATH=%s' % (include_paths, include_paths)
    -            command = "env %s %s %s %s %s" % (libs, ldflags, cflags, cpp_flags, headers_flags)
    +            command = "env %s %s %s %s %s %s" % (libs, ldflags, cflags, cpp_flags, headers_flags, pkgconfigpath)
             elif self.os == "Windows" and self.compiler == "Visual Studio":
                 cl_args = " ".join(['/I"%s"' % lib for lib in self._deps_cpp_info.include_paths])
                 lib_paths = ";".join(['"%s"' % lib for lib in self._deps_cpp_info.lib_paths])
    

    and then making sure that I copied the .pc files into to the lib directory. This worked fine and the packages was now found. The problem is that the .pc file "lies" and doesn't point to the $HOME/.conan/data/[dependency]... path but rather to /usr/local or whatever the default prefix is. This lead to another problem where it picked up the wrong library (on in /usr/local instead of ~/.conan).

    So now I wonder if this can be done even better. Since we have information in package_info about what to link and the include directories etc we could write our own .pc file and point it to the right directory and we could add it to ~/.conan/data/pkg-config or something and it could have a .pc file for all installed packages.

    Is this something we want to do? And in that case where should this code be added, it has to be done somewhere where the final package path is resolved and that the pc file is regenerated if we get a new path.

    opened by tru 49
  • Issues with proxies

    Issues with proxies

    I've started Conan server in my organization's local network. For external sites (like github) proxy must be used, but not for computers in local network. So, I have there env variables:

    HTTP_PROXY=http://proxy.domain:3128
    HTTP_PROXY=https://proxy.domain:3128
    NO_PROXY=localhost,127.0.0.1,*.domain,192.168.*
    

    With these variables I can create packages with recipes in my local cache (and this recipes can download external sources), but cannot download recipes and prebuilt packages from organization's Conan server.

    I've tried to set same settings in conan.conf, but had no luck. Also I've tried to use Conan server domain name and/or IP address in NO_PROXY with same result:

    > conan search -r <remotename> "OpenCV*"
    ERROR: Permission denied for user: '<username>'. [Remote: <remotename>]
    

    But if I disable all proxies (comment in conan.conf and unset env variables), it works just fine:

    Existing package recipes:
    
    OpenCV/3.3.1@lukyanets/testing
    

    Conan v. 1.0.1, OS: Arch Linux, CentOS 6, Windows 10.

    Feedback please! 
    opened by leugenea 47
  • [bug] cmake generator does not write build requirements info when using dual profiles

    [bug] cmake generator does not write build requirements info when using dual profiles

    Environment Details (include every applicable attribute)

    • Operating System+version: macOS Big Sur
    • Conan version: develop (1.33.0-dev)
    • Python version: 3.8.5

    Steps to reproduce (Include if Applicable)

    With this conanfile.py:

    from conans import ConanFile, CMake, tools
    
    
    class BugConan(ConanFile):
        name = "bug"
        version = "0.1"
        license = "<Put the package license here>"
        author = "<Put your name here> <And your email here>"
        url = "<Package recipe repository url here, for issues about the package>"
        description = "<Description of Bug here>"
        topics = ("<Put some tag here>", "<here>", "<and here>")
        settings = "os", "compiler", "build_type", "arch"
        options = {"shared": [True, False], "fPIC": [True, False]}
        default_options = {"shared": False, "fPIC": True}
        generators = "cmake"
    
        def config_options(self):
            if self.settings.os == "Windows":
                del self.options.fPIC
    
        def build_requirements(self):
            self.build_requires("doctest/2.3.8")
    
        def source(self):
            pass
    
        def build(self):
            pass
    
        def package(self):
            pass
    
        def package_info(self):
            pass
    

    Run conan install . --profile:host=default --profile:build=default

    The generated conanbuildinfo.cmake does not contain doctest targets, but it does when conan install . --profile=default is used.

    type: bug stage: in-progress 
    opened by theodelrieu 45
  • [bug] cmake_generator configuration is not respected

    [bug] cmake_generator configuration is not respected

    Environment details

    • Operating System+version: Microsoft Windows 10 Pro 10.0.19045 Build 19045
    • Compiler+version: clang 15
    • Conan version: 1.56.0
    • Python version: 3.8.6

    Steps to reproduce

    1. Set cmake_generator
    conan config set general.cmake_generator=Ninja
    
    1. Run
    conan workspace install /path/to/conan-workspace.yml --build=missing --profile "/path/to/conan-clang-profile"
    

    For the bzip2/1.0.8 package, which is a dependency, I get the error

    CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
    

    I was expecting that everything will be build with Ninja as a CMake generator instead of MinGW Makefiles.

    In C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b\build\generators\CMakePresets.json the wrong generator is specified.

    Logs

    conan workspace install ../conan-workspace.yml --build=missing --profile ../conan-clang-debug-profile
    
    Configuration:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Debug
    compiler=clang
    compiler.cppstd=20
    compiler.version=15
    os=Windows
    os_build=Windows
    [options]
    [build_requires]
    [env]
    CONAN_CMAKE_GENERATOR=Ninja
    boost/1.81.0: Not found in local cache, looking in remotes...
    boost/1.81.0: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.35k]
    Downloading conanfile.py completed [79.68k]
    Downloading conan_export.tgz completed [1.37k]
    Decompressing conan_export.tgz completed [0.00k]
    boost/1.81.0: Downloaded recipe revision 0
    zlib/1.2.13: Not found in local cache, looking in remotes...
    zlib/1.2.13: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.28k]
    Downloading conanfile.py completed [4.04k]
    Downloading conan_export.tgz completed [0.29k]
    Decompressing conan_export.tgz completed [0.00k]
    zlib/1.2.13: Downloaded recipe revision 0
    bzip2/1.0.8: Not found in local cache, looking in remotes...
    bzip2/1.0.8: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.17k]
    Downloading conanfile.py completed [4.26k]
    Downloading conan_export.tgz completed [0.24k]
    Decompressing conan_export.tgz completed [0.00k]
    bzip2/1.0.8: Downloaded recipe revision 0
    eigen/3.4.0: Not found in local cache, looking in remotes...
    eigen/3.4.0: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.10k]
    Downloading conanfile.py completed [3.20k]
    Downloading conan_export.tgz completed [0.25k]
    Decompressing conan_export.tgz completed [0.00k]
    eigen/3.4.0: Downloaded recipe revision 0
    nlohmann_json/3.11.2: Not found in local cache, looking in remotes...
    nlohmann_json/3.11.2: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.10k]
    Downloading conanfile.py completed [1.64k]
    Downloading conan_export.tgz completed [0.24k]
    Decompressing conan_export.tgz completed [0.00k]
    nlohmann_json/3.11.2: Downloaded recipe revision 0
    polymorphic_value/1.3.0: Not found in local cache, looking in remotes...
    polymorphic_value/1.3.0: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.10k]
    Downloading conanfile.py completed [2.73k]
    Downloading conan_export.tgz completed [0.26k]
    Decompressing conan_export.tgz completed [0.00k]
    polymorphic_value/1.3.0: Downloaded recipe revision 0
    b2/4.9.2: Not found in local cache, looking in remotes...
    b2/4.9.2: Trying with 'conancenter'...
    Downloading conanmanifest.txt completed [0.10k]
    Downloading conanfile.py completed [6.99k]
    Downloading conan_export.tgz completed [0.24k]
    Decompressing conan_export.tgz completed [0.00k]
    b2/4.9.2: Downloaded recipe revision 0
    Requirements
        boost/1.81.0 from 'conancenter' - Downloaded
        bzip2/1.0.8 from 'conancenter' - Downloaded
        eigen/3.4.0 from 'conancenter' - Downloaded
        nlohmann_json/3.11.2 from 'conancenter' - Downloaded
        polymorphic_value/1.3.0 from 'conancenter' - Downloaded
        zlib/1.2.13 from 'conancenter' - Downloaded
        modscheme_lib/0.1 from user folder - Editable
        modscheme_server/0.1 from user folder - Editable
    Packages
        boost/1.81.0:62c93f29b9f76c328a46007549cc459447eeb77b - Build
        bzip2/1.0.8:664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b - Build
        eigen/3.4.0:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
        nlohmann_json/3.11.2:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
        polymorphic_value/1.3.0:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
        zlib/1.2.13:01822c8126f3805e61534fa72215516497c36eb2 - Build
        modscheme_lib/0.1:27e502d47a8725d19299a32b559b4f6dd00ec394 - Editable
        modscheme_server/0.1:1a022cf2f8fb5768319a46ddef85fc367f8c90bd - Editable
    Build requirements
        b2/4.9.2 from 'conancenter' - Downloaded
    Build requirements packages
        b2/4.9.2:ca33edce272a279b24f87dc0d4cf5bbdcffbc187 - Download
    
    Installing (downloading, building) binaries...
    b2/4.9.2: Retrieving package ca33edce272a279b24f87dc0d4cf5bbdcffbc187 from remote 'conancenter'
    Downloading conanmanifest.txt completed [14.27k]
    Downloading conaninfo.txt completed [0.24k]
    Downloading conan_package.tgz completed [505.57k]
    Decompressing conan_package.tgz completed [0.00k]
    b2/4.9.2: Package installed ca33edce272a279b24f87dc0d4cf5bbdcffbc187
    b2/4.9.2: Downloaded package revision 0
    eigen/3.4.0: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter'
    Downloading conanmanifest.txt completed [47.09k]
    Downloading conaninfo.txt completed [0.29k]
    Downloading conan_package.tgz completed [1433.41k]
    Decompressing conan_package.tgz completed [0.00k]
    eigen/3.4.0: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
    eigen/3.4.0: Downloaded package revision 0
    nlohmann_json/3.11.2: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter'
    Downloading conanmanifest.txt completed [3.73k]
    Downloading conaninfo.txt completed [0.27k]
    Downloading conan_package.tgz completed [148.87k]
    Decompressing conan_package.tgz completed [0.00k]
    nlohmann_json/3.11.2: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
    nlohmann_json/3.11.2: Downloaded package revision 0
    polymorphic_value/1.3.0: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter'
    Downloading conanmanifest.txt completed [0.24k]
    Downloading conaninfo.txt completed [0.27k]
    Downloading conan_package.tgz completed [2.76k]
    Decompressing conan_package.tgz completed [0.00k]
    polymorphic_value/1.3.0: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
    polymorphic_value/1.3.0: Downloaded package revision 0
    Downloading conan_sources.tgz completed [0.59k]
    Decompressing conan_sources.tgz completed [0.00k]
    bzip2/1.0.8: Configuring sources in C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\source\src
    Downloading bzip2-1.0.8.tar.gz completed [791.04k]                                       bzip2/1.0.8: 0.8:
    bzip2/1.0.8:
    bzip2/1.0.8: Copying sources to build folder
    bzip2/1.0.8: Building your package in C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b
    bzip2/1.0.8: Generator txt created conanbuildinfo.txt
    bzip2/1.0.8: Calling generate()
    bzip2/1.0.8: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    bzip2/1.0.8: Preset 'debug' added to CMakePresets.json. Invoke it manually using 'cmake --preset debug'
    bzip2/1.0.8: If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b\build\generators\conan_toolchain.cmake -DCMAKE_SH=CMAKE_SH-NOTFOUND -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Debug'
    bzip2/1.0.8: Aggregating env generators
    bzip2/1.0.8: Calling build()
    bzip2/1.0.8: apply_conandata_patches(): No patches defined in conandata
    bzip2/1.0.8: CMake command: cmake -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE="C:/Users/sogartary/.conan/data/bzip2/1.0.8/_/_/build/664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b/build/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="C:/Users/sogartary/.conan/data/bzip2/1.0.8/_/_/package/664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b" -DCMAKE_SH="CMAKE_SH-NOTFOUND" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Debug" "C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b\src\.."
    CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
    CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
    CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
    -- Configuring incomplete, errors occurred!
    bzip2/1.0.8:
    bzip2/1.0.8: ERROR: Package '664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b' build failed
    bzip2/1.0.8: WARN: Build folder C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b\build\Debug
    ERROR: bzip2/1.0.8: Error in build() method, line 72
            cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir))
            ConanException: Error 1 while executing cmake -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE="C:/Users/sogartary/.conan/data/bzip2/1.0.8/_/_/build/664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b/build/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="C:/Users/sogartary/.conan/data/bzip2/1.0.8/_/_/package/664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b" -DCMAKE_SH="CMAKE_SH-NOTFOUND" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Debug" "C:\Users\sogartary\.conan\data\bzip2\1.0.8\_\_\build\664a290ff8a4232d40ea8d66ae4e20ff2cb6ef7b\src\.."
    
    stage: triaging 
    opened by sogartar 1
  • [bug] RC : fatal error RC1212: invalid option - /z argument missing substitute font name

    [bug] RC : fatal error RC1212: invalid option - /z argument missing substitute font name

    Environment details

    • Operating System+version: Windows11
    • Compiler+version: VC++2022
    • Conan version: 1.50.0 & 1.56.0
    • Python version: 3.9.13

    Steps to reproduce

    1. conan install . -if conaninfo/Debug --profile debug-x64 --build missing --no-imports

    Logs

    10>RC : fatal error RC1212: invalid option - /z argument missing substitute font name

    After I remove $(ConanCompilerFlags) from , the error disappears.

    stage: triaging 
    opened by sinall 1
  • [bug] Error	LNK1104	cannot open file 'CONAN_LIB::libpng_libpng16d_DEBUG.lib'

    [bug] Error LNK1104 cannot open file 'CONAN_LIB::libpng_libpng16d_DEBUG.lib'

    Environment details

    • Operating System+version: Windows11
    • Compiler+version: VC++2022
    • Conan version: 1.50.0 & 1.56.0
    • Python version: 3.9.13

    Steps to reproduce

    1. Add qt/6.4.1 as requires in conanfile.py
    2. QT Versions set 6.4.1-Debug => D:\.conan\3d5de2\1
    3. C:\Users\myname\AppData\Local\QtMsBuild\Qt.props in Property Manager
    4. Add conanbuildinfo.props in Property Manager
    5. Build project in VS

    Logs

    qtvars_x64_Debug.props:

    <Qt_LIBS_>D:\.conan\3d5de2\1\res\archdatadir\plugins\styles\qwindowsvistastyled.lib;D:\.conan\3d5de2\1\lib\objects-Debug\QWindowsIntegrationPlugin_resources_1\.rcc\qrc_openglblacklists.cpp.obj;D:\.conan\3d5de2\1\lib\objects-Debug\QWindowsIntegrationPlugin_resources_2\.rcc\qrc_cursors.cpp.obj;D:\.conan\3d5de2\1\res\archdatadir\plugins\platforms\qwindowsd.lib;imm32.lib;oleaut32.lib;shlwapi.lib;winspool.lib;wtsapi32.lib;shcore.lib;comdlg32.lib;d3d9.lib;D:\.conan\3d5de2\1\lib\Qt6OpenGLd.lib;D:\.conan\3d5de2\1\res\archdatadir\plugins\imageformats\qgifd.lib;D:\.conan\3d5de2\1\res\archdatadir\plugins\imageformats\qicod.lib;D:\.conan\3d5de2\1\lib\objects-Debug\Widgets_resources_1\.rcc\qrc_qstyle.cpp.obj;D:\.conan\3d5de2\1\lib\objects-Debug\Widgets_resources_2\.rcc\qrc_qstyle1.cpp.obj;D:\.conan\3d5de2\1\lib\objects-Debug\Widgets_resources_3\.rcc\qrc_qmessagebox.cpp.obj;D:\.conan\3d5de2\1\lib\Qt6Widgetsd.lib;dwmapi.lib;uxtheme.lib;D:\.conan\3d5de2\1\lib\objects-Debug\Gui_resources_1\.rcc\qrc_qpdf.cpp.obj;D:\.conan\3d5de2\1\lib\objects-Debug\Gui_resources_2\.rcc\qrc_gui_shaders.cpp.obj;D:\.conan\3d5de2\1\lib\Qt6Guid.lib;d3d11.lib;dxgi.lib;dxguid.lib;gdi32.lib;CONAN_LIB::libpng_libpng16d_DEBUG.lib;harfbuzz.lib;Gdi32.lib;RpcRT4.lib;USP10.lib;freetyped.lib;libpng16d.lib;zlib.lib;bz2.lib;brotlicommon-static.lib;brotlidec-static.lib;brotlienc-static.lib;glib-2.0.lib;WS2_32.lib;Ole32.lib;User32.lib;AdvAPI32.lib;pcre2-8-staticd.lib;pcre2-posix-staticd.lib;pcre2-16-staticd.lib;pcre2-32-staticd.lib;gnuintl.lib;iconv.lib;charset.lib;gmodule-2.0.lib;gobject-2.0.lib;libffi.lib;gthread-2.0.lib;gio-2.0.lib;iphlpapi.lib;DnsAPI.lib;ShLwApi.lib;CONAN_LIB::md4c_md4c_md4c_md4c_DEBUG.lib;CONAN_LIB::freetype_freetyped_DEBUG.lib;d2d1.lib;dwrite.lib;D:\.conan\3d5de2\1\lib\Qt6Cored.lib;CONAN_LIB::zlib_zlib_DEBUG.lib;synchronization.lib;mpr.lib;userenv.lib;advapi32.lib;authz.lib;kernel32.lib;netapi32.lib;ole32.lib;shell32.lib;user32.lib;uuid.lib;version.lib;winmm.lib;ws2_32.lib;CONAN_LIB::double-conversion_double-conversion_DEBUG.lib;runtimeobject.lib;CONAN_LIB::pcre2_PCRE2_16BIT_pcre2-16-staticd_DEBUG.lib;D:\.conan\3d5de2\1\lib\Qt6EntryPointd.lib;shell32.lib</Qt_LIBS_>
    
    stage: triaging 
    opened by sinall 1
  • MSBuild: autoconsume props files generated by MSBuildToolchain & MSBuildDeps

    MSBuild: autoconsume props files generated by MSBuildToolchain & MSBuildDeps

    related to https://github.com/conan-io/conan/issues/12155#issuecomment-1252832378

    Changelog: (Fix): In MSBuild, automatically consume props files generated by MSBuildToolchain & MSBuildDeps, without requiring programmatic modification of vcxproj files. Docs: https://github.com/conan-io/docs/pull/2885

    • [x] Refer to the issue that supports this Pull Request.
    • [x] If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
    • [x] I've read the Contributing guide.
    • [x] I've followed the PEP8 style guides for Python code.
    • [x] I've opened another PR in the Conan docs repo to the develop branch, documenting this one.

    Note: By default this PR will skip the slower tests and will use a limited set of python versions. Check here how to increase the testing level by writing some tags in the current PR body text.

    opened by SpaceIm 2
  • [feature] Filter out `.DS_Store` on macOS in command `conan profile list`

    [feature] Filter out `.DS_Store` on macOS in command `conan profile list`

    What is your suggestion?

    If there is a .DS_Store file in profiles folder, it's listed as a profile by conan profile list command. It should not be displayed.

    Have you read the CONTRIBUTING guide?

    • [x] I've read the CONTRIBUTING guide
    type: feature good first issue complex: low PR welcomed 
    opened by SpaceIm 0
  • [question] Granularity of new requires traits vs components

    [question] Granularity of new requires traits vs components

    What is your question?

    How conan v2 will handle fine-grained components type regarding transitive_libs/transitive_headers/run etc?

    For example:

    recipeA has 1 library libA, either shared or static depending on shared option

    recipeB has 2 component libB1 & libB2:

    • libB1: either shared or static depending on shared option
    • libB2: always static, and libA is a private dependency of libB2

    So we would write something like this in recipeB:

    def requirements(self):
        self.requires("recipeA/x.y.y")
    
    def package_info(self):
        self.cpp_info.components["libB1"].libs = ["B1"]
        self.cpp_info.components["libB2"].libs = ["B2"]
        self.cpp_info.components["libB2"].requires = ["recipeA::recipeA"]
    

    How conan knows that for recipeB, deps like generators must take into account that libA must always be propagated to link flags of libB imported target (in case of CMakeDeps, but it's the same problem for other deps like generators) even when shared option of recipeB is True (since libB2 component is always static)? I have the feeling that it's not as powerful as CMake PRIVATE/PUBLIC/INTERFACE mechanism per target, but maybe I'm missing something.

    Have you read the CONTRIBUTING guide?

    • [x] I've read the CONTRIBUTING guide
    type: question 
    opened by SpaceIm 1
Releases(2.0.0-beta7)
  • 2.0.0-beta7(Dec 22, 2022)

    • Feature: Raise an error when a generator is both defined in generators attribute and instantiated in generate() method (https://github.com/conan-io/conan/pull/12722)
    • Feature: test_requires improvements, including allowing it in conanfile.txt (https://github.com/conan-io/conan/pull/12699)
    • Feature: Improve errors for when required_conan_version has spaces between the operator and the version (https://github.com/conan-io/conan/pull/12695)
    • Feature: Improvements in ConanAPI organization (https://github.com/conan-io/conan/pull/12666)
    Source code(tar.gz)
    Source code(zip)
  • 1.56.0(Dec 21, 2022)

    • Fix: Avoid extra line end while printing files with conan get. (https://github.com/conan-io/conan/pull/12717)
    • Fix: Fix new Environment .ps1 files when spaces in path (https://github.com/conan-io/conan/pull/12653)
    • Bugfix: Fix CMakeDeps when a tool_requires needs to be built from source and it has transitive dependencies that are regular requires. (https://github.com/conan-io/conan/pull/12736)
    • Bugfix: Fix issue in fix_apple_shared_install_name when libdirs or bindirs have subfolders. (https://github.com/conan-io/conan/pull/12732)
    • Bugfix: Fix issue with PkgConfigDeps not creating .pc files in build context. (https://github.com/conan-io/conan/pull/12712)
    • Bugfix: Fix issue with CMakeDeps not creating xxx-config.cmake files in build context. (https://github.com/conan-io/conan/pull/12675)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.48 MB)
    conan-win-32.exe(14.66 MB)
    conan-win-64.exe(15.87 MB)
  • 2.0.0-beta6(Dec 2, 2022)

    • Feature: Use --confirm to not request confirmation when removing instead of --force (https://github.com/conan-io/conan/pull/12636)
    • Feature: Simplify loading conaninfo.txt for search results (https://github.com/conan-io/conan/pull/12616)
    • Feature: Renamed ConanAPIV2 to ConanAPI (https://github.com/conan-io/conan/pull/12615)
    • Feature: Refactor ConanAPI (https://github.com/conan-io/conan/pull/12615)
    • Feature: Improve conan cache path command (https://github.com/conan-io/conan/pull/12554)
    • Feature: Improve #latest and pattern selection from remove/upload/download (https://github.com/conan-io/conan/pull/12572)
    • Feature: Add build_modules to provided deprecated warning to allow migration from 1.x (https://github.com/conan-io/conan/pull/12578)
    • Feature: Lockfiles alias support (https://github.com/conan-io/conan/pull/12525)
    Source code(tar.gz)
    Source code(zip)
  • 1.55.0(Nov 30, 2022)

    • Feature: Add prefix argument to AutotoolsToolchain. (https://github.com/conan-io/conan/pull/12620). Docs: :page_with_curl:
    • Feature: Provide the ability to set CMakeDeps properties from consumer side. (https://github.com/conan-io/conan/pull/12609). Docs: :page_with_curl:
    • Feature: New NMakeDeps generator. (https://github.com/conan-io/conan/pull/12599). Docs: :page_with_curl:
    • Feature: Implement editable env-vars via layouts.xxx.buildenv_info and layouts.xxx.runenv_info and conf via layouts.xxx.conf_info. (https://github.com/conan-io/conan/pull/12598). Docs: :page_with_curl:
    • Feature: Add gcc 12.1 and 12.2 to settings.yml. (https://github.com/conan-io/conan/pull/12562). Docs: :page_with_curl:
    • Feature: Add tools.build:compiler_executables configuration to set compilers variables in CMakeToolchain, MesonToolchain, and AutoToolsToolchain, e.g., CMAKE_<LANG>_COMPILER in CMakeToolchain. (https://github.com/conan-io/conan/pull/12556). Docs: :page_with_curl:
    • Feature: Allow placeholders in EnvVars. (https://github.com/conan-io/conan/pull/12517). Docs: :page_with_curl:
    • Feature: New NMakeToolchain. (https://github.com/conan-io/conan/pull/12516). Docs: :page_with_curl:
    • Feature: Added generators folder to PKG_CONFIG_PATH environment variable in CMakeToolchain. (https://github.com/conan-io/conan/pull/12513). Docs: :page_with_curl:
    • Feature: Ensure that CMakeToolchain will enforce usage of pkg-config executable set in tools.gnu:pkg_config config. (https://github.com/conan-io/conan/pull/12513). Docs: :page_with_curl:
    • Feature: Add cli_args argument to CMake build helper configure method. (https://github.com/conan-io/conan/pull/12509). Docs: :page_with_curl:
    • Feature: Add target argument to Autotools.install(). (https://github.com/conan-io/conan/pull/12491). Docs: :page_with_curl:
    • Feature: Make available XCRun().settings read attribute. (https://github.com/conan-io/conan/pull/12486). Docs: :page_with_curl:
    • Feature: Automatically add the msys2 usr/bin folder where bash.exe is to the PATH. (https://github.com/conan-io/conan/pull/12457)
    • Feature: Add tools.meson.mesontoolchain:extra_machine_files=["FILENAMES"] to Meson build helper to append machine files to the the ones created by Conan. (https://github.com/conan-io/conan/pull/12117). Docs: :page_with_curl:
    • Feature: Add .user_presets_path attribute to CMakeToolchain to customize the location of CMakeUserPresets.json or to skip generating it. (https://github.com/conan-io/conan/pull/11917). Docs: :page_with_curl:
    • Fix: Raise a clear error if settings.compiler is not defined for MesonToolchain. (https://github.com/conan-io/conan/pull/12623)
    • Fix: Fix runenv for cmake.test(). (https://github.com/conan-io/conan/pull/12580)
    • Fix: Remove hardcoded definitions of CMAKE_CXX_COMPILER in CMakeToolchain. (https://github.com/conan-io/conan/pull/12556). Docs: :page_with_curl:
    • Fix: Remove the extra -s from default build_type compiler flags, added to modern AutotoolsToolchain. (https://github.com/conan-io/conan/pull/12518)
    • Fix: Give priority to -j argument set by user in recipe over the default set by conan in Autotools build helper. (https://github.com/conan-io/conan/pull/12505)
    • Bugfix: Make conan lock update raise a suitable exception. (https://github.com/conan-io/conan/pull/12601)
    • Bugfix: Do not include build-context dependencies in Bazel BUILD file. (https://github.com/conan-io/conan/pull/12543)
    • Bugfix: Do not fallback to a compatible binary if a package is requested to be built from source for a given configuration. (https://github.com/conan-io/conan/pull/12536)
    • Bugfix: Fixing when package_folder=None for MSBuildDeps in editable mode. (https://github.com/conan-io/conan/pull/12529)
    • Bugfix: The CMakeDeps generator was not working properly when the consumer maps configurations of the dependencies using CMAKE_MAP_IMPORTED_CONFIG_XXX. (https://github.com/conan-io/conan/pull/12049). Docs: :page_with_curl:
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.59 MB)
    conan-win-32.exe(14.67 MB)
    conan-win-64.exe(15.87 MB)
  • 2.0.0-beta5(Nov 11, 2022)

    • Feature: Improvements in the remotes management and API (https://github.com/conan-io/conan/pull/12468)
    • Feature: Implement env_info and user_info as fake attributes in Conan 2.0 (https://github.com/conan-io/conan/pull/12351)
    • Feature: Improve settings.rm_safe() (https://github.com/conan-io/conan/pull/12379)
    • Feature: New RecipeReference equality (https://github.com/conan-io/conan/pull/12506)
    • Feature: Simplifying compress and uncompress of .tgz files (https://github.com/conan-io/conan/pull/12378)
    • Feature: conan source command does not require a default profile (https://github.com/conan-io/conan/pull/12475)
    • Feature: Created a proper LockfileAPI, with detailed methods (update, save, etc), instead of several loose methods (https://github.com/conan-io/conan/pull/12502)
    • Feature: The conan export can also produce lockfiles, necessary for users doing a 2 step (export + install--build) process (https://github.com/conan-io/conan/pull/12502)
    • Feature: Drop compat_app (https://github.com/conan-io/conan/pull/12484)
    • Fix: Fix transitive propagation of transitive_headers=True (https://github.com/conan-io/conan/pull/12508)
    • Fix: Fix transitive propagation of transitive_libs=False for static libraries (https://github.com/conan-io/conan/pull/12508)
    • Fix: Fix test_package for python_requires (https://github.com/conan-io/conan/pull/12508)
    Source code(tar.gz)
    Source code(zip)
  • 1.54.0(Nov 7, 2022)

    • Feature: Make conanfile.build_folder available in generate() for test_package. (https://github.com/conan-io/conan/pull/12443)
    • Feature: Add libcxx settings to meson cpp_link_args. (https://github.com/conan-io/conan/pull/12397)
    • Feature: Do not add architecture to system packages by default, only when cross-compiling. (https://github.com/conan-io/conan/pull/12349)
    • Feature: Added distro to global.conf Jinja rendering. (https://github.com/conan-io/conan/pull/12311). Docs: :page_with_curl:
    • Feature: New included_files() method in from conan.tools.scm import Git. (https://github.com/conan-io/conan/pull/12295). Docs: :page_with_curl:
    • Feature: Add stdcpp_library to conan.tools.build to get name of C++ standard library to be linked. (https://github.com/conan-io/conan/pull/12269). Docs: :page_with_curl:
    • Feature: New upload_policy='skip' that not upload binaries (without raising an Exception, simply skip the binaries). (https://github.com/conan-io/conan/pull/12253). Docs: :page_with_curl:
    • Feature: The tool fix_apple_shared_install_name now also patches the <package_id>/bin executables found to point to the libraries at ../lib/xxx.dylib. (https://github.com/conan-io/conan/pull/12249). Docs: :page_with_curl:
    • Feature: New conanfile.win_bash_run and tools.microsoft.bash:active config for better Windows bash management. (https://github.com/conan-io/conan/pull/12178). Docs: :page_with_curl:
    • Fix: Improve description for verify_ssl parameter in CLI. (https://github.com/conan-io/conan/pull/12359). Docs: :page_with_curl:
    • Fix: Overwrite deactivate script to unset only the last activated virtual environment. (https://github.com/conan-io/conan/pull/12353)
    • Fix: Use settings_target in XCRun instead of settings as default and provide argument use_settings_target to select using the active context settings. (https://github.com/conan-io/conan/pull/12319). Docs: :page_with_curl:
    • Bugfix: Fix issue where find_program does not work for a tool requirement in the build context, when the dependency is also a regular requirement in the host context. (https://github.com/conan-io/conan/pull/12464)
    • Bugfix: Fix default_cppstd() import error (https://github.com/conan-io/conan/pull/12446)
    • Bugfix: When recipes have shared and fPIC as options, define BUILD_SHARED_LIBS and CMAKE_POSITION_INDEPENDENT_CODE as CACHE variables in the generated cmake_toolchain.cmake instead of regular variables, so that they are not masked by further calls to options(). (https://github.com/conan-io/conan/pull/12401)
    • Bugfix: Avoid Conan crash when tools.env.environment:auto_use=True is enabled and no generate() method. (https://github.com/conan-io/conan/pull/12386)
    • Bugfix: Fix MSBuildDeps xml component names. (https://github.com/conan-io/conan/pull/12365)
    • Bugfix: Fix new VirtualBuildEnv and VirtualRunEnv generators problems with dots in architecture or config. (https://github.com/conan-io/conan/pull/12294)
    • Bugfix: Fix Autotools install on Windows. The default argument passed is DESTDIR=unix_path(self, self.package_folder). (https://github.com/conan-io/conan/pull/12193). Docs: :page_with_curl:
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.57 MB)
    conan-win-32.exe(14.65 MB)
    conan-win-64.exe(15.22 MB)
  • 2.0.0-beta4(Oct 11, 2022)

    • Feature: Do not allow doing conan create/export with uncommitted changes using revision_mode=scm (https://github.com/conan-io/conan/pull/12267)
    • Feature: Simplify conan inspect command, removing path subcommand (https://github.com/conan-io/conan/pull/12263)
    • Feature: Add --deploy argument to graph info command (https://github.com/conan-io/conan/pull/12243)
    • Feature: Pass graph object to deployers instead of ConanFile (https://github.com/conan-io/conan/pull/12243)
    • Feature: Add included_files method to conan.tools.scm.Git (https://github.com/conan-io/conan/pull/12246)
    • Feature: Improve detection of clang libcxx (https://github.com/conan-io/conan/pull/12251)
    • Feature: Remove old profile variables system in favor of Jinja2 syntax in profiles (https://github.com/conan-io/conan/pull/12152)
    • Fix: Update command to follow Conan 2.0 conventions about CLI output (https://github.com/conan-io/conan/pull/12235)
    • Fix: Fix aggregation of test trait in diamonds (https://github.com/conan-io/conan/pull/12080)
    Source code(tar.gz)
    Source code(zip)
  • 1.53.0(Oct 4, 2022)

    • Feature: Implement a new [runenv] section in the Profile, to define the runtime environment. (https://github.com/conan-io/conan/pull/12230). Docs: :page_with_curl:
    • Feature: Add compiler.version 11.3 for GCC in settings. (https://github.com/conan-io/conan/pull/12215)
    • Feature: Make conan.tools.apple.XCRun() public. (https://github.com/conan-io/conan/pull/12172). Docs: :page_with_curl:
    • Feature: Add message to help users that have old CMake versions invoking CMake manually with the same information stored in the CMakePresets. (https://github.com/conan-io/conan/pull/12169)
    • Feature: Make conan.tools.scmGit.run() public. (https://github.com/conan-io/conan/pull/12165). Docs: :page_with_curl:
    • Feature: Add MSBuildToolchain.properties to define extra properties. (https://github.com/conan-io/conan/pull/12147). Docs: :page_with_curl:
    • Feature: Update requirements.txt to use distro package version <=1.7.0. (https://github.com/conan-io/conan/pull/12140)
    • Feature: Added method rm_safe to settings and options. (https://github.com/conan-io/conan/pull/12094). Docs: :page_with_curl:
    • Feature: Add missing configurations for conan config list and show the results ordered by key. (https://github.com/conan-io/conan/pull/12087). Docs: :page_with_curl:
    • Feature: Define source_folder in test_package when layout() is defined. (https://github.com/conan-io/conan/pull/12075)
    • Feature: Support for Xcode 14 and new iOS, watchOS, tvOS and macOS versions. (https://github.com/conan-io/conan/pull/12064)
    • Feature: Add cpp_info.libdir|bindir|includedir interface to access cpp_info.libdirs[0] in recipes (https://github.com/conan-io/conan/pull/12030). Docs: :page_with_curl:
    • Feature: Improve Clang support in Windows. (https://github.com/conan-io/conan/pull/11492)
    • Fix: Fix missing binary conan search dep/1.0 --table message when a binary is missing. (https://github.com/conan-io/conan/pull/12184)
    • Fix: Remove too noisy messages from environment files (https://github.com/conan-io/conan/pull/12168)
    • Fix: Add support for windows on ARM64 native platform. (https://github.com/conan-io/conan/pull/12145)
    • Fix: Avoid changing MSBuildDeps filenames with - while trying to avoid wrong XML formats. (https://github.com/conan-io/conan/pull/12141)
    • Fix: Fix XcodeDeps using full package reference in case of package with components. (https://github.com/conan-io/conan/pull/12097)
    • Fix: Fixed a bug when getting the values from the self.conf in the conanfile of a test_package with build_requirements declaring the self.conf_info. (https://github.com/conan-io/conan/pull/12095)
    • Fix: CMakeToolchain.cache_variables parse option value as expected. (https://github.com/conan-io/conan/pull/12086)
    • Fix: Fix XcodeDeps handle hyphen in component requirements. (https://github.com/conan-io/conan/pull/12084)
    • Fix: Add the test_requires to CMakeToolchain directories/folders to find cmake files inside them. (https://github.com/conan-io/conan/pull/12081)
    • Fix: Set gnu17 as clang 16 cppstd default. (https://github.com/conan-io/conan/pull/12067)
    • Bugfix: Implement correct libcxx support in MesonToolchain. (https://github.com/conan-io/conan/pull/12156)
    • Bugfix: Add "endeavouros" to the list of distros with pacman. (https://github.com/conan-io/conan/pull/11971)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.60 MB)
    conan-win-32.exe(14.70 MB)
    conan-win-64.exe(15.27 MB)
  • 2.0.0-beta3(Sep 12, 2022)

    • Feature: Decouple test_package from create (https://github.com/conan-io/conan/pull/12046)
    • Feature: Warn if special chars in exported refs (https://github.com/conan-io/conan/pull/12053)
    • Feature: Improvements in MSBuildDeps traits (https://github.com/conan-io/conan/pull/12032)
    • Feature: Added support for CLICOLOR_FORCE env var, that will activate the colors in the output if the value is declared and different to 0 (https://github.com/conan-io/conan/pull/12028)
    • Fix: Call source() just once for all configurations (https://github.com/conan-io/conan/pull/12050)
    • Fix: Fix deployers not creating output_folder (https://github.com/conan-io/conan/pull/11977)
    • Fix: Fix build_id() removal of require (https://github.com/conan-io/conan/pull/12019)
    • Fix: If Conan fails to load a custom command now it fails with a useful error message (https://github.com/conan-io/conan/pull/11720)
    • Bugfix: If the 'os' is not specified in the build profile and a recipe, in Windows, wanted to run a command (https://github.com/conan-io/conan/pull/11728)
    Source code(tar.gz)
    Source code(zip)
  • 1.52.0(Aug 31, 2022)

    • Feature: Added mechanism to create .pc files for build requirements. (https://github.com/conan-io/conan/pull/11979). Docs: :page_with_curl:
    • Feature: Add MSBuild().build(.., targets=["target1"]) argument to new MSBuild. (https://github.com/conan-io/conan/pull/11968). Docs: :page_with_curl:
    • Feature: Refactored PkgConfigDeps code. (https://github.com/conan-io/conan/pull/11955)
    • Feature: Removed warning messages from PkgConfigDeps if any duplicated *.pc file. (https://github.com/conan-io/conan/pull/11955)
    • Feature: Add is_msvc(..., build_context=False) argument. (https://github.com/conan-io/conan/pull/11949). Docs: :page_with_curl:
    • Feature: Support remotes.json in Conan 1.X. (https://github.com/conan-io/conan/pull/11936). Docs: :page_with_curl:
    • Feature: Add BUILD_TESTING=OFF to CMakeToolchain presets if tools.build:skip_test. (https://github.com/conan-io/conan/pull/11935). Docs: :page_with_curl:
    • Feature: Allow traits in self.requires() for 2.0 compatibility. (https://github.com/conan-io/conan/pull/11934). Docs: :page_with_curl:
    • Feature: Make the version of the Conan client available under conan and make it a Version object so it can be compared. (https://github.com/conan-io/conan/pull/11928). Docs: :page_with_curl:
    • Feature: Add ability to pass additional arguments to conan.tools.scm.Git.clone(). (https://github.com/conan-io/conan/pull/11921). Docs: :page_with_curl:
    • Feature: Promote to_apple_arch in the new conan.tools.apple module. (https://github.com/conan-io/conan/pull/11915). Docs: :page_with_curl:
    • Feature: Add export_conandata_patches tool. (https://github.com/conan-io/conan/pull/11911). Docs: :page_with_curl:
    • Feature: Fail sooner and with a meaningful error if the specified required version is not satisfied. (https://github.com/conan-io/conan/pull/11908)
    • Feature: Implement cmake_layout(..., build_folder="build) build folder argument. (https://github.com/conan-io/conan/pull/11889). Docs: :page_with_curl:
    • Feature: Add new members to ConanFileInterface for self.dependencies access. (https://github.com/conan-io/conan/pull/11868). Docs: :page_with_curl:
    • Feature: Defines the PACKAGE_ROOT_<package> variable in XcodeDeps generated files. (https://github.com/conan-io/conan/pull/11818). Docs: :page_with_curl:
    • Feature: Added clang 16 to settings. (https://github.com/conan-io/conan/pull/11780)
    • Feature: Allow the authorization process in conan_server to be customized, just like authentication. (https://github.com/conan-io/conan/pull/11776). Docs: :page_with_curl:
    • Fix: Change conan.tools.files.get/download default checksums to None, instead of empty string. (https://github.com/conan-io/conan/pull/11939)
    • Fix: When the layout() is declared in the recipe, the files such as conainfo.txt, conanbuildinfo.txt were written in the test_package folder, now there are written in the generators_folder. (https://github.com/conan-io/conan/pull/11820)
    • Bugfix: Fix conversion if options passed in compatibility() method. (https://github.com/conan-io/conan/pull/11991). Docs: :page_with_curl:
    • Bugfix: Prevent mutation of loaded data from conanfile.yml if accesses multiple times during the same run when calling apply_conandata_patches(). (https://github.com/conan-io/conan/pull/11860)
    • Bugfix: Do not skip pycache folder if CONAN_KEEP_PYTHON_FILES. (https://github.com/conan-io/conan/pull/11828)
    • Bugfix: Added + and - symbols to be replaced by _ in XML element names. (https://github.com/conan-io/conan/pull/11826)
    • Bugfix: The tool.scm.Version model has been ported from 2.X to keep the same behavior in Conan 1.X. (https://github.com/conan-io/conan/pull/11823)
    • Bugfix: Fixed cpp_std flags when using C++20. (https://github.com/conan-io/conan/pull/11819)
    • Bugfix: Use "android-" format for the ANDROID_PLATFORM argument to be compatible with old NDK versions. (https://github.com/conan-io/conan/pull/11799)
    • Bugfix: Fix XcodeDeps component handling in transitive dependencies (https://github.com/conan-io/conan/pull/11772)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.59 MB)
    conan-win-32.exe(14.69 MB)
    conan-win-64.exe(15.26 MB)
  • 1.51.3(Aug 18, 2022)

    • Fix: The tool is_apple_os can be imported from conan.tools.apple and receives an instance of Conanfile. (https://github.com/conan-io/conan/pull/11896). Docs: :page_with_curl:
    • Fix: Prevent None folders to be processed in the cpp_info. (https://github.com/conan-io/conan/pull/11893)
    • Fix: CMakeDeps now generates CMake variables as XXX_INCLUDE_DIR in the XXXX-data.cmake for the global cpp_info even if components are declared in the recipe. It is obtained by merging the components cpp_info into a global one. (https://github.com/conan-io/conan/pull/11874)
    • Bugfix: Fixed the cmake_pathsgenerator to set the root of the packages to the CMAKE_MODULE_PATH and CMAKE_PREFIX_PATH (https://github.com/conan-io/conan/pull/11883)
    • Bugfix: The CMakeDeps generator was not managing correctly the IMPORTED LOCATION of the libraries for different build_type. (https://github.com/conan-io/conan/pull/11859)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.57 MB)
    conan-win-32.exe(14.68 MB)
    conan-win-64.exe(15.25 MB)
  • 1.50.2(Aug 11, 2022)

  • 1.51.2(Aug 11, 2022)

  • 1.51.1(Aug 9, 2022)

    • Feature: The self.info.settings and self.info.options now allow the get_safe("foo") as it is available in self.settings and self.options. (https://github.com/conan-io/conan/pull/11803)
    • Fix: Add conan.errors to hidden pyinstaller imports. (https://github.com/conan-io/conan/pull/11817)
    • Fix: Fix choco install invokation. (https://github.com/conan-io/conan/pull/11810)
    • Fix: Add conan.tools.system.package_manager to hidden pyinstaller imports. (https://github.com/conan-io/conan/pull/11806)
    • Fix: Add conan.tools.system as hidden-import to pyinstaller.py, so it is bundled with the installer. (https://github.com/conan-io/conan/pull/11805)
    • Bugfix: Update cmake_layout build and generators folders to honor os path format. (https://github.com/conan-io/conan/pull/11809)
    • Bugfix: create -kb wasn't setting up conanfile.generators_folder correctly. (https://github.com/conan-io/conan/pull/11804)
    • Bugfix: Legacy cpp_info for consumers was losing information in case of depending on a package with a layout. (https://github.com/conan-io/conan/pull/11790)
    • Bugfix: Refactored CMakeDep using always targets instead of lists. (https://github.com/conan-io/conan/pull/11788)
    • Bugfix: Fix toolchainFile key not found with CMake presets. (https://github.com/conan-io/conan/pull/11759)
    • Bugfix: The CMakeDeps generator failed for consumers with CMake projects doing an add_subdirectory with two different find_package calls to the same package, one in the main CMakeLists.txt and the other in the subdirectory. (https://github.com/conan-io/conan/pull/11756)
    • Bugfix: The CMakeDeps generator stopped to fill the XXX_LIBRARIES CMake variable, especially when using components. (https://github.com/conan-io/conan/pull/11756)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.57 MB)
    conan-win-32.exe(14.67 MB)
    conan-win-64.exe(15.24 MB)
  • 1.51.0(Jul 28, 2022)

    • Feature: Update system package manager db right before install, instead before check (https://github.com/conan-io/conan/pull/11716)
    • Feature: Do the package manager update just in mode install and ignore if mode is check. (https://github.com/conan-io/conan/pull/11712). Docs: :page_with_curl:
    • Feature: The AutotoolsToolchain attributes .cxxflags, .cflags, .ldflags and .defines can be read at any moment, now is not needed to call .environment() to get them calculated. In the other hand, if you want to add additional flags the following attributes have to be used: .extra_cxxflags, .extra_cflags, .extra_ldflags and .extra_defines (https://github.com/conan-io/conan/pull/11678). Docs: :page_with_curl:
    • Feature: Changed CMakeDeps generator so the global target made for a package with components is a target linked with the targets of the components, instead of a target made from merging cpp_info objects from the components. (https://github.com/conan-io/conan/pull/11673). Docs: :page_with_curl:
    • Feature: Support for components in MSBuildDeps. (https://github.com/conan-io/conan/pull/11669). Docs: :page_with_curl:
    • Feature: The CMakePreset.json now contains toolset and architecture items when using Ninja generator and msvc compiler so the IDE (Visual Studio) can set the correct compiler (vcvars) automatically. (https://github.com/conan-io/conan/pull/11666)
    • Feature: Introduced a new conf tools.cmake.cmaketoolchain.presets:max_schema_version to generate CMakePresets.json and CMakeUserPresets.json compatible with the specified json schema version. The minimum value supported is >=2. (https://github.com/conan-io/conan/pull/11655). Docs: :page_with_curl:
    • Feature: Added objc_args/objc_link_args/objcpp_args/objcpp_link_args to MesonToolchain for Objective-C/C++ language. (https://github.com/conan-io/conan/pull/11632). Docs: :page_with_curl:
    • Feature: Adding default directories to MesonToolchain. (https://github.com/conan-io/conan/pull/11618). Docs: :page_with_curl:
    • Feature: Provide Path accessors in Conanfile. (https://github.com/conan-io/conan/pull/11585)
    • Feature: Introduced a validate_build() method in the recipes to validate if the package can be built according to self.settings and self.options instead of self.info.settings and self.info.options that it is used to validate the binary. (https://github.com/conan-io/conan/pull/11580). Docs: :page_with_curl:
    • Feature: Add ability to download files in the local filesystem using file:// URIs. (https://github.com/conan-io/conan/pull/11569). Docs: :page_with_curl:
    • Feature: Added MesonDeps as a new generator to create an extra file with all the GNU flags from all the dependencies. Meson build-helper will add that one (if exists) to complement the created one by MesonToolchain. (https://github.com/conan-io/conan/pull/11557). Docs: :page_with_curl:
    • Feature: Added a new self.folders.subproject for layout() to be able to define layouts that goes up to the parent or siblings folders, together with the self.folders.root = "..". (https://github.com/conan-io/conan/pull/11556). Docs: :page_with_curl:
    • Feature: Adding new msys2_ucrt64, msys2_mingw64, msys2_clang64 subsystems in os.subsystem for Windows. (https://github.com/conan-io/conan/pull/11530)
    • Fix: Add conan.tools.scm as hidden-import to pyinstaller.py, so it is bundled with the installer. (https://github.com/conan-io/conan/pull/11677)
    • Fix: The cmake_build_modules property can only be declared in the self.cpp_info, not in components, where will be ignored. (https://github.com/conan-io/conan/pull/11673). Docs: :page_with_curl:
    • Fix: Fix Dnf and Yum to accept 100 as a return code. (https://github.com/conan-io/conan/pull/11668)
    • Fix: Get the cpu count for cgroup2 from /sys/fs/cgroup/cpu.max. (https://github.com/conan-io/conan/pull/11667). Docs: :page_with_curl:
    • Fix: Improve opensuse detection in tool.system.package_manager. (https://github.com/conan-io/conan/pull/11660)
    • Fix: Add raspbian to default tools.system.package_manager package manager mapping. (https://github.com/conan-io/conan/pull/11654). Docs: :page_with_curl:
    • Fix: Allow templates for conan new to contain Readme.md and LICENSE.txt files. (https://github.com/conan-io/conan/pull/11645)
    • Fix: Remove conan_message() in CMakeDeps. (https://github.com/conan-io/conan/pull/11625)
    • Fix: In conans.tools.collect_libs and conan.tools.files.collect_libs, avoids to list other flavors (version, soversion) of the same dylib on macOS, so that behavior is consistent on Linux & macOS. (https://github.com/conan-io/conan/pull/11527). Docs: :page_with_curl:
    • Bugfix: The AutotoolsToolchain now clears None values from the attributes .cxxflags, .cflags, .ldflags and .defines. (https://github.com/conan-io/conan/pull/11678). Docs: :page_with_curl:
    • Bugfix: The CMakePresets.json file contained invalid paths (mixing / and \) for Windows that caused issues when using Visual Studio. (https://github.com/conan-io/conan/pull/11652)
    • BugFix: Avoid LocalDebuggerEnv overflows in MSBuildDeps due to addition of PATH env-var. (https://github.com/conan-io/conan/pull/11631)
    • Bugfix: Fix frameworkdirs not taken into account in XcodeDeps generator. (https://github.com/conan-io/conan/pull/11617)
    • Bugfix: CMakeToolchain avoid setting CMAKE_INSTALL_XXX variables if the values are not defined. (https://github.com/conan-io/conan/pull/11614)
    • Bugfix: Use correct build target in CMake.test() for the Ninja Multi-Config generator. (https://github.com/conan-io/conan/pull/11594)
    • Bugfix: The CMakeToolchain was crashing when building for Android os a package that is removing the compiler.libcxx (C library). (https://github.com/conan-io/conan/pull/11586)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.76 MB)
    conan-win-32.exe(14.67 MB)
    conan-win-64.exe(15.24 MB)
  • 1.50.1(Jul 28, 2022)

  • 2.0.0-beta2(Jul 27, 2022)

    • Feature: Add traits support in MSBuildDeps (https://github.com/conan-io/conan/pull/11680)
    • Feature: Add traits support in XcodeDeps (https://github.com/conan-io/conan/pull/11615)
    • Feature: Let dependency define package_id modes (https://github.com/conan-io/conan/pull/11441)
    • Feature: Add conan.conanrc file to setup the conan user home (https://github.com/conan-io/conan/pull/11675)
    • Feature: Add core.cache:storage_path to declare the absolute path where you want to store the Conan packages (https://github.com/conan-io/conan/pull/11672)
    • Feature: Add tools for checking max cppstd version (https://github.com/conan-io/conan/pull/11610)
    • Feature: Add a post_build_fail hook that is called when a build fails (https://github.com/conan-io/conan/pull/11593)
    • Feature: Add pre_generate and post_generate hook, covering the generation of files around the generate() method call (https://github.com/conan-io/conan/pull/11593)
    • Feature: Brought conan config list command back and other conf improvements (https://github.com/conan-io/conan/pull/11575)
    • Feature: Added two new arguments for all commands -v for controlling the verbosity of the output and --logger to output the contents in a json log format for log processors (https://github.com/conan-io/conan/pull/11522)
    Source code(tar.gz)
    Source code(zip)
  • 1.50.0(Jun 29, 2022)

    • Feature: VirtualBuildEnv and VirtualRunEnv always generate files, even if empty. (https://github.com/conan-io/conan/pull/11536)
    • Feature: Improve dependency-cycle error to show the cycle. (https://github.com/conan-io/conan/pull/11519)
    • Feature: Aggregate transitive components information in the same package for XcodeDeps. (https://github.com/conan-io/conan/pull/11507). Docs: :page_with_curl:
    • Feature: map armv8 arch to ARM64 MSBuild platform in MSBuildDeps generator. (https://github.com/conan-io/conan/pull/11505)
    • Feature: Added CMakeToolchain(self).cache_variables to declare cache_variables in the configurePresets in the CMakePresets.json file. Conan reads them to call cmake with -D when using the CMake(self) build helper. These cache variables doesn't support multi-configuration generators. (https://github.com/conan-io/conan/pull/11503). Docs: :page_with_curl:
    • Feature: Simplify XcodeDeps generator. (https://github.com/conan-io/conan/pull/11491). Docs: :page_with_curl:
    • Feature: Created self.info.clear() as an alias of self.info.header_only() that will disappear in Conan 2.0. (https://github.com/conan-io/conan/pull/11478). Docs: :page_with_curl:
    • Feature: Allow options having ["ANY"] as a list like Conan 2.X. (https://github.com/conan-io/conan/pull/11449). Docs: :page_with_curl:
    • Feature: Ported cppstd related tools from 2.X branch. (https://github.com/conan-io/conan/pull/11446). Docs: :page_with_curl:
    • Feature: Added tool rm at conan.tools.files to remove files by pattern in a folder. (https://github.com/conan-io/conan/pull/11443). Docs: :page_with_curl:
    • Feature: Add support for test_requires in XcodeDeps. (https://github.com/conan-io/conan/pull/11415)
    • Feature: Add relative path support to Git SCM tool. (https://github.com/conan-io/conan/pull/11407)
    • Feature: Changed cmake_layout with a more natural and intuitive folders.build and folders.generators. Also changed the CMakePresets.json preset names. (https://github.com/conan-io/conan/pull/11391). Docs: :page_with_curl:
    • Fix: When using the layout() (as opt-in of some Conan 2.0 features) the default includedirs of the declared components is now ["include"] the default of the libdirs is ["lib"] and the default for the bindirs is ["bin"]. Previously, the components always had empty fields. Also the default of cpp_info.resdirs is now empty. (https://github.com/conan-io/conan/pull/11471). Docs: :page_with_curl:
    • Fix: The CMakeToolchain will fail if settings.build_type is specified in the 'tools.cmake.cmake_layout:build_folder' conf because the build_type is automatically managed by the CMakeToolchain and CMakeDeps generators by default. (https://github.com/conan-io/conan/pull/11470). Docs: :page_with_curl:
    • Fix: When using the new layout() feature of Conan 2.0, change the default cpp_info.frameworkdirs = ["Frameworks"] to cpp_info.frameworkdirs = [], because it is more common to not have packaged Apple frameworks and declaring a missing folder can cause issues with the new toolchains. (https://github.com/conan-io/conan/pull/11455). Docs: :page_with_curl:
    • Fix: The "include" paths list in a CMakeUserPresets.json, when performing a new conan install, are now checked, and in case some of them is a missing path (deleted directory), it is cleaned from the list. (https://github.com/conan-io/conan/pull/11414)
    • Fix: Avoid issues in VirtualRunEnv for undefined variables when set -e is defined. (https://github.com/conan-io/conan/pull/11361)
    • Bugfix: Fix logic in the generation of CMakeUserPresets.json - Conan will only generate the file if it did not previously exist, and will modify an existing one if the file was previously generated by conan. Existing CMakeUserPresets.json will be left untouched otherwise. (https://github.com/conan-io/conan/pull/11452). Docs: :page_with_curl:
    • Bugfix: Fix crash in pylint plugin with pylint >= 2.14.0. (https://github.com/conan-io/conan/pull/11445)
    • Bugfix: Allow using PkgConfigDeps for editable packages, not raising an error cause package_folder is None. (https://github.com/conan-io/conan/pull/11440)
    • Bugfix: The CMakePresets.json file, when performing several conan install commands, ended-up with several entries of duplicated "buildPresets" if used with a multi-configuration cmake generator. (https://github.com/conan-io/conan/pull/11414)
    • Bugfix: PkgConfigDeps creates *.pc files for test_requires. (https://github.com/conan-io/conan/pull/11390)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.73 MB)
    conan-win-32.exe(14.65 MB)
    conan-win-64.exe(15.22 MB)
  • 2.0.0-beta1(Jun 20, 2022)

    • Feature: New graph model to better support C and C++ binaries relationships, compilation, and linkage.
    • Feature: New documented public Python API, for user automation
    • Feature: New build system integrations, more flexible and powerful, and providing transparent integration when possible, like CMakeDeps and CMakeToolchain
    • Feature: New custom user commands, that can be built using the public PythonAPI and can be shared and installed with conan config install
    • Feature: New CLI interface, with cleaner commands and more structured output
    • Feature: New deployers mechanism to copy artifacts from the cache to user folders, and consume those copies while building.
    • Feature: Improved package_id computation, taking into account the new more detailed graph model.
    • Feature: Added compatibility.py extension mechanism to allow users to define binary compatibility globally.
    • Feature: Simpler and more powerful lockfiles to provide reproducibility over time.
    • Feature: Better configuration with [conf] and better environment management with the new conan.tools.env tools.
    • Feature: Conan cache now can store multiple revisions simultaneously.
    • Feature: New extensions plugins to implement profile checking, package signing, and build commands wrapping.
    • Feature: Used the package immutability for an improved update, install and upload flows.
    Source code(tar.gz)
    Source code(zip)
  • 1.48.2(Jun 2, 2022)

  • 1.49.0(Jun 2, 2022)

    • Feature: Add install_substitutes to system package manager tools to be able to install sets of packages that are equivalent with different names for different distros. (https://github.com/conan-io/conan/pull/11367). Docs: :page_with_curl:
    • Feature: Do not automatically fix the shared libraries to add the rpath in Apple and add an external tool tools.apple.fix_apple_shared_install_name to do it optionally in recipes for packages that do not set the correct LC_ID_DYLIB. (https://github.com/conan-io/conan/pull/11365). Docs: :page_with_curl:
    • Feature: Allow pyyaml 6.0 dependency. (https://github.com/conan-io/conan/pull/11363)
    • Feature: Removed Python 2.7 support, as a result of an unsolvable security vulnerability in pyjwt. (https://github.com/conan-io/conan/pull/11357). Docs: :page_with_curl:
    • Feature: The conanfile.txt file now accepts a [layout] that can be filled with 3 predefined layouts: cmake_layout, vs_layout and bazel_layout. (https://github.com/conan-io/conan/pull/11348). Docs: :page_with_curl:
    • Feature: Remove the parameter copy_symlink_folders of the conan.tool.files.copy function and now, any symlink file pointing to a folder will be treated as a regular file. (https://github.com/conan-io/conan/pull/11330). Docs: :page_with_curl:
    • Feature: Tools can_run validates if it is possible to run a and application build for a non-native architecture. (https://github.com/conan-io/conan/pull/11321). Docs: :page_with_curl:
    • Feature: Add CMAKE_SYSROOT support for CMakeToolchain. (https://github.com/conan-io/conan/pull/11317). Docs: :page_with_curl:
    • Feature: Add --sysroot support for AutotoolsToolchain and remove support for cpp_info.sysroot in AutotoolsDeps. (https://github.com/conan-io/conan/pull/11317). Docs: :page_with_curl:
    • Feature: Add tools.build:sysroot conf. (https://github.com/conan-io/conan/pull/11317). Docs: :page_with_curl:
    • Feature: Improved cmake_layout and CMakePresets.json feature so you can manage different configurations using the same CMakeUserPresets.json not only for multi-config (Debug/Release) but for any set of settings specified in a new conf tools.cmake.cmake_layout:build_folder_vars that accepts a list of settings to use. e.g tools.cmake.cmake_layout:build_folder_vars=["settings.compiler", "options.shared"] (https://github.com/conan-io/conan/pull/11308). Docs: :page_with_curl:
    • Feature: Adds GCC 9.4 in the list of compilers supported in the settings file. (https://github.com/conan-io/conan/pull/11296)
    • Feature: Raise an error when running CMake if CMAKE_BUILD_TYPE is not defined and the generator is not multi-config. (https://github.com/conan-io/conan/pull/11294). Docs: :page_with_curl:
    • Feature: Implement a check_min_vs() checker that will work for both Visual Studio and msvc to allow migration from 1.X to 2.0 (https://github.com/conan-io/conan/pull/11292). Docs: :page_with_curl:
    • Feature: More flexibility in Autotools tools to override arguments and avoid all default arguments for make, autoreconf and configure. (https://github.com/conan-io/conan/pull/11284). Docs: :page_with_curl:
    • Feature: Add components support in XcodeDeps. (https://github.com/conan-io/conan/pull/11233). Docs: :page_with_curl:
    • Feature: Define new tools.cmake.cmaketoolchain:toolset_arch to define VS toolset x64 or x86 architecture (https://github.com/conan-io/conan/pull/11147). Docs: :page_with_curl:
    • Feature: Add new xtensalx7 option for the arch_target and arch settings, allowing targeting Espressif's ESP32-S2 and ESP32-S3 microcontrollers. (https://github.com/conan-io/conan/pull/11143)
    • Fix: Use interface_library with shared_library on Windows in BazelDeps. (https://github.com/conan-io/conan/pull/11355)
    • Fix: BazelDeps generator cannot find a lib when it's named with the basename of the lib file. (https://github.com/conan-io/conan/pull/11343)
    • Fix: Avoid empty paths in run environments PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH env-vars. (https://github.com/conan-io/conan/pull/11298)
    • Fix: Use DESTDIR argument in make install step instead of using the --prefix in configure. (https://github.com/conan-io/conan/pull/11284). Docs: :page_with_curl:
    • Fix: Add -DCMAKE_BUILD_TYPE to markdown generator instructions for CMake single config. (https://github.com/conan-io/conan/pull/11220)
    • Fix: Fixing --require-override over conditional requirements() method. (https://github.com/conan-io/conan/pull/11209)
    • Fix: Placing quote marks around echo statement in save_sh function. (https://github.com/conan-io/conan/pull/11123)
    • Bugfix: Force conan_server to use pyjwt>=2.4.0 to solve a known vulnerability. (https://github.com/conan-io/conan/pull/11350)
    • Bugfix: Fix case where CMakeDeps generator may use the wrong dependency name for transitive dependencies. (https://github.com/conan-io/conan/pull/11307)
    • Bugfix: Link cpp_info.objects first in CMakeDeps generator, as they can have dependencies to system_libs that need to be after them in some platforms to correctly link. (https://github.com/conan-io/conan/pull/11272)
    • Bugfix: Update cmake_layout generators folder to honor os path format. (https://github.com/conan-io/conan/pull/11252)
    • Bugfix: Catching KeyError if USERNAME is not set as env variable on Windows. (https://github.com/conan-io/conan/pull/11223)
    • Bugfix: Add Rocky Linux to with_yum. (https://github.com/conan-io/conan/pull/11212)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.66 MB)
    conan-win-32.exe(14.57 MB)
    conan-win-64.exe(15.15 MB)
  • 1.48.1(May 18, 2022)

    • Fix: Add -DCMAKE_BUILD_TYPE to markdown generator instructions for CMake single config. (https://github.com/conan-io/conan/pull/11234)
    • Bugfix: Fix case where CMakeDeps assumes a module dependency when transitive dependencies do not define cmake_find_mode and fallback to a config one. (https://github.com/conan-io/conan/pull/11240)
    • Bugfix: Fixed broken apple-clang 13.0 compatibility. (https://github.com/conan-io/conan/pull/11231)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(22.54 MB)
    conan-win-32.exe(14.55 MB)
    conan-win-64.exe(15.12 MB)
  • 2.0.0-alpha7(May 12, 2022)

  • 1.48.0(May 3, 2022)

    • Feature: Do not recommend to set PKG_CONFIG_PATH in markdown generator any more as it is already set by the AutotoolsToolchain. (https://github.com/conan-io/conan/pull/11120)
    • Feature: The cmake_layout declares folders.generators = "build/generators" that is common for different configurations, enabling CMakePresets.json to support different configurePresets and buildPresets for single-config and multi-config generators. (https://github.com/conan-io/conan/pull/11117). Docs: :page_with_curl:
    • Feature: The CMakeToolchain generator will create (if missing) a CMakeUserPresets.json if the CMakeLists.txt file is found in the root folder of the project. That file will include automatically the CMakePresets.json file contained at build/generators folder to allow CMake and IDEs to locate automatically the presets generated by Conan. (https://github.com/conan-io/conan/pull/11117). Docs: :page_with_curl:
    • Feature: The CMAKE_BUILD_TYPE is not adjusted in the conan_toolchain.cmake anymore, the configuration is moved to the CMakePresets.json preparing Conan to support multiple "single-config" configurations in one CMakePresets.json file (https://github.com/conan-io/conan/pull/11112). Docs: :page_with_curl:
    • Feature: The CMakePresets.json (file generated when specified the CMakeToolchain generator) is appended with a new buildPresets after a conan install with a different build_type when using a multiconfiguration generator like Visual Studio. (https://github.com/conan-io/conan/pull/11103). Docs: :page_with_curl:
    • Feature: Removed PlatformToolset and added conantoolchain.props from *.vcxproj file. (https://github.com/conan-io/conan/pull/11101)
    • Feature: Append the folder where the Conan generators were installed to PKG_CONFIG_PATH in AutotoolsToolchain. (https://github.com/conan-io/conan/pull/11063). Docs: :page_with_curl:
    • Feature: Adding new tools.env.virtualenv:powershell conf to opt-in to generate and use powershell scripts instead of .bat ones. (https://github.com/conan-io/conan/pull/11061). Docs: :page_with_curl:
    • Feature: Added new configuration fields: tools.apple:enable_bitcode, tools.apple:enable_arc and tools.apple:enable_visibility. (https://github.com/conan-io/conan/pull/10985). Docs: :page_with_curl:
    • Feature: Added new mechanism to inject common Xcode flags in CMakeToolchain generator if enabled Bitcode, ARC, or Visibility configurations. (https://github.com/conan-io/conan/pull/10985). Docs: :page_with_curl:
    • Feature: New templates for autotools exe and lib. (https://github.com/conan-io/conan/pull/10978). Docs: :page_with_curl:
    • Feature: Change build_script_folder argument from the configure to the Autotools build helper constructor. (https://github.com/conan-io/conan/pull/10978). Docs: :page_with_curl:
    • Feature: Replaced add_definitions by add_compile_definitions in conan.tools.cmake.* package. (https://github.com/conan-io/conan/pull/10974)
    • Feature: Added cxxflags, cflags, and ldflags attributes to MSBuildToolchain. (https://github.com/conan-io/conan/pull/10972). Docs: :page_with_curl:
    • Feature: Added mechanism to inject extra flags to MSBuildToolchain via [conf]. (https://github.com/conan-io/conan/pull/10972). Docs: :page_with_curl:
    • Fix: Allow Version(self.settings.compiler.version) to work for new tools.scm.Version``. (https://github.com/conan-io/conan/pull/11119)
    • Fix: Make shared libraries build with Autotools relocatable in Macos by patching the install name (LC_ID_DYLIB) and setting to @rpath/libname.dylib. (https://github.com/conan-io/conan/pull/11114). Docs: :page_with_curl:
    • Fix: using CMAKE_PROJECT_INCLUDE instead of presets to define variables that don't work in toolchains (https://github.com/conan-io/conan/pull/11098)
    • Fix: Fix quote escaping for defines in pkg_config generator. (https://github.com/conan-io/conan/pull/11073)
    • Fix: Fix quote escaping for defines in PkgConfigDeps generator. (https://github.com/conan-io/conan/pull/11073)
    • Fix: Quote add_compile_definitions correctly in CMakeToolchain. (https://github.com/conan-io/conan/pull/11057)
    • Fix: Escape quotes in definitions in CMakeToochain. (https://github.com/conan-io/conan/pull/11057)
    • Fix: Renamed self.base_source_folder to self.export_source_folder. That variable was introduced to reference the folder where the export_sources are. Currently, they are copied to the source folder but might be changed in the future to avoid copying them, so self.export_source_folder will always point to the folder containing the exports_sources. (https://github.com/conan-io/conan/pull/11055). Docs: :page_with_curl:
    • Fix: Ensure correct order for libraries in AutotoolsDeps. (https://github.com/conan-io/conan/pull/11054)
    • Fix: Escape quotes in XCodeDeps generator. (https://github.com/conan-io/conan/pull/11039)
    • Fix: The CMakeDeps generator now set INTERFACE_LINK_DIRECTORIES necessary when using auto link '#pragma comment(lib, "foo")' when the required library sets the property cmake_set_interface_link_directories. (https://github.com/conan-io/conan/pull/10984). Docs: :page_with_curl:
    • Fix: Renamed variables from the CMakeToolchain context in blocks to be all lowercase. e.g: CMAKE_OSX_ARCHITECTURES to cmake_osx_architectures. (https://github.com/conan-io/conan/pull/10981)
    • Bugfix: Avoid BazelDeps to find a library when a directory with the same name exists. (https://github.com/conan-io/conan/pull/11090)
    • Bugfix: The binaryDir field at CMakePresets.json is not set if the conanfile.build_folder is not available, avoiding a null value breaking the specification. (https://github.com/conan-io/conan/pull/11088)
    • Bugfix: Fixed unziping while using tools.get or tools.unzip with the strip_root=True in a tgz file with hardlinks inside. (https://github.com/conan-io/conan/pull/11074)
    • Bugfix: The method get_commit from the new conan.tools.scm.Git was capturing a wrong commit, for example, ignoring commits in subfolders when checking the parent folder. (https://github.com/conan-io/conan/pull/11015)
    • Bugfix: The json generator was showing "None" in the version field of the dependencies when the layout() method was used. (https://github.com/conan-io/conan/pull/10960)
    • Bugfix: The config default_python_requires_id_mode=unrelated_mode raised an error, it has been fixed. (https://github.com/conan-io/conan/pull/10959)
    • Bugfix: The CMakeToolchain now declares CACHE BOOL variables when a bool is stored in a variable: toolchain.variables["FOO"] = True. (https://github.com/conan-io/conan/pull/10941)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(23.40 MB)
    conan-win-32.exe(14.55 MB)
    conan-win-64.exe(15.12 MB)
  • 1.47.0(Mar 31, 2022)

    • Feature: Renamed tools.build:cppflags to tools.build:defines and removed tools.build:ldflags (now it's the union between tools.build:sharedlinkflags and tools.build:exelinkflags in mostly all the cases). (https://github.com/conan-io/conan/pull/10928). Docs: :page_with_curl:
    • Feature: Adding cross-compilation for Android in MesonToolchain. (https://github.com/conan-io/conan/pull/10908). Docs: :page_with_curl:
    • Feature: Add extra flags via [conf] into XcodeToolchain. (https://github.com/conan-io/conan/pull/10906). Docs: :page_with_curl:
    • Feature: Preliminar support for CMakePresets.json. (https://github.com/conan-io/conan/pull/10903). Docs: :page_with_curl:
    • Feature: Added wrap_mode=nofallback project-option into MesonToolchain as default value. (https://github.com/conan-io/conan/pull/10884)
    • Feature: Added basic rmdir tool at conan.tools.files. (https://github.com/conan-io/conan/pull/10874). Docs: :page_with_curl:
    • Feature: Backport of 2.0 compatibility() recipe method. (https://github.com/conan-io/conan/pull/10868)
    • Feature: Add detection in meson toolchain for cross conditions and requirement of needs_exe_wrapper. Users may specify the exe wrapper in their meson.build now. (https://github.com/conan-io/conan/pull/10846)
    • Feature: Allow tested_reference_str to be None. (https://github.com/conan-io/conan/pull/10834)
    • Feature: New templates for the conan new command with bazel examples: bazel_exe and bazel_lib. (https://github.com/conan-io/conan/pull/10812). Docs: :page_with_curl:
    • Feature: Add some support for msvc compiler older versions. (https://github.com/conan-io/conan/pull/10808)
    • Feature: Added mechanism to inject extra flags via [conf] into several toolchains like AutotoolsToolchain, MesonToolchain and CMakeToolchain. (https://github.com/conan-io/conan/pull/10800). Docs: :page_with_curl:
    • Feature: Support selecting the target to build for XcodeBuild helper. (https://github.com/conan-io/conan/pull/10799). Docs: :page_with_curl:
    • Feature: Support for Xcode 13.3, iOS 15.4, watchOS 8.5 and tvOS 15.4. (https://github.com/conan-io/conan/pull/10797)
    • Feature: New modern "conan new --template=msbuild_lib|exe" for modern MSBuild VS integration. (https://github.com/conan-io/conan/pull/10760). Docs: :page_with_curl:
    • Feature: Added a checker for Conan 2.x deprecated from conans imports in pylint_plugin. (https://github.com/conan-io/conan/pull/10746). Docs: :page_with_curl:
    • Feature: New conan.tool.microsoft.unix_path to convert paths to any subsystem when using conanfile.win_bash. (https://github.com/conan-io/conan/pull/10743). Docs: :page_with_curl:
    • Feature: New from conan.errors import XXX new namespace to be ready for 2.0. (https://github.com/conan-io/conan/pull/10734). Docs: :page_with_curl:
    • Feature: Allow specifying default_options = {"pkg/*:option": "value"} or default_options = {"pkg*:option": "value"} instead of default_options = {"pkg:option": "value"} to make compatible recipes with 2.0. (https://github.com/conan-io/conan/pull/10731). Docs: :page_with_curl:
    • Feature: Add Clang 15 to default settings. (https://github.com/conan-io/conan/pull/10558)
    • Feature: When the layout is declared, the cwd() in the source() method will follow the declared self.folders.source but the exports_sources will still be copied to the base source folder. (https://github.com/conan-io/conan/pull/10091). Docs: :page_with_curl:
    • Fix: Add support for clang to msvc_runtime_flag(). It requires defining compiler.runtime = static/dynamic definition, same as modern msvc compiler setting. (https://github.com/conan-io/conan/pull/10898). Docs: :page_with_curl:
    • Fix: Generate the correct --target triple when building for Apple catalyst. (https://github.com/conan-io/conan/pull/10880)
    • Fix: The "conan.tools.files.patch" will (by default) look for the patch files in the self.base_source_folder instead of self.source_folder but will apply them with self.source_folder as the base folder. (https://github.com/conan-io/conan/pull/10875). Docs: :page_with_curl:
    • Fix: Setting CMAKE_SYSTEM_PROCESSOR for Apple cross-compiling including M1. (https://github.com/conan-io/conan/pull/10856). Docs: :page_with_curl:
    • Fix: Do not overwrite values for CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_VERSION and CMAKE_SYSTEM_PROCESSOR set from the [conf] or the user_toolchain. (https://github.com/conan-io/conan/pull/10856). Docs: :page_with_curl:
    • Fix: Fix architecture translation from Conan syntax to build system in CMakeToolchain. (https://github.com/conan-io/conan/pull/10856). Docs: :page_with_curl:
    • Fix: Several improvements of the Bazel integration (Bazel, BazelToolchain, BazelDeps), new functional tests in all platforms. (https://github.com/conan-io/conan/pull/10812). Docs: :page_with_curl:
    • Fix: Conf.get() always returns default value if internal conf_value.value is None, i.e., it was unset. (https://github.com/conan-io/conan/pull/10800). Docs: :page_with_curl:
    • Fix: Set -DCMAKE_MAKE_PROGRAM when the generator is for MinGW and the conf tools.gnu:make_program is set. (https://github.com/conan-io/conan/pull/10770)
    • Fix: Remove unused clion_layout. (https://github.com/conan-io/conan/pull/10760). Docs: :page_with_curl:
    • Fix: AutotoolsToolchain adjust the runtime flag of msvc (MTd, MT, MDd or MD) to CFLAGS and CXXFLAGS when using the msvc as settings.compiler. (https://github.com/conan-io/conan/pull/10755). Docs: :page_with_curl:
    • Fix: Removed subsystem_path from the conan.tool.microsoft namespace, superseded by unix_path. (https://github.com/conan-io/conan/pull/10743). Docs: :page_with_curl:
    • Fix: Show an error message at conan install if the validate() method raises ConanInvalidConfiguration. (https://github.com/conan-io/conan/pull/10725)
    • BugFix: The find_dependency called internally in CMakeDeps generator to locate transitive dependencies now use the MODULE/NO_MODULE following the cmake_find_mode property when declared in the dependency. (https://github.com/conan-io/conan/pull/10917)
    • Bugfix: Fix virtualrunenv wrong build scope. (https://github.com/conan-io/conan/pull/10904)
    • BugFix: Make self.folders.root apply at package conan install . too. (https://github.com/conan-io/conan/pull/10842)
    • Bugfix: Fix call to undefined function for markdown generator when components add system_libs. (https://github.com/conan-io/conan/pull/10783)
    • Bugfix: solve build_policy=never bug when conan export-pkg --force and there already exists a package in the cache. (https://github.com/conan-io/conan/pull/10738)
    • Bugfix: Add transitive dependencies to generated Bazel BUILD files. (https://github.com/conan-io/conan/pull/10686)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(23.34 MB)
    conan-win-32.exe(14.50 MB)
    conan-win-64.exe(15.07 MB)
  • 2.0.0-alpha6(Mar 28, 2022)

  • 1.46.2(Mar 18, 2022)

  • 1.46.1(Mar 17, 2022)

    • Feature: Added a checker for Conan 2.x deprecated from conans imports in pylint_plugin. (https://github.com/conan-io/conan/pull/10811)
    • Feature: Add apple-clang 13 major version to settings. (https://github.com/conan-io/conan/pull/10807)
    • Feature: Make apple-clang 13 version package-id compatible with 13.0. (https://github.com/conan-io/conan/pull/10807)
    • Feature: Autodetect only major version for apple-clang profile starting in version 13. (https://github.com/conan-io/conan/pull/10807)
    • Feature: Add clang 15 version to settings. (https://github.com/conan-io/conan/pull/10807)
    • Bugfix: Fix call to undefined function for markdown generator when components add system_libs. (https://github.com/conan-io/conan/pull/10810)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(23.32 MB)
    conan-win-32.exe(14.48 MB)
    conan-win-64.exe(15.05 MB)
  • 2.0.0-alpha5(Mar 8, 2022)

  • 1.46.0(Mar 7, 2022)

    • Feature: Configuration field tools.cmake.cmaketoolchain:user_toolchain defined as list-like object (https://github.com/conan-io/conan/pull/10729). Docs: :page_with_curl:
    • Feature: Prepare Conan for search remote repos with mix of 1.X and 2.0 binaries. Conan 1.X will not list binaries (conan search <ref>) stored in remote repos that were created with Conan 2.0. (https://github.com/conan-io/conan/pull/10692)
    • Feature: Adding jinja rendering of global.conf config file. (https://github.com/conan-io/conan/pull/10687). Docs: :page_with_curl:
    • Feature: Improve markdown generator instructions. (https://github.com/conan-io/conan/pull/10673). Docs: :page_with_curl:
    • Feature: The CMakeToolchain and AutotoolsToolchain take into account the cpp.package info to set the output directories for libraries, executables, and so on when running cmake.install or make install. (https://github.com/conan-io/conan/pull/10672). Docs: :page_with_curl:
    • Feature: Added basic_layout, removed meson_layout and added argument src_folder to cmake_layoutas a shortcut for adjusting conanfile.folders.source. (https://github.com/conan-io/conan/pull/10659). Docs: :page_with_curl:
    • Feature: Adding self.base_source_folder for exports_sources explicit layouts. (https://github.com/conan-io/conan/pull/10654). Docs: :page_with_curl:
    • Feature: Adding root to layout model to allow conanfile.py in subfolders. (https://github.com/conan-io/conan/pull/10654). Docs: :page_with_curl:
    • Feature: Added new property component_version for PkgConfigDeps and legacy PkgConfig. (https://github.com/conan-io/conan/pull/10633). Docs: :page_with_curl:
    • Feature: Changed .pc file description field for components in PkgConfigDeps. (https://github.com/conan-io/conan/pull/10633). Docs: :page_with_curl:
    • Feature: Add sdk_version setting for Macos, iOS, watchOS and tvOS. (https://github.com/conan-io/conan/pull/10608). Docs: :page_with_curl:
    • Feature: Add new XcodeBuild build helper. (https://github.com/conan-io/conan/pull/10608). Docs: :page_with_curl:
    • Feature: Add new XcodeToolchain helper. (https://github.com/conan-io/conan/pull/10608). Docs: :page_with_curl:
    • Feature: Add compiler.version 12 for GCC in settings. (https://github.com/conan-io/conan/pull/10595)
    • Feature: Introduce new conan.tools.scm.Git helper, for direct use in export() method to capture git url and commit, and to be used in source() method to clone and checkout a git repo. (https://github.com/conan-io/conan/pull/10594). Docs: :page_with_curl:
    • Feature: New from conan.tools.files import update_conandata() helper to add data to conandata.yml in the export() method. (https://github.com/conan-io/conan/pull/10586). Docs: :page_with_curl:
    • Feature: Add CMake variables, cli arguments and native build system arguments to new conan.tools.cmake.CMake helper. (https://github.com/conan-io/conan/pull/10573). Docs: :page_with_curl:
    • Feature: Adding more functionality to ConfDefinition and Conf, something similar to ProfileEnvironment and Environment ones. (https://github.com/conan-io/conan/pull/10537). Docs: :page_with_curl:
    • Feature: Port conan.tools.Version to Conan 1.X. (https://github.com/conan-io/conan/pull/10536). Docs: :page_with_curl:
    • Feature: Port conan.tools.build.cross_building to Conan 1.X. (https://github.com/conan-io/conan/pull/10536). Docs: :page_with_curl:
    • Feature: New copy tool at conan.tools.files namespace that will replace the self.copy in Conan 2.0. (https://github.com/conan-io/conan/pull/10530). Docs: :page_with_curl:
    • Feature: Add recipe_folder to pylint plugin. (https://github.com/conan-io/conan/pull/10527)
    • Fix: Pin Markupsafe==2.0.1 for py27 and upgrade Jinja2>3 for py3, after Markupsafe latest 2.1 release broke Jinja2 2.11. (https://github.com/conan-io/conan/pull/10710)
    • Fix: Fixed templates for conan new with --template cmake_lib and --template cmake_exe to include Conan 2.0 compatible syntax. (https://github.com/conan-io/conan/pull/10706)
    • Fix: Moved new tool cross_building from conan.tool.cross_building to conan.tool.build to match the location in develop2. (https://github.com/conan-io/conan/pull/10706)
    • Fix: Don't compose folders in Xcode generator using dep.package_folder, now cpp_info.bindirs, cpp_info.includedirs, etc. are absolute. (https://github.com/conan-io/conan/pull/10694)
    • Fix: When the layout() method is declared, the self.package_folder in the recipe is now available even when doing a conan install ., pointing to the specified output folder (-of ) or the path of the conanfile if not specified. (https://github.com/conan-io/conan/pull/10655)
    • Fix: Fix creation path of deactivate scripts. (https://github.com/conan-io/conan/pull/10653)
    • Fix: Add support for [tool_requires] section in conanfile.txt. (https://github.com/conan-io/conan/pull/10642)
    • Fix: When layout() is defined, the exports will not be considered sources anymore, but only the exports_sources. The exports are used exclusively by the recipe, but not as package source. (https://github.com/conan-io/conan/pull/10625)
    • Fix: Make the source() method run inside the self.source_folder, in the same way build() runs in self.build_folder. But only for recipes that define the layout() method, to not break unless using layout(). (https://github.com/conan-io/conan/pull/10612). Docs: :page_with_curl:
    • Fix: Remove the --source-folder new argument to install and editable, not necessary at the moment. (https://github.com/conan-io/conan/pull/10590). Docs: :page_with_curl:
    • Fix: Fix conf True and False handling in tools.system.package_manage helpers. (https://github.com/conan-io/conan/pull/10583)
    • Fix: Change the CMakeToolchain message to use CMAKE_CURRENT_LIST_FILE. (https://github.com/conan-io/conan/pull/10552)
    • Fix: BazelDeps was generating invalid bazel files cause the static_library paths were absolute and not relative. (https://github.com/conan-io/conan/pull/10484)
    • Fix: BazelDeps was crashing when generating packages without libs cause the context was not checking the array size. (https://github.com/conan-io/conan/pull/10484)
    • Fix: Fix Premake test failing on Linux because the Premake executable isn't found. (https://github.com/conan-io/conan/pull/10250)
    • Bugfix: Fix MesonToolchain extra quotes in cpp_std (https://github.com/conan-io/conan/pull/10707)
    • Bugfix: Add missing system_libs management in AutotoolsDeps. (https://github.com/conan-io/conan/pull/10681)
    • Bugfix: GnuDepsFlags attributes like frameworks and frameworkdirs are only available for Apple OS. (https://github.com/conan-io/conan/pull/10675)
    • Bugfix: Remove tmp folders created in Conan while checking the output of a command and detecting the compiler. (https://github.com/conan-io/conan/pull/10663)
    • Bugfix: Fix conan_server circular import do to conan.tools namespace. (https://github.com/conan-io/conan/pull/10635)
    • bugfix: Fix meson_layout() issue with shared folders. (https://github.com/conan-io/conan/pull/10600)
    • Bugfix: Fix SystemPackageTool when mode=verify, it was still installing packages. (https://github.com/conan-io/conan/pull/10596)
    • Bugfix: self.build_folder not being computed even if layout() method is defined in local conan install. Close https://github.com/conan-io/conan/issues/10566 (https://github.com/conan-io/conan/pull/10567)
    • Bugfix: Fix conan_manifest.txt parse error when the filename has ":" in it. (https://github.com/conan-io/conan/pull/10492)
    • Bugfix: Use meson toolchain file from install folder. (https://github.com/conan-io/conan/pull/8965)
    Source code(tar.gz)
    Source code(zip)
    conan-ubuntu-64.deb(23.32 MB)
    conan-win-32.exe(14.48 MB)
    conan-win-64.exe(15.05 MB)
Owner
Conan.io
Conan Package and Dependency Manager
Conan.io
OS-agnostic, system-level binary package manager and ecosystem

Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for

Conda 5.1k Jan 7, 2023
The Fast Cross-Platform Package Manager

The Fast Cross-Platform Package Manager part of mamba-org Package Manager mamba Package Server quetz Package Builder boa mamba Mamba is a reimplementa

Mamba 4k Dec 30, 2022
Package manager based on libdnf and libsolv. Replaces YUM.

Dandified YUM Dandified YUM (DNF) is the next upcoming major version of YUM. It does package management using RPM, libsolv and hawkey libraries. For m

null 1.1k Dec 26, 2022
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 3.1k Jan 9, 2023
[DEPRECATED] YUM package manager

⛔ This project is deprecated. Please use DNF, the successor of YUM. YUM Yum is an automatic updater and installer for rpm-based systems. Included prog

null 111 Dec 20, 2022
Easy to use, fast, git sourced based, C/C++ package manager.

Yet Another C/C++ Package Manager Easy to use, fast, git sourced based, C/C++ package manager. Features No need to install a program, just include the

null 31 Dec 21, 2022
The delightful package manager for AppImages

⚡️ Zap The delightful package manager for AppImages Report bug · Request feature Looking for the older Zap v1 (Python) implementation? Head over to v1

Srevin Saju 368 Jan 4, 2023
Dotpkg - Package manager for your dotfiles

Dotpkg A package manager for your dotfiles. Usage First make sure to have Python

FW 4 Mar 18, 2022
:package: :fire: Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.

THE PROJECT IS ARCHIVED Forks: https://github.com/orsinium/forks DepHell -- project management for Python. Why it is better than all other tools: Form

DepHell 1.7k Dec 30, 2022
A software manager for easy development and distribution of Python code

Piper A software manager for easy development and distribution of Python code. The main features that Piper adds to Python are: Support for large-scal

null 13 Nov 22, 2022
Workon - A simple project manager for conda, windows 10 and vscode

WORK ON A simple project manager for conda, windows 10 and vscode Installation p

Jesus Alan Hernandez Galvan 1 Jan 16, 2022
The Python Package Index

Warehouse Warehouse is the software that powers PyPI. See our development roadmap, documentation, and architectural overview. Getting Started You can

Python Packaging Authority 3.1k Jan 1, 2023
The Python package installer

pip - The Python Package Installer pip is the package installer for Python. You can use pip to install packages from the Python Package Index and othe

Python Packaging Authority 8.4k Dec 30, 2022
A Poetry plugin for dynamically extracting the package version.

Poetry Version Plugin A Poetry plugin for dynamically extracting the package version. It can read the version from a file __init__.py with: # __init__

Sebastián Ramírez 264 Dec 22, 2022
PokerFace is a Python package for various poker tools.

PokerFace is a Python package for various poker tools. The following features are present in PokerFace... Types for cards and their componen

Juho Kim 21 Dec 29, 2022
Example for how to package a Python library based on Cython.

Cython sample module This project is an example of a module that can be built using Cython. It is an upgrade from a similar model developed by Arin Kh

Juan José García Ripoll 4 Aug 28, 2022
Installer, package manager, build wrapper and version manager for Piccolo

Piccl Installer, package manager, build wrapper and version manager for Piccolo

null 1 Dec 19, 2021
A deployer and package manager for OceanBase open-source software.

OceanBase Deploy OceanBase Deploy (简称 OBD)是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。本文介绍如何安装 OBD、使用 OBD 和 OBD 的命令。 安装 OBD 您可以使用以下方

OceanBase 59 Dec 27, 2022
A simple and easy to use Python's PIP configuration manager, similar to the Arch Linux's Java manager.

PIPCONF - The PIP configuration manager If you need to manage multiple configurations containing indexes and trusted hosts for PIP, this project was m

João Paulo Carvalho 11 Nov 30, 2022
ArinjoyTheDev 1 Jul 17, 2022