conan-server 2.0.11__tar.gz → 2.0.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {conan-server-2.0.11 → conan-server-2.0.12}/PKG-INFO +1 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/build.py +1 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/export_pkg.py +5 -2
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/remove.py +8 -4
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/flags.py +4 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config_version.py +1 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +2 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_data.py +8 -5
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/system/package_manager.py +15 -10
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/PKG-INFO +1 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/__init__.py +1 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/__init__.py +2 -2
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/compatibility.py +2 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_binaries.py +42 -23
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/conan_requester.py +3 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/build_info.py +2 -1
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/tools.py +4 -2
- {conan-server-2.0.11 → conan-server-2.0.12}/LICENSE.md +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/MANIFEST.in +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/README.md +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/conan_api.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/model.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/output.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/cache.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/config.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/download.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/export.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/install.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/list.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/local.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/lockfile.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/new.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/profiles.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/remotes.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/remove.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/search.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/upload.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/args.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/cli.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/command.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/cache.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/config.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/create.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/download.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/editable.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/export.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/inspect.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/install.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/list.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/lock.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/new.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/profile.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/remote.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/search.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/source.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/test.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/upload.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/version.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/exit_codes.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/graph_info_text.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_html.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/binary_html_table.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/list.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/search_table_html.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/printers/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/printers/graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/errors.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/detect_api.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/alias_new.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/autoools_exe.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/autotools_lib.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/basic.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/bazel_exe.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/bazel_lib.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/cmake_exe.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/cmake_lib.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/meson_exe.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/meson_lib.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/msbuild_exe.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/msbuild_lib.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/cache.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/conan_reference_layout.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/cache_database.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/packages_table.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/recipes_table.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/table.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/conan_app.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/deploy.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/integrity_check.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/upload_metadata.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/android/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/android/utils.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/apple.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodebuild.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodedeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodetoolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cppstd.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cpu.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cross_building.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/stdcpp_library.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmake.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/layout.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/presets.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/blocks.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/toolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/utils.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/environment.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/virtualbuildenv.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/virtualrunenv.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/conandata.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/copy_pattern.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/files.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/packager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/patches.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/symlinks/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/symlinks/symlinks.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotools.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotoolsdeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotoolstoolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/get_gnu_triplet.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/gnudeps_flags.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/makedeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/pkgconfig.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/pkgconfigdeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/bazel.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/bazeldeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/layout.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/toolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/intel/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/intel/intel_cc.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/layout/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/helpers.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/meson.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/toolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/layout.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/msbuild.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/msbuilddeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/nmakedeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/nmaketoolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/subsystems.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/toolchain.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/visual.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/premake.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/premakedeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/qbs.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/qbsprofile.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scm/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scm/git.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scons/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scons/sconsdeps.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/system/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/SOURCES.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/dependency_links.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/entry_points.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/requires.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/top_level.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/cache.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/editable.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/remote_registry.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/export.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/uploader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/user.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/build.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/configure.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/implementations.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/package.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/config_installer.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/detect.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/detect_vs.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/required_version.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/caching_file_downloader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/download_cache.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/file_downloader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/generators/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/build_mode.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/compute_pid.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_builder.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_error.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/install_graph.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/profile_node_definer.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/provides.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/proxy.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/python_requires.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/range_resolver.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/hook_manager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/installer.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/loader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/loader_txt.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/migrations.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/pkg_sign.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/profile_loader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/remote_manager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/auth_manager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/client_routes.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/file_uploader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/remote_credentials.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client_common.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client_v2.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/source.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/store/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/store/localdb.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/subsystems.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/userio.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/conan.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/conan_server.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/errors.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/migrations.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conan_file.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conanfile_interface.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conf.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/dependencies.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/graph_lock.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/info.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/layout.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/manifest.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/options.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/package_ref.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/pkg_type.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/profile.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/recipe_ref.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/requires.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/rest_routes.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/settings.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/version.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/version_range.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/paths/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/pylint_plugin.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements_dev.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements_server.txt +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/query_parse.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/search.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/conf/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/conf/default_server_conf.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_credentials_manager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_manager.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/launcher.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/migrate.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/migrations.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/plugin_loader.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/api_v2.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/authorization_header.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/http_basic_authentication.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/jwt_authentication.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/return_handler.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_routes.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/conan.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/delete.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/ping.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/revisions.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/search.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/users.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/server.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/revision_list.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/server_launcher.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/authorize.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/mime.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/user_service.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/search.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/service_v2.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/disk_adapter.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/server_store.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/utils/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/utils/files.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/conftest.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/artifactory.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/file_server.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/mocks.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/profiles.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/scm.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/server_launcher.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/test_files.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/__init__.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/config_parser.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/dates.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/encrypt.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/env.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/files.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/locks.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/runners.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/sha.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/thread.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/windows.py +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/setup.cfg +0 -0
- {conan-server-2.0.11 → conan-server-2.0.12}/setup.py +0 -0
|
@@ -13,7 +13,7 @@ def build(conan_api, parser, *args):
|
|
|
13
13
|
"""
|
|
14
14
|
Install dependencies and call the build() method.
|
|
15
15
|
"""
|
|
16
|
-
parser.add_argument("path",
|
|
16
|
+
parser.add_argument("path",
|
|
17
17
|
help='Path to a python-based recipe file or a folder '
|
|
18
18
|
'containing a conanfile.py recipe. conanfile.txt '
|
|
19
19
|
'cannot be used with conan build.')
|
|
@@ -7,6 +7,7 @@ from conan.cli.command import conan_command, OnceArgument
|
|
|
7
7
|
from conan.cli.commands.create import _get_test_conanfile_path
|
|
8
8
|
from conan.cli.formatters.graph import format_graph_json
|
|
9
9
|
from conan.cli.printers.graph import print_graph_basic
|
|
10
|
+
from conans.errors import ConanException
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
@conan_command(group="Creator", formatters={"json": format_graph_json})
|
|
@@ -45,11 +46,13 @@ def export_pkg(conan_api, parser, *args):
|
|
|
45
46
|
profile_host, profile_build = conan_api.profiles.get_profiles_from_args(args)
|
|
46
47
|
remotes = conan_api.remotes.list(args.remote) if not args.no_remote else []
|
|
47
48
|
|
|
49
|
+
conanfile = conan_api.local.inspect(path, remotes, lockfile)
|
|
50
|
+
# The package_type is not fully processed at export
|
|
51
|
+
if conanfile.package_type == "python-require":
|
|
52
|
+
raise ConanException("export-pkg can only be used for binaries, not for 'python-require'")
|
|
48
53
|
ref, conanfile = conan_api.export.export(path=path, name=args.name, version=args.version,
|
|
49
54
|
user=args.user, channel=args.channel, lockfile=lockfile,
|
|
50
55
|
remotes=remotes)
|
|
51
|
-
# The package_type is not fully processed at export
|
|
52
|
-
assert conanfile.package_type != "python-require", "A python-require cannot be export-pkg"
|
|
53
56
|
lockfile = conan_api.lockfile.update_lockfile_export(lockfile, conanfile, ref,
|
|
54
57
|
args.build_require)
|
|
55
58
|
|
|
@@ -9,8 +9,8 @@ from conans.errors import ConanException
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def summary_remove_list(results):
|
|
12
|
-
""" Do
|
|
13
|
-
list bundle so it looks prettier on text output
|
|
12
|
+
""" Do a little format modification to serialized
|
|
13
|
+
list bundle, so it looks prettier on text output
|
|
14
14
|
"""
|
|
15
15
|
cli_out_write("Remove summary:")
|
|
16
16
|
info = results["results"]
|
|
@@ -51,6 +51,8 @@ def remove(conan_api: ConanAPI, parser, *args):
|
|
|
51
51
|
parser.add_argument('-r', '--remote', action=OnceArgument,
|
|
52
52
|
help='Will remove from the specified remote')
|
|
53
53
|
parser.add_argument("-l", "--list", help="Package list file")
|
|
54
|
+
parser.add_argument("--dry-run", default=False, action="store_true",
|
|
55
|
+
help="Do not remove any items, only print those which would be removed")
|
|
54
56
|
args = parser.parse_args(*args)
|
|
55
57
|
|
|
56
58
|
if args.pattern is None and args.list is None:
|
|
@@ -88,7 +90,8 @@ def remove(conan_api: ConanAPI, parser, *args):
|
|
|
88
90
|
packages = ref_bundle.get("packages")
|
|
89
91
|
if packages is None:
|
|
90
92
|
if confirmation(f"Remove the recipe and all the packages of '{ref.repr_notime()}'?"):
|
|
91
|
-
|
|
93
|
+
if not args.dry_run:
|
|
94
|
+
conan_api.remove.recipe(ref, remote=remote)
|
|
92
95
|
else:
|
|
93
96
|
ref_dict.pop(ref.revision)
|
|
94
97
|
if not ref_dict:
|
|
@@ -104,7 +107,8 @@ def remove(conan_api: ConanAPI, parser, *args):
|
|
|
104
107
|
|
|
105
108
|
for pref, _ in prefs.items():
|
|
106
109
|
if confirmation(f"Remove the package '{pref.repr_notime()}'?"):
|
|
107
|
-
|
|
110
|
+
if not args.dry_run:
|
|
111
|
+
conan_api.remove.package(pref, remote=remote)
|
|
108
112
|
else:
|
|
109
113
|
pref_dict = packages[pref.package_id]["revisions"]
|
|
110
114
|
pref_dict.pop(pref.revision)
|
|
@@ -309,6 +309,10 @@ def _cppstd_clang(clang_version, cppstd):
|
|
|
309
309
|
v23 = "c++2b"
|
|
310
310
|
vgnu23 = "gnu++2b"
|
|
311
311
|
|
|
312
|
+
if clang_version >= "17":
|
|
313
|
+
v23 = "c++23"
|
|
314
|
+
vgnu23 = "gnu++23"
|
|
315
|
+
|
|
312
316
|
flag = {"98": v98, "gnu98": vgnu98,
|
|
313
317
|
"11": v11, "gnu11": vgnu11,
|
|
314
318
|
"14": v14, "gnu14": vgnu14,
|
{conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config_version.py
RENAMED
|
@@ -20,7 +20,7 @@ class ConfigVersionTemplate(CMakeDepsFileTemplate):
|
|
|
20
20
|
|
|
21
21
|
@property
|
|
22
22
|
def context(self):
|
|
23
|
-
policy = self.
|
|
23
|
+
policy = self.cmakedeps.get_property("cmake_config_version_compat", self.conanfile)
|
|
24
24
|
if policy is None:
|
|
25
25
|
policy = "SameMajorVersion"
|
|
26
26
|
if policy not in ("AnyNewerVersion", "SameMajorVersion", "SameMinorVersion", "ExactVersion"):
|
|
@@ -28,7 +28,8 @@ class TargetConfigurationTemplate(CMakeDepsFileTemplate):
|
|
|
28
28
|
for components_target_name in components_targets_names]
|
|
29
29
|
|
|
30
30
|
is_win = self.conanfile.settings.get_safe("os") == "Windows"
|
|
31
|
-
auto_link = self.
|
|
31
|
+
auto_link = self.cmakedeps.get_property("cmake_set_interface_link_directories",
|
|
32
|
+
self.conanfile)
|
|
32
33
|
return {"pkg_name": self.pkg_name,
|
|
33
34
|
"root_target_name": self.root_target_name,
|
|
34
35
|
"config_suffix": self.config_suffix,
|
{conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_data.py
RENAMED
|
@@ -183,7 +183,8 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
|
|
|
183
183
|
global_cppinfo = self.conanfile.cpp_info.aggregated_components()
|
|
184
184
|
pfolder_var_name = "{}_PACKAGE_FOLDER{}".format(self.pkg_name, self.config_suffix)
|
|
185
185
|
return _TargetDataContext(global_cppinfo, pfolder_var_name, self._root_folder,
|
|
186
|
-
self.require, self.cmake_package_type, self.is_host_windows
|
|
186
|
+
self.require, self.cmake_package_type, self.is_host_windows,
|
|
187
|
+
self.conanfile, self.cmakedeps)
|
|
187
188
|
|
|
188
189
|
@property
|
|
189
190
|
def _root_folder(self):
|
|
@@ -199,7 +200,8 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
|
|
|
199
200
|
for comp_name, comp in sorted_comps.items():
|
|
200
201
|
deps_cpp_cmake = _TargetDataContext(comp, pfolder_var_name, self._root_folder,
|
|
201
202
|
self.require, self.cmake_package_type,
|
|
202
|
-
self.is_host_windows
|
|
203
|
+
self.is_host_windows, self.conanfile, self.cmakedeps,
|
|
204
|
+
comp_name)
|
|
203
205
|
|
|
204
206
|
public_comp_deps = []
|
|
205
207
|
for required_pkg, required_comp in comp.parsed_requires():
|
|
@@ -260,7 +262,7 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
|
|
|
260
262
|
class _TargetDataContext(object):
|
|
261
263
|
|
|
262
264
|
def __init__(self, cpp_info, pfolder_var_name, package_folder, require, library_type,
|
|
263
|
-
is_host_windows):
|
|
265
|
+
is_host_windows, conanfile, cmakedeps, comp_name=None):
|
|
264
266
|
|
|
265
267
|
def join_paths(paths):
|
|
266
268
|
"""
|
|
@@ -346,7 +348,8 @@ class _TargetDataContext(object):
|
|
|
346
348
|
if require and not require.run:
|
|
347
349
|
self.bin_paths = ""
|
|
348
350
|
|
|
349
|
-
build_modules =
|
|
351
|
+
build_modules = cmakedeps.get_property("cmake_build_modules", conanfile) or []
|
|
350
352
|
self.build_modules_paths = join_paths(build_modules)
|
|
351
353
|
# SONAME flag only makes sense for SHARED libraries
|
|
352
|
-
|
|
354
|
+
nosoname = cmakedeps.get_property("nosoname", conanfile, comp_name)
|
|
355
|
+
self.no_soname = str((nosoname if self.library_type == "SHARED" else False) or False).upper()
|
|
@@ -62,9 +62,12 @@ class _SystemPackageManagerTool(object):
|
|
|
62
62
|
if d in os_name:
|
|
63
63
|
return tool
|
|
64
64
|
|
|
65
|
-
def get_package_name(self, package):
|
|
66
|
-
#
|
|
67
|
-
|
|
65
|
+
def get_package_name(self, package, host_package=True):
|
|
66
|
+
# Only if the package is for building, for example a library,
|
|
67
|
+
# we should add the host arch when cross building.
|
|
68
|
+
# If the package is a tool that should be installed on the current build
|
|
69
|
+
# machine we should not add the arch.
|
|
70
|
+
if self._arch in self._arch_names and cross_building(self._conanfile) and host_package:
|
|
68
71
|
return "{}{}{}".format(package, self._arch_separator,
|
|
69
72
|
self._arch_names.get(self._arch))
|
|
70
73
|
return package
|
|
@@ -149,7 +152,7 @@ class _SystemPackageManagerTool(object):
|
|
|
149
152
|
self._conanfile.output.warning(str(error))
|
|
150
153
|
raise ConanException("None of the installs for the package substitutes succeeded.")
|
|
151
154
|
|
|
152
|
-
def _install(self, packages, update=False, check=True, **kwargs):
|
|
155
|
+
def _install(self, packages, update=False, check=True, host_package=True, **kwargs):
|
|
153
156
|
pkgs = self._conanfile.system_requires.setdefault(self._active_tool, {})
|
|
154
157
|
install_pkgs = pkgs.setdefault("install", [])
|
|
155
158
|
install_pkgs.extend(p for p in packages if p not in install_pkgs)
|
|
@@ -157,7 +160,7 @@ class _SystemPackageManagerTool(object):
|
|
|
157
160
|
return
|
|
158
161
|
|
|
159
162
|
if check or self._mode in (self.mode_check, self.mode_report_installed):
|
|
160
|
-
packages = self.check(packages)
|
|
163
|
+
packages = self.check(packages, host_package=host_package)
|
|
161
164
|
missing_pkgs = pkgs.setdefault("missing", [])
|
|
162
165
|
missing_pkgs.extend(p for p in packages if p not in missing_pkgs)
|
|
163
166
|
|
|
@@ -178,7 +181,7 @@ class _SystemPackageManagerTool(object):
|
|
|
178
181
|
if update:
|
|
179
182
|
self.update()
|
|
180
183
|
|
|
181
|
-
packages_arch = [self.get_package_name(package) for package in packages]
|
|
184
|
+
packages_arch = [self.get_package_name(package, host_package=host_package) for package in packages]
|
|
182
185
|
if packages_arch:
|
|
183
186
|
command = self.install_command.format(sudo=self.sudo_str,
|
|
184
187
|
tool=self.tool_name,
|
|
@@ -196,8 +199,8 @@ class _SystemPackageManagerTool(object):
|
|
|
196
199
|
command = self.update_command.format(sudo=self.sudo_str, tool=self.tool_name)
|
|
197
200
|
return self._conanfile_run(command, self.accepted_update_codes)
|
|
198
201
|
|
|
199
|
-
def _check(self, packages):
|
|
200
|
-
missing = [pkg for pkg in packages if self.check_package(self.get_package_name(pkg)) != 0]
|
|
202
|
+
def _check(self, packages, host_package=True):
|
|
203
|
+
missing = [pkg for pkg in packages if self.check_package(self.get_package_name(pkg, host_package=host_package)) != 0]
|
|
201
204
|
return missing
|
|
202
205
|
|
|
203
206
|
def check_package(self, package):
|
|
@@ -234,7 +237,7 @@ class Apt(_SystemPackageManagerTool):
|
|
|
234
237
|
|
|
235
238
|
self._arch_separator = ":"
|
|
236
239
|
|
|
237
|
-
def install(self, packages, update=False, check=True, recommends=False):
|
|
240
|
+
def install(self, packages, update=False, check=True, recommends=False, host_package=True):
|
|
238
241
|
"""
|
|
239
242
|
Will try to install the list of packages passed as a parameter. Its
|
|
240
243
|
behaviour is affected by the value of ``tools.system.package_manager:mode``
|
|
@@ -243,13 +246,15 @@ class Apt(_SystemPackageManagerTool):
|
|
|
243
246
|
:param packages: try to install the list of packages passed as a parameter.
|
|
244
247
|
:param update: try to update the package manager database before checking and installing.
|
|
245
248
|
:param check: check if the packages are already installed before installing them.
|
|
249
|
+
:param host_package: install the packages for the host machine architecture (the machine
|
|
250
|
+
that will run the software), it has an effect when cross building.
|
|
246
251
|
:param recommends: if the parameter ``recommends`` is ``False`` it will add the
|
|
247
252
|
``'--no-install-recommends'`` argument to the *apt-get* command call.
|
|
248
253
|
:return: the return code of the executed apt command.
|
|
249
254
|
"""
|
|
250
255
|
recommends_str = '' if recommends else '--no-install-recommends '
|
|
251
256
|
return super(Apt, self).install(packages, update=update, check=check,
|
|
252
|
-
recommends=recommends_str)
|
|
257
|
+
host_package=host_package, recommends=recommends_str)
|
|
253
258
|
|
|
254
259
|
|
|
255
260
|
class Yum(_SystemPackageManagerTool):
|
|
@@ -105,14 +105,14 @@ compiler:
|
|
|
105
105
|
clang:
|
|
106
106
|
version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0",
|
|
107
107
|
"5.0", "6.0", "7.0", "7.1",
|
|
108
|
-
"8", "9", "10", "11", "12", "13", "14", "15", "16"]
|
|
108
|
+
"8", "9", "10", "11", "12", "13", "14", "15", "16", "17"]
|
|
109
109
|
libcxx: [null, libstdc++, libstdc++11, libc++, c++_shared, c++_static]
|
|
110
110
|
cppstd: [null, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20, 23, gnu23]
|
|
111
111
|
runtime: [null, static, dynamic]
|
|
112
112
|
runtime_type: [null, Debug, Release]
|
|
113
113
|
runtime_version: [null, v140, v141, v142, v143]
|
|
114
114
|
apple-clang:
|
|
115
|
-
version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0", "13", "13.0", "13.1", "14", "14.0", "15"]
|
|
115
|
+
version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0", "13", "13.0", "13.1", "14", "14.0", "15", "15.0"]
|
|
116
116
|
libcxx: [libstdc++, libc++]
|
|
117
117
|
cppstd: [null, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20, 23, gnu23]
|
|
118
118
|
intel-cc:
|
|
@@ -90,6 +90,7 @@ class BinaryCompatibility:
|
|
|
90
90
|
result = OrderedDict()
|
|
91
91
|
original_info = conanfile.info
|
|
92
92
|
original_settings = conanfile.settings
|
|
93
|
+
original_settings_target = conanfile.settings_target
|
|
93
94
|
original_options = conanfile.options
|
|
94
95
|
for c in compat_infos:
|
|
95
96
|
# we replace the conanfile, so ``validate()`` and ``package_id()`` can
|
|
@@ -105,6 +106,7 @@ class BinaryCompatibility:
|
|
|
105
106
|
# Restore the original state
|
|
106
107
|
conanfile.info = original_info
|
|
107
108
|
conanfile.settings = original_settings
|
|
109
|
+
conanfile.settings_target = original_settings_target
|
|
108
110
|
conanfile.options = original_options
|
|
109
111
|
return result
|
|
110
112
|
|
|
@@ -104,30 +104,48 @@ class GraphBinariesAnalyzer(object):
|
|
|
104
104
|
existing = compatibles.pop(original_package_id, None) # Skip main package_id
|
|
105
105
|
if existing: # Skip the check if same package_id
|
|
106
106
|
conanfile.output.info(f"Compatible package ID {original_package_id} equal to "
|
|
107
|
-
"the default package ID")
|
|
107
|
+
"the default package ID: Skipping it.")
|
|
108
108
|
|
|
109
|
-
if compatibles:
|
|
110
|
-
|
|
109
|
+
if not compatibles:
|
|
110
|
+
return
|
|
111
|
+
|
|
112
|
+
def _compatible_found(pkg_id, compatible_pkg):
|
|
113
|
+
diff = conanfile.info.dump_diff(compatible_pkg)
|
|
114
|
+
conanfile.output.info(f"Main binary package '{original_package_id}' missing. Using "
|
|
115
|
+
f"compatible package '{pkg_id}': {diff}")
|
|
116
|
+
# So they are available in package_info() method
|
|
117
|
+
conanfile.info = compatible_pkg # Redefine current
|
|
118
|
+
conanfile.settings.update_values(compatible_pkg.settings.values_list)
|
|
119
|
+
# Trick to allow mutating the options (they were freeze=True)
|
|
120
|
+
# TODO: Improve this interface
|
|
121
|
+
conanfile.options = conanfile.options.copy_conaninfo_options()
|
|
122
|
+
conanfile.options.update_options(compatible_pkg.options)
|
|
123
|
+
|
|
124
|
+
conanfile.output.info(f"Checking {len(compatibles)} compatible configurations")
|
|
111
125
|
for package_id, compatible_package in compatibles.items():
|
|
112
|
-
|
|
113
|
-
|
|
126
|
+
if update:
|
|
127
|
+
conanfile.output.info(f"'{package_id}': "
|
|
128
|
+
f"{conanfile.info.dump_diff(compatible_package)}")
|
|
114
129
|
node._package_id = package_id # Modifying package id under the hood, FIXME
|
|
115
130
|
node.binary = None # Invalidate it
|
|
116
|
-
self._process_compatible_node(node, remotes, update)
|
|
117
|
-
if node.binary in (BINARY_CACHE,
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
self._process_compatible_node(node, remotes, update) # TODO: what if BINARY_BUILD
|
|
132
|
+
if node.binary in (BINARY_CACHE, BINARY_UPDATE, BINARY_DOWNLOAD):
|
|
133
|
+
_compatible_found(package_id, compatible_package)
|
|
134
|
+
return
|
|
135
|
+
if not update:
|
|
136
|
+
conanfile.output.info(f"Compatible configurations not found in cache, checking servers")
|
|
137
|
+
for package_id, compatible_package in compatibles.items():
|
|
138
|
+
conanfile.output.info(f"'{package_id}': "
|
|
139
|
+
f"{conanfile.info.dump_diff(compatible_package)}")
|
|
140
|
+
node._package_id = package_id # Modifying package id under the hood, FIXME
|
|
141
|
+
node.binary = None # Invalidate it
|
|
142
|
+
self._evaluate_download(node, remotes, update)
|
|
143
|
+
if node.binary == BINARY_DOWNLOAD:
|
|
144
|
+
_compatible_found(package_id, compatible_package)
|
|
145
|
+
return
|
|
146
|
+
# If no compatible is found, restore original state
|
|
147
|
+
node.binary = original_binary
|
|
148
|
+
node._package_id = original_package_id
|
|
131
149
|
|
|
132
150
|
def _evaluate_node(self, node, build_mode, remotes, update):
|
|
133
151
|
assert node.binary is None, "Node.binary should be None"
|
|
@@ -225,10 +243,11 @@ class GraphBinariesAnalyzer(object):
|
|
|
225
243
|
if not self._evaluate_clean_pkg_folder_dirty(node, package_layout):
|
|
226
244
|
break
|
|
227
245
|
|
|
228
|
-
if cache_latest_prev is None:
|
|
229
|
-
|
|
230
|
-
else: # This binary already exists in the cache, maybe can be updated
|
|
246
|
+
if cache_latest_prev is not None:
|
|
247
|
+
# This binary already exists in the cache, maybe can be updated
|
|
231
248
|
self._evaluate_in_cache(cache_latest_prev, node, remotes, update)
|
|
249
|
+
elif update:
|
|
250
|
+
self._evaluate_download(node, remotes, update)
|
|
232
251
|
|
|
233
252
|
def _process_locked_node(self, node, build_mode, locked_prev):
|
|
234
253
|
# Check that this same reference hasn't already been checked
|
|
@@ -81,6 +81,8 @@ class ConanRequester(object):
|
|
|
81
81
|
adapter = HTTPAdapter(max_retries=self._get_retries(config))
|
|
82
82
|
self._http_requester.mount("http://", adapter)
|
|
83
83
|
self._http_requester.mount("https://", adapter)
|
|
84
|
+
else:
|
|
85
|
+
self._http_requester = requests
|
|
84
86
|
|
|
85
87
|
self._url_creds = URLCredentials(cache_folder)
|
|
86
88
|
self._timeout = config.get("core.net.http:timeout", default=DEFAULT_TIMEOUT)
|
|
@@ -171,7 +173,7 @@ class ConanRequester(object):
|
|
|
171
173
|
popped = True if os.environ.pop(var_name.upper(), None) else popped
|
|
172
174
|
try:
|
|
173
175
|
all_kwargs = self._add_kwargs(url, kwargs)
|
|
174
|
-
tmp = getattr(
|
|
176
|
+
tmp = getattr(self._http_requester, method)(url, **all_kwargs)
|
|
175
177
|
return tmp
|
|
176
178
|
finally:
|
|
177
179
|
if popped:
|
|
@@ -459,7 +459,8 @@ class CppInfo:
|
|
|
459
459
|
self._package.sysroot = self._package.sysroot or other._package.sysroot
|
|
460
460
|
# COMPONENTS
|
|
461
461
|
for cname, c in other.components.items():
|
|
462
|
-
|
|
462
|
+
# Make sure each component created on the fly does not bring new defaults
|
|
463
|
+
self.components.setdefault(cname, _Component(set_defaults=False)).merge(c, overwrite)
|
|
463
464
|
|
|
464
465
|
def set_relative_base_folder(self, folder):
|
|
465
466
|
"""Prepend the folder to all the directories definitions, that are relative"""
|
|
@@ -417,7 +417,8 @@ class TestClient(object):
|
|
|
417
417
|
self.out = ""
|
|
418
418
|
self.stdout = RedirectedTestOutput()
|
|
419
419
|
self.stderr = RedirectedTestOutput()
|
|
420
|
-
self.user_inputs = RedirectedInputStream(
|
|
420
|
+
self.user_inputs = RedirectedInputStream([])
|
|
421
|
+
self.inputs = inputs or []
|
|
421
422
|
|
|
422
423
|
# create default profile
|
|
423
424
|
text = default_profiles[platform.system()]
|
|
@@ -513,13 +514,14 @@ class TestClient(object):
|
|
|
513
514
|
self._handle_cli_result(command_line, assert_error=assert_error, error=error, trace=trace)
|
|
514
515
|
return error
|
|
515
516
|
|
|
516
|
-
def run(self, command_line, assert_error=False, redirect_stdout=None, redirect_stderr=None):
|
|
517
|
+
def run(self, command_line, assert_error=False, redirect_stdout=None, redirect_stderr=None, inputs=None):
|
|
517
518
|
""" run a single command as in the command line.
|
|
518
519
|
If user or password is filled, user_io will be mocked to return this
|
|
519
520
|
tuple if required
|
|
520
521
|
"""
|
|
521
522
|
from conans.test.utils.mocks import RedirectedTestOutput
|
|
522
523
|
with environment_update({"NO_COLOR": "1"}): # Not initialize colorama in testing
|
|
524
|
+
self.user_inputs = RedirectedInputStream(inputs or self.inputs)
|
|
523
525
|
self.stdout = RedirectedTestOutput() # Initialize each command
|
|
524
526
|
self.stderr = RedirectedTestOutput()
|
|
525
527
|
self.out = ""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|