[CMakeConfigDeps] Fixed find_package in subforlders#18407
[CMakeConfigDeps] Fixed find_package in subforlders#18407franramirez688 merged 5 commits intoconan-io:develop2from
find_package in subforlders#18407Conversation
| @property | ||
| def _template(self): | ||
| return textwrap.dedent("""\ | ||
| include_guard() |
There was a problem hiding this comment.
We did the same approach in CMakeDeps.
The code that CMake generate is more complex but in essence it is also an include guard too. I have been investigating trying to understand exactly why of that special include guard approach without success, sounds it could be a legacy thing before CMake 3.10 that introduced include_guard, so I think it is good if we move forward with it as it seems to solve the issue without other potential unexpected side effects.
find_package in subforlders
| {% if lib_info.get("system_libs") %} | ||
| target_link_libraries({{lib}} INTERFACE {{lib_info["system_libs"]}}) | ||
| set_property(TARGET {{lib}} APPEND PROPERTY INTERFACE_LINK_LIBRARIES | ||
| {{config_wrapper(config, lib_info["system_libs"])}}) |
There was a problem hiding this comment.
I realized this. Is this another fix? Should we have a dedicated test or modify an existing one?
There was a problem hiding this comment.
The new test fails if this isn't changed, it is covered by the new test.
Well, it is protected by the include_guard() too, that is true. But its usage is covered by other tests that define and link with system_libs. Actually, it was necessary to remove the quotes in this, with quotes it would fail.
* new test for CMakeConfigDeps with subfolders * wip * fix tests * fix test * fix test
* adding dotenv files * fix test in multiplatform * Update conan/tools/env/environment.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Sort overrides when serializing * Coverage (#18275) * testing RequirementsInfo * removed conan config-install gz, unused * simplify gzopen_without_timestamps * Allow composition of conf values that are different categories of numbers (#18265) * Add profile composition test for numbers * Add failing test * Allow composition over conf values that are different categories of numbers * new test for lockfile requires error * Add clearer message when missing some keys in graph file * simplify test * new tests for options and settings negation (#18306) * Adding C standard detection (#18290) * Add default C standard detection for various compilers * Add detection for C standard in default settings * Update comments * Remove cstd from default generated profiles Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Add some unit tests * Remove detect_cstd function * Update detect.py module after removing `detect_cstd` * Update conan/internal/api/detect/detect_api.py * Cleanups --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * [fix] tools.files.copy should exclude symlinks for folders (#18304) * Validate copy exclude for symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate copy exclude for file symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate exclude folder as pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Exclude symlink when matching the pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Keep pep8 format Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Test/modernize (#18292) * modernize tests * speed up CMake checks * fixing tests * tests short summary * tests short summary * fix test * Add gcc 14.3 * Avoid duplicate component requirements * [fix] Change wording on unzip tool when uncompressing file * use existing test * Refactor cache save to create a list of files to compress and reuse existing function * Applied suggestions * Add test for checking pkglist.json destination compression * Remove pkglist file after compression from tmp folder * Update conan/internal/api/uploader.py Co-authored-by: James <memsharded@gmail.com> * Expose default_cstd for the build method * Add missing default import * fixing grafted commits (#18315) * fixing grafted commits * --decorate for grafted log msg * check * avoid first --depth=1 * adding --refetch * Add super() test for set_version * wip * wip * wip * wip * wip * wip * wip * wip * [workspace] Removed `home_folder` mechanism (#18339) Removed home_folder definition from WS * Putting conanws as top root for WS if exists * Add support for extra configure arguments (#18333) * Add support for extra configure arguments Signed-off-by: Uilian Ries <uilianries@gmail.com> * Check configuration type Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate type-check for list-like Signed-off-by: Uilian Ries <uilianries@gmail.com> * Replace extra_configure_args by configure_args Signed-off-by: Uilian Ries <uilianries@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Replace extra_configure_args by configure_args" This reverts commit 91ac324. * Simplify tests^ Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * modernizing tests (#18349) * modernizing tests * more tests * moved test * fix conanws folder (#18352) * Fix | Validate if the licenses in the SBOM are SPDX compatible (#18358) * validate spdx_licenses in the sbom, test * add deprecated licenses and fixes * Fix urls for audit command (#18360) * fix url * fix more urls * new test for build-scripts transitive * moved test to integration * Renamed 'editables' to 'packages' * new test for editable with build-host folders * fix parse errors * trying again to define CMAKE_XX_COMPILER in generated presets, only for cl * WIP: added premake toolchain and updated premake generator * Updated premake toolchain * Created build method on Premake, fix cross building and map architectures * Added extra flags on premake generator * Stable version, not complete * Detailed tooling * Improved code generation identation * Add option to disable projects * Removed global projects as it is not an stable solution * Use ConanException instead * Removed possibility of managing different workspaces * Restore multi workspace allowing PremakeToolchain to be used as a plain generator * Added more premake tests * Parametrize premake test * Added some comments * Removed old premake functional test * Added docstring and a way of controlling verbosity on premake * Fixed tests * Revert extra formatting * Remove print * Keep both legacy premake generator logic While introducing new generator by simply enabling PremakeToolchain * Added new tests for premake generators * Drop support for buildenv flags reading * fixing clang-cl autotools * also work for clang-cl * wip * fixing cppstd flag * wip * wip * tests passing * Fix Conan Source folders.root issue - Fixed issue in local.py where source() method did not account for self.folders.root (when specified) - Added test/integration/command/source_test.py::SourceTest::test_local_source_layout_root Close #18376 * Update Integration Test - Test should now pass on windows, linux, and mac OS - Test creates a file in `source()` method and loads the file in the `build()` method. The test will fail if both `source()` and `build()` do not use the same `self.source_folder` * Update test/integration/command/source_test.py * Fix codecov.yml invalid format (#18372) * Add gcc 13.4 (#18374) * Add gcc 13.4 * Update conan/internal/default_settings.py * fixing autotools_exe template, avoiding libtool (#18378) * fixing CmakeConfigDeps link flags (#18367) * Conan 2.18.0-dev * Fix PyInstaller --exclude-module (#18381) add wildcard * fix(tests): fix some non-functional asserts in conflict_diamond_test.py (#18394) * [fix] Honor when raising ConanInvalidConfiguration in hooks (#18385) * Honor ConanInvalidConfiguration in hooks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Cover post_validate Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Feature/profile contexts (#18383) * investigating if possible to add context to profile rendering * added test * fix tests * fix tests * Add open functionality to TestClient * Comment * Assert out when running on CI and calling open * [CMakeConfigDeps] Fixed `find_package` in subforlders (#18407) * new test for CMakeConfigDeps with subfolders * wip * fix tests * fix test * fix test * Allow multi version minors for detected compilers * Dont pick up spaces * Dont pick up spaces * Make older gccs explictily return up to minor, to keep compat with old behaviour * [fix] local-recipe-index find bug, select pattern with only name (#18423) * fix with test * Update list_test.py * simplify test * more test cases * [BazelDeps] Pure refactor (#18424) * Refactoring. WIP * wip * Fixed * better remote caching (#18411) * Ensure performance test have known cache location that works everywhere (#18428) * Make performance cache live inside the test folder * Add gitignore for performance cache * Create folders if they don't exist when using `--out-file` (#18427) mkdir for --out-file Co-authored-by: memsharded <james@conan.io> * fixing source retrieval when resetting local-index remote (#18418) * feature: Add support for source targets CMakeConfigDeps generator (#18350) * first implementation * implement compontents * fix * clean tests * only linux for tests and cleanup * move tests * move join to jinja template * Update conan/tools/cmake/cmakedeps2/target_configuration.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Update conan/tools/cmake/cmakedeps2/target_configuration.py" This reverts commit a55b0c9. * headers not needed * add deduce test * improve test * integrate sources into lib code --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Less verbose text upload (#18430) less verbose text upload * [feature] Add generic config for CMake and Meson install strip (#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (#18449) * `conan export-pkg` now correctly passes a `str` as the conanfile version (#18456) * conan export-pkg now correctly passes a str as the conanfile version * Add type test * Add test to verify that we always call parse_args for every command * Work for workspace too * Added wasm64 architecture * Added MEMORY64=1 on wasm64 to architecture_flag function * Support asm.js arch correctly * Added emcc compiler support * Added emcc compiler support * WIP Added functional tests * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * Fix dockerfile * Fix dockerfile * Fix dockerfile * Fix dockerfile * Add EM_CACHE in docker container * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Only run node wasm64 on macos * Relax tests to be os agnostic * Removed unneded platform_tool_requires * do not call generators for editables not being built (#18402) * Skip emcc tests on python < 3.8 (#18461) * fix in autotools win-clang and test for NMake with clang-cl * fix tests * Update test/functional/utils.py * Removed -rf pytest option and leave default (-rfE) which prints failed tests at the end * refactoring graph node.dependencies->node.edges (#18463) * refactoring graph node.dependencies->node.edges * fix sbom * adding a deprecation warning and fallback for Node.dependencies->edges * [new command] `conan report diff` to inspect diffs between versions and revisions (#18247) * wip * wip Co-Authored-By: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fix sidebar overflow behaviour, escape lines of html charcaters * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Cleanup html diff generation, follow formatter style from Conan commands * Fix imports * Simplify parameter handling, fix ref report for download * Add search bar * Fix list visuals after search * Improve performance for large diffs * Add json formatter --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Typo * Avoid encoding issues by ignoring them The implementation right now is a bit ugly, will simplify when it's ready --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Add some basic tests --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * improve test and use "--- a" instead of "diff --git" (path with spaces) * fix * fix path * change html test * wip * Make test fail when there are patches * Test confgiure_source * Test for patches * Html test * Tests * test contents * replace("\\", "/") for windows and use buffer to reorderlines * fix * fix * fix new files, and fix tests * Rename * Break everything * Don't show repeated files * Simplify generation, share json/html inut data * Fix styling * More expressive check * Move to api? This might get reverted later if we find a better place * Improve output * Add exclude search * Don't take into account paths when filtering * Remove duplication, don't try tro download cache refs * Typo * fix test * Dont modify load function * Rename function * Use conan_run * Hide git diff stderr * Revert check_output_runner * Fix issues with paths --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: James <memsharded@gmail.com> * XcodeToolchain: fix deployment target for non-macOS (#18471) * XcodeToolchain: fix deployment target for non-macOS * remove duplicate line * add new test * Simplify testing * Simplify testing --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Fix head method not working in testing mocked requests * [PkgConfigDeps] Mechanism to skip some `*.pc` files creation (#18439) * Add pkg_config_skip property to PkgConfigDeps * Add pkg_config_skip property to PkgConfigDeps test * Remove debug message * Remove unsued import * Move to use none pkg_config_name * Update conan/tools/gnu/pkgconfigdeps.py * Component whose main is skipped should define the pkg_config_name * None components is not hidden * Review * Update test/integration/toolchains/gnu/test_pkgconfigdeps.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Give wasm support to premake toolchain * Improved premake toolchain: - Support fPIC option - Support emcc compiler and other architectures - Added premake exe and lib templates - Improved test cases detecting new issues - Fixed arch bug * Added shared option support on premake libs * Fix premake integration tests * Fix tests * Changed dylib for so as test runs in linux * Run premake test only in linux * Update pyproject.toml Co-authored-by: James <memsharded@gmail.com> * Feature: workspace create (#18390) * workspace Python files proposal * fixes * review * workspace create * wip * wip * tests passing * wip * wip * wip * wip * wip * tests passing, first proposal for orchestrated build + create * dynamic ref attributes for conan workspace create * test for conan workspace build too * wip * Update conan/cli/commands/workspace.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * wip * [feature] Add generic config for CMake and Meson install strip (#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (#18449) * removed --local * renamed editables->packages * wip * wip * new test to check global.conf/-cc --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> * Removed ObjC/C++ flags from C/C++ ones * wip * Added Objective C/C++ flags to both Gnu/Autotools toolchain * Fix * Fix * implementing support for exe editables in CMakeConfigDeps (#18489) * implementing support for exe editables in CMakeConfigDeps * fix _package_framework var * Added architecture linker specific flags to toolchains * fix detection of riscv64 cpu in Meson toolchain * fix broken tests in windows * Remove print Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * Fixed elif issue in cmake blocks and added unit test * Fix issues with `self.generator_info` (#18503) * Failing tests * Make second one fail too * Fixes * Discard changes to conan/internal/model/conan_file.py * Update test/integration/generators/test_generators_from_br.py * Update test/integration/generators/test_generators_from_br.py * Fix tests * add fix to support git<2.36 (#18501) * avoid leaking core.conf in user profiles (#18474) * avoid leaking core.conf in user profiles * Update conan/internal/model/conf.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Improvement over ill-formed graphs with different visible=True/False for the same dependency (#18440) * wip * wip * wip * removed GraphRuntimeError in favor of GraphConflictError * wip * better removal of orphans * simplified * reduced warnings * reducing warnings * new output proposal * new output warnings * [workspace] Changed `conanws.yml` format (#18493) * Dynamically loading the name and version * Fixed * Fixed commands * wip * Changing tests * Fixed tests * Suggestions * test * wip * Update conan/internal/model/workspace.py Co-authored-by: James <memsharded@gmail.com> * Update conan/api/subapi/workspace.py Co-authored-by: James <memsharded@gmail.com> * wip * Raising error if duplicated references. Added test --------- Co-authored-by: James <memsharded@gmail.com> * small fix sbom component bom-ref * 1_6 * Added architecture linker specific flags to premake * Add build_folder parameter in basic_layout (#18442) * add build_folder * test and use subproject path * Added threads subsetting in emcc compiler model (#18520) * Added threads subsetting on emcc compiler model * Fixed test * Return list instead * Update test/integration/toolchains/meson/test_mesontoolchain.py * Added integration tests to every toolchain * WIP fix windows tests * Fix windows autotools tests --------- Co-authored-by: James <memsharded@gmail.com> * fix qcc cppstd support for latest QNX 8.0 for c++20 (#18538) * new 'conan cache ref <path>' to reverse-look the Conan cache (#18518) * new 'conan cache ref <path>' to reverse-look the Conan cache * fix * fix bad paths stacktrace * wip * review * avoid incorrect definitions in conf_info (#18541) * avoid incorrect user.xxx definitions in conf_info * test tools.xxx too * more efficient checks * Fix: Fix cache check-intregrity output (#18544) * Fix: Fix cache check-intregrity output * bring indent back * fix tests * add missing package file test * fix test * better error message for wrong cpp_info.requires (#18552) * Avoid library renames when Meson + Windows + MSVC static builds (#18533) * wip * Added splitext cmake function * wip * Added functional test * Adding CMakeConfigDeps * CMakeDeps backporting future change from CMake newer versions. Removed PkgConfigDeps change (too risky). Moved and modified test * reducing diff * add assert message in CMakeConfigDeps (#18558) * better error message in CMakeConfigDeps for incorrect component requires (#18562) * fix incorrect inputs for relativize paths generator (#18561) * allow consuming meson libname.a libs in MSBuildDeps (#18557) * allow consuming meson libname.a libs in MSBuildDeps * fix test in OSX * Avoid hyphens for msbuild verbosity argument passed to CMake after -- in powershell (#18548) * replace - for / * wip * test powershell in integration * simplify * remove unused fixture * define CMake try-compile configuration (#18559) * define CMake try-compile configuration * risky fix * try_compile only for known configurations * add checks in tests * guard cmake_try_compile_configuration * Conan 2.19.0-dev * Preamke generator: fix some issues with windows paths and MSBuild (#18572) * Preamke generator: fix some issues with windows paths and MSBuild * Added integration test case for msbuild_platform * Revert Better remote caching (#18586) * Revert "better remote caching (#18411)" This reverts commit ad76fa2. * Bump version * Add gcc 12.5 (#18587) * Test refactor and improvements (#18576) * improving tests * rmeoved old config_path from tests * wip * wip * wip * wip * fix tests * removed xfailed test only fails in Windows if short-paths but not CI * Fix `test_makefile_sysroot` test in Windows (#18595) * Fix test_makefile_sysroot test in Windows * Different paths for Windows * Autotools: Added new makefile parameter to make function (#18578) * Added new makefile parameter to make * Use -f instead of --makefile option * Use long option instead * fix: Typo (#18571) Co-authored-by: James <james@conan.io> * Add freeze_support (#18603) * Add freeze_support * Freeze support call inside the __main__ method * [Part 2] Better remote caching (#18588) * Let's avoid saving the whole object * Caching only NotFoundException. Restoring remote.invalidate_cache() calls * Cleaner * CMakeConfigDeps filter requires() to package_type=application (#18611) * SSH runner: User friendly paramiko import protection (#18566) * User friendly paramiko import protection * Updated exception message * Test/improvements (#18616) * modernizing tests to pytest * more tests * another batch * finished refactor of unittest * wip * wip * Debounce search input on html formats (#18575) * Debounce search input * Debounce search input for html graph too * Focus from current pov * Update conan/cli/formatters/report/diff_html.py Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> * enabling test_package_folder for conan export-pkg command (#18621) * Allow auto-detect with custom cc paths including spaces (#18628) * wip * wip * fix tests * fix login messages hidden by verbosity level (#18642) * Add explicit error when trying to export a reference with `channel` but no `user` (#18646) * Error out if trying to export ref with channel and no user * Add test * PLay around with class attributes * Fix error * Remove redundant check * Review * add `@user/channel` to SBOM (#18649) * add user channel to sbom * Update conan/tools/sbom/cyclonedx.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * fix --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Improve version detection for cc compilers (#18600) * Skip build information for gcc if present * Simpler cc detection * Let `conan source` reference the backup sources it generates in more cases (#18655) * Let conan source reference the sources it downloads in more cases * Test that the cache backup-upload also tries to upload non unknown references * PremakeDeps: ensure correct linkage on dependent libraries (#18631) * fix: 🐛 PremakeDeps was not providing correct link order to the linker Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Update conan/tools/premake/premakedeps.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fixed tests * Removed redundant assert * Improved test case on PremakeDeps --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * serialize conandata information (#18661) * Add `cmake_target_aliases` support for `CMakeConfigDeps` (#18662) * Add support for cmake_target_aliases * Add aliases tests, coming from old cmakedeps * Fix aliases for imported default target * Remove redundant target store * Restrict cmake version * Typo * Check for duplication caused by aliases * Dont let users alias the global target * Remove redundant test * Create api helpers to help with initialization order and caching of common objects (#18644) * Check conan version before loading hooks * Make helpers class, name to be decided * Rename, pep8 blank lines * parametrize on reinit * Reinit helpers * wip * experimental * review * fix and new test --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: shtanko-sv <34907549+shtanko-sv@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramirez de Anton <franchuti688@gmail.com> Co-authored-by: danimtb <danimanzaneque@gmail.com> Co-authored-by: PerseoGI <perseog@jfrog.com> Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: Timothy J Viola <hy211@cummins.com> Co-authored-by: PerseoGI <perseo.gi98@gmail.com> Co-authored-by: Nikita Rudenko <RudenkoRNK@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> Co-authored-by: Andrey Filipenkov <decapitator@ukr.net> Co-authored-by: Michaël Melchiore <michael@infiniteorbits.io> Co-authored-by: Dominik Wernberger <dominik.wernberger@gmx.de> Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com>
* adding dotenv files * fix test in multiplatform * Update conan/tools/env/environment.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Sort overrides when serializing * Coverage (conan-io#18275) * testing RequirementsInfo * removed conan config-install gz, unused * simplify gzopen_without_timestamps * Allow composition of conf values that are different categories of numbers (conan-io#18265) * Add profile composition test for numbers * Add failing test * Allow composition over conf values that are different categories of numbers * new test for lockfile requires error * Add clearer message when missing some keys in graph file * simplify test * new tests for options and settings negation (conan-io#18306) * Adding C standard detection (conan-io#18290) * Add default C standard detection for various compilers * Add detection for C standard in default settings * Update comments * Remove cstd from default generated profiles Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Add some unit tests * Remove detect_cstd function * Update detect.py module after removing `detect_cstd` * Update conan/internal/api/detect/detect_api.py * Cleanups --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * [fix] tools.files.copy should exclude symlinks for folders (conan-io#18304) * Validate copy exclude for symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate copy exclude for file symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate exclude folder as pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Exclude symlink when matching the pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Keep pep8 format Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Test/modernize (conan-io#18292) * modernize tests * speed up CMake checks * fixing tests * tests short summary * tests short summary * fix test * Add gcc 14.3 * Avoid duplicate component requirements * [fix] Change wording on unzip tool when uncompressing file * use existing test * Refactor cache save to create a list of files to compress and reuse existing function * Applied suggestions * Add test for checking pkglist.json destination compression * Remove pkglist file after compression from tmp folder * Update conan/internal/api/uploader.py Co-authored-by: James <memsharded@gmail.com> * Expose default_cstd for the build method * Add missing default import * fixing grafted commits (conan-io#18315) * fixing grafted commits * --decorate for grafted log msg * check * avoid first --depth=1 * adding --refetch * Add super() test for set_version * wip * wip * wip * wip * wip * wip * wip * wip * [workspace] Removed `home_folder` mechanism (conan-io#18339) Removed home_folder definition from WS * Putting conanws as top root for WS if exists * Add support for extra configure arguments (conan-io#18333) * Add support for extra configure arguments Signed-off-by: Uilian Ries <uilianries@gmail.com> * Check configuration type Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate type-check for list-like Signed-off-by: Uilian Ries <uilianries@gmail.com> * Replace extra_configure_args by configure_args Signed-off-by: Uilian Ries <uilianries@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Replace extra_configure_args by configure_args" This reverts commit 91ac324. * Simplify tests^ Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * modernizing tests (conan-io#18349) * modernizing tests * more tests * moved test * fix conanws folder (conan-io#18352) * Fix | Validate if the licenses in the SBOM are SPDX compatible (conan-io#18358) * validate spdx_licenses in the sbom, test * add deprecated licenses and fixes * Fix urls for audit command (conan-io#18360) * fix url * fix more urls * new test for build-scripts transitive * moved test to integration * Renamed 'editables' to 'packages' * new test for editable with build-host folders * fix parse errors * trying again to define CMAKE_XX_COMPILER in generated presets, only for cl * WIP: added premake toolchain and updated premake generator * Updated premake toolchain * Created build method on Premake, fix cross building and map architectures * Added extra flags on premake generator * Stable version, not complete * Detailed tooling * Improved code generation identation * Add option to disable projects * Removed global projects as it is not an stable solution * Use ConanException instead * Removed possibility of managing different workspaces * Restore multi workspace allowing PremakeToolchain to be used as a plain generator * Added more premake tests * Parametrize premake test * Added some comments * Removed old premake functional test * Added docstring and a way of controlling verbosity on premake * Fixed tests * Revert extra formatting * Remove print * Keep both legacy premake generator logic While introducing new generator by simply enabling PremakeToolchain * Added new tests for premake generators * Drop support for buildenv flags reading * fixing clang-cl autotools * also work for clang-cl * wip * fixing cppstd flag * wip * wip * tests passing * Fix Conan Source folders.root issue - Fixed issue in local.py where source() method did not account for self.folders.root (when specified) - Added test/integration/command/source_test.py::SourceTest::test_local_source_layout_root Close conan-io#18376 * Update Integration Test - Test should now pass on windows, linux, and mac OS - Test creates a file in `source()` method and loads the file in the `build()` method. The test will fail if both `source()` and `build()` do not use the same `self.source_folder` * Update test/integration/command/source_test.py * Fix codecov.yml invalid format (conan-io#18372) * Add gcc 13.4 (conan-io#18374) * Add gcc 13.4 * Update conan/internal/default_settings.py * fixing autotools_exe template, avoiding libtool (conan-io#18378) * fixing CmakeConfigDeps link flags (conan-io#18367) * Conan 2.18.0-dev * Fix PyInstaller --exclude-module (conan-io#18381) add wildcard * fix(tests): fix some non-functional asserts in conflict_diamond_test.py (conan-io#18394) * [fix] Honor when raising ConanInvalidConfiguration in hooks (conan-io#18385) * Honor ConanInvalidConfiguration in hooks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Cover post_validate Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Feature/profile contexts (conan-io#18383) * investigating if possible to add context to profile rendering * added test * fix tests * fix tests * Add open functionality to TestClient * Comment * Assert out when running on CI and calling open * [CMakeConfigDeps] Fixed `find_package` in subforlders (conan-io#18407) * new test for CMakeConfigDeps with subfolders * wip * fix tests * fix test * fix test * Allow multi version minors for detected compilers * Dont pick up spaces * Dont pick up spaces * Make older gccs explictily return up to minor, to keep compat with old behaviour * [fix] local-recipe-index find bug, select pattern with only name (conan-io#18423) * fix with test * Update list_test.py * simplify test * more test cases * [BazelDeps] Pure refactor (conan-io#18424) * Refactoring. WIP * wip * Fixed * better remote caching (conan-io#18411) * Ensure performance test have known cache location that works everywhere (conan-io#18428) * Make performance cache live inside the test folder * Add gitignore for performance cache * Create folders if they don't exist when using `--out-file` (conan-io#18427) mkdir for --out-file Co-authored-by: memsharded <james@conan.io> * fixing source retrieval when resetting local-index remote (conan-io#18418) * feature: Add support for source targets CMakeConfigDeps generator (conan-io#18350) * first implementation * implement compontents * fix * clean tests * only linux for tests and cleanup * move tests * move join to jinja template * Update conan/tools/cmake/cmakedeps2/target_configuration.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Update conan/tools/cmake/cmakedeps2/target_configuration.py" This reverts commit a55b0c9. * headers not needed * add deduce test * improve test * integrate sources into lib code --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Less verbose text upload (conan-io#18430) less verbose text upload * [feature] Add generic config for CMake and Meson install strip (conan-io#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (conan-io#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (conan-io#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (conan-io#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (conan-io#18449) * `conan export-pkg` now correctly passes a `str` as the conanfile version (conan-io#18456) * conan export-pkg now correctly passes a str as the conanfile version * Add type test * Add test to verify that we always call parse_args for every command * Work for workspace too * Added wasm64 architecture * Added MEMORY64=1 on wasm64 to architecture_flag function * Support asm.js arch correctly * Added emcc compiler support * Added emcc compiler support * WIP Added functional tests * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * Fix dockerfile * Fix dockerfile * Fix dockerfile * Fix dockerfile * Add EM_CACHE in docker container * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Only run node wasm64 on macos * Relax tests to be os agnostic * Removed unneded platform_tool_requires * do not call generators for editables not being built (conan-io#18402) * Skip emcc tests on python < 3.8 (conan-io#18461) * fix in autotools win-clang and test for NMake with clang-cl * fix tests * Update test/functional/utils.py * Removed -rf pytest option and leave default (-rfE) which prints failed tests at the end * refactoring graph node.dependencies->node.edges (conan-io#18463) * refactoring graph node.dependencies->node.edges * fix sbom * adding a deprecation warning and fallback for Node.dependencies->edges * [new command] `conan report diff` to inspect diffs between versions and revisions (conan-io#18247) * wip * wip Co-Authored-By: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fix sidebar overflow behaviour, escape lines of html charcaters * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Cleanup html diff generation, follow formatter style from Conan commands * Fix imports * Simplify parameter handling, fix ref report for download * Add search bar * Fix list visuals after search * Improve performance for large diffs * Add json formatter --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Typo * Avoid encoding issues by ignoring them The implementation right now is a bit ugly, will simplify when it's ready --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Add some basic tests --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * improve test and use "--- a" instead of "diff --git" (path with spaces) * fix * fix path * change html test * wip * Make test fail when there are patches * Test confgiure_source * Test for patches * Html test * Tests * test contents * replace("\\", "/") for windows and use buffer to reorderlines * fix * fix * fix new files, and fix tests * Rename * Break everything * Don't show repeated files * Simplify generation, share json/html inut data * Fix styling * More expressive check * Move to api? This might get reverted later if we find a better place * Improve output * Add exclude search * Don't take into account paths when filtering * Remove duplication, don't try tro download cache refs * Typo * fix test * Dont modify load function * Rename function * Use conan_run * Hide git diff stderr * Revert check_output_runner * Fix issues with paths --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: James <memsharded@gmail.com> * XcodeToolchain: fix deployment target for non-macOS (conan-io#18471) * XcodeToolchain: fix deployment target for non-macOS * remove duplicate line * add new test * Simplify testing * Simplify testing --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Fix head method not working in testing mocked requests * [PkgConfigDeps] Mechanism to skip some `*.pc` files creation (conan-io#18439) * Add pkg_config_skip property to PkgConfigDeps * Add pkg_config_skip property to PkgConfigDeps test * Remove debug message * Remove unsued import * Move to use none pkg_config_name * Update conan/tools/gnu/pkgconfigdeps.py * Component whose main is skipped should define the pkg_config_name * None components is not hidden * Review * Update test/integration/toolchains/gnu/test_pkgconfigdeps.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Give wasm support to premake toolchain * Improved premake toolchain: - Support fPIC option - Support emcc compiler and other architectures - Added premake exe and lib templates - Improved test cases detecting new issues - Fixed arch bug * Added shared option support on premake libs * Fix premake integration tests * Fix tests * Changed dylib for so as test runs in linux * Run premake test only in linux * Update pyproject.toml Co-authored-by: James <memsharded@gmail.com> * Feature: workspace create (conan-io#18390) * workspace Python files proposal * fixes * review * workspace create * wip * wip * tests passing * wip * wip * wip * wip * wip * tests passing, first proposal for orchestrated build + create * dynamic ref attributes for conan workspace create * test for conan workspace build too * wip * Update conan/cli/commands/workspace.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * wip * [feature] Add generic config for CMake and Meson install strip (conan-io#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (conan-io#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (conan-io#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (conan-io#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (conan-io#18449) * removed --local * renamed editables->packages * wip * wip * new test to check global.conf/-cc --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> * Removed ObjC/C++ flags from C/C++ ones * wip * Added Objective C/C++ flags to both Gnu/Autotools toolchain * Fix * Fix * implementing support for exe editables in CMakeConfigDeps (conan-io#18489) * implementing support for exe editables in CMakeConfigDeps * fix _package_framework var * Added architecture linker specific flags to toolchains * fix detection of riscv64 cpu in Meson toolchain * fix broken tests in windows * Remove print Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * Fixed elif issue in cmake blocks and added unit test * Fix issues with `self.generator_info` (conan-io#18503) * Failing tests * Make second one fail too * Fixes * Discard changes to conan/internal/model/conan_file.py * Update test/integration/generators/test_generators_from_br.py * Update test/integration/generators/test_generators_from_br.py * Fix tests * add fix to support git<2.36 (conan-io#18501) * avoid leaking core.conf in user profiles (conan-io#18474) * avoid leaking core.conf in user profiles * Update conan/internal/model/conf.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Improvement over ill-formed graphs with different visible=True/False for the same dependency (conan-io#18440) * wip * wip * wip * removed GraphRuntimeError in favor of GraphConflictError * wip * better removal of orphans * simplified * reduced warnings * reducing warnings * new output proposal * new output warnings * [workspace] Changed `conanws.yml` format (conan-io#18493) * Dynamically loading the name and version * Fixed * Fixed commands * wip * Changing tests * Fixed tests * Suggestions * test * wip * Update conan/internal/model/workspace.py Co-authored-by: James <memsharded@gmail.com> * Update conan/api/subapi/workspace.py Co-authored-by: James <memsharded@gmail.com> * wip * Raising error if duplicated references. Added test --------- Co-authored-by: James <memsharded@gmail.com> * small fix sbom component bom-ref * 1_6 * Added architecture linker specific flags to premake * Add build_folder parameter in basic_layout (conan-io#18442) * add build_folder * test and use subproject path * Added threads subsetting in emcc compiler model (conan-io#18520) * Added threads subsetting on emcc compiler model * Fixed test * Return list instead * Update test/integration/toolchains/meson/test_mesontoolchain.py * Added integration tests to every toolchain * WIP fix windows tests * Fix windows autotools tests --------- Co-authored-by: James <memsharded@gmail.com> * fix qcc cppstd support for latest QNX 8.0 for c++20 (conan-io#18538) * new 'conan cache ref <path>' to reverse-look the Conan cache (conan-io#18518) * new 'conan cache ref <path>' to reverse-look the Conan cache * fix * fix bad paths stacktrace * wip * review * avoid incorrect definitions in conf_info (conan-io#18541) * avoid incorrect user.xxx definitions in conf_info * test tools.xxx too * more efficient checks * Fix: Fix cache check-intregrity output (conan-io#18544) * Fix: Fix cache check-intregrity output * bring indent back * fix tests * add missing package file test * fix test * better error message for wrong cpp_info.requires (conan-io#18552) * Avoid library renames when Meson + Windows + MSVC static builds (conan-io#18533) * wip * Added splitext cmake function * wip * Added functional test * Adding CMakeConfigDeps * CMakeDeps backporting future change from CMake newer versions. Removed PkgConfigDeps change (too risky). Moved and modified test * reducing diff * add assert message in CMakeConfigDeps (conan-io#18558) * better error message in CMakeConfigDeps for incorrect component requires (conan-io#18562) * fix incorrect inputs for relativize paths generator (conan-io#18561) * allow consuming meson libname.a libs in MSBuildDeps (conan-io#18557) * allow consuming meson libname.a libs in MSBuildDeps * fix test in OSX * Avoid hyphens for msbuild verbosity argument passed to CMake after -- in powershell (conan-io#18548) * replace - for / * wip * test powershell in integration * simplify * remove unused fixture * define CMake try-compile configuration (conan-io#18559) * define CMake try-compile configuration * risky fix * try_compile only for known configurations * add checks in tests * guard cmake_try_compile_configuration * Conan 2.19.0-dev * Preamke generator: fix some issues with windows paths and MSBuild (conan-io#18572) * Preamke generator: fix some issues with windows paths and MSBuild * Added integration test case for msbuild_platform * Revert Better remote caching (conan-io#18586) * Revert "better remote caching (conan-io#18411)" This reverts commit ad76fa2. * Bump version * Add gcc 12.5 (conan-io#18587) * Test refactor and improvements (conan-io#18576) * improving tests * rmeoved old config_path from tests * wip * wip * wip * wip * fix tests * removed xfailed test only fails in Windows if short-paths but not CI * Fix `test_makefile_sysroot` test in Windows (conan-io#18595) * Fix test_makefile_sysroot test in Windows * Different paths for Windows * Autotools: Added new makefile parameter to make function (conan-io#18578) * Added new makefile parameter to make * Use -f instead of --makefile option * Use long option instead * fix: Typo (conan-io#18571) Co-authored-by: James <james@conan.io> * Add freeze_support (conan-io#18603) * Add freeze_support * Freeze support call inside the __main__ method * [Part 2] Better remote caching (conan-io#18588) * Let's avoid saving the whole object * Caching only NotFoundException. Restoring remote.invalidate_cache() calls * Cleaner * CMakeConfigDeps filter requires() to package_type=application (conan-io#18611) * SSH runner: User friendly paramiko import protection (conan-io#18566) * User friendly paramiko import protection * Updated exception message * Test/improvements (conan-io#18616) * modernizing tests to pytest * more tests * another batch * finished refactor of unittest * wip * wip * Debounce search input on html formats (conan-io#18575) * Debounce search input * Debounce search input for html graph too * Focus from current pov * Update conan/cli/formatters/report/diff_html.py Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> * enabling test_package_folder for conan export-pkg command (conan-io#18621) * Allow auto-detect with custom cc paths including spaces (conan-io#18628) * wip * wip * fix tests * fix login messages hidden by verbosity level (conan-io#18642) * Add explicit error when trying to export a reference with `channel` but no `user` (conan-io#18646) * Error out if trying to export ref with channel and no user * Add test * PLay around with class attributes * Fix error * Remove redundant check * Review * add `@user/channel` to SBOM (conan-io#18649) * add user channel to sbom * Update conan/tools/sbom/cyclonedx.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * fix --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Improve version detection for cc compilers (conan-io#18600) * Skip build information for gcc if present * Simpler cc detection * Let `conan source` reference the backup sources it generates in more cases (conan-io#18655) * Let conan source reference the sources it downloads in more cases * Test that the cache backup-upload also tries to upload non unknown references * PremakeDeps: ensure correct linkage on dependent libraries (conan-io#18631) * fix: 🐛 PremakeDeps was not providing correct link order to the linker Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Update conan/tools/premake/premakedeps.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fixed tests * Removed redundant assert * Improved test case on PremakeDeps --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * serialize conandata information (conan-io#18661) * Add `cmake_target_aliases` support for `CMakeConfigDeps` (conan-io#18662) * Add support for cmake_target_aliases * Add aliases tests, coming from old cmakedeps * Fix aliases for imported default target * Remove redundant target store * Restrict cmake version * Typo * Check for duplication caused by aliases * Dont let users alias the global target * Remove redundant test * Create api helpers to help with initialization order and caching of common objects (conan-io#18644) * Check conan version before loading hooks * Make helpers class, name to be decided * Rename, pep8 blank lines * parametrize on reinit * Reinit helpers * wip * experimental * review * fix and new test --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: shtanko-sv <34907549+shtanko-sv@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramirez de Anton <franchuti688@gmail.com> Co-authored-by: danimtb <danimanzaneque@gmail.com> Co-authored-by: PerseoGI <perseog@jfrog.com> Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: Timothy J Viola <hy211@cummins.com> Co-authored-by: PerseoGI <perseo.gi98@gmail.com> Co-authored-by: Nikita Rudenko <RudenkoRNK@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> Co-authored-by: Andrey Filipenkov <decapitator@ukr.net> Co-authored-by: Michaël Melchiore <michael@infiniteorbits.io> Co-authored-by: Dominik Wernberger <dominik.wernberger@gmx.de> Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com>
* Failing test for reported issue * Sketch solution * new approach * orphan test * Multiple CMake builds from single conanfile (#18905) * cmake multi * wip * wip * reuse multi wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add `recipes_only` feature for remotes (#18896) * Sketch allow_binary_downloads feature for remotes * Update nbaming to recipes_only * Simpler parsing * Cleanup * Simplify * Use typings, not the type literal, supported only in newer pythons (#18977) * Use typings, not the type literal, supported only in newer pythons * Update conan/api/model/list.py Co-authored-by: James <memsharded@gmail.com> --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Default recipe paths to cwd when not specified when calling Conan (#18964) * Default conanfile paths to current working directory unless told otherwise * Tests, fix missing nargs * Better way to handle new param in default=None case for graphs * Tests for defaulted path * Revert unrelated change * Maybe betetr default for test package * Simplify test * Duplicated line * Remove unused check * Graph build-order comment * Add default in help string * XcodeBuild: extend build parameters (#18668) * allow passing custom build config # Conflicts: # conan/tools/apple/xcodebuild.py * redirect all build artifacts to the build directory * allow passing arbitrary options to xcodebuild * fix xcode tests * fix indent * Revert "fix xcode tests" This reverts commit 95fb3bd. * add param to activate build files redirection * revert format change * handle paths with spaces * add test * improve docstrings * remove use_build_folder * remove docstring * wip * change name to cli_args * minor changes --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * Add `--context={build,host}` filter to `conan audit scan` (#18976) * Add context filter to conan scan * Rename to both * Update to noth have a both argument * Simplify testing * moving legacy vars in CMakeConfigDeps (#18860) * moving legacy vars in CMakeConfigDeps * wip * fix * fix * post_package_id hook (#18960) * post_package_id hook * fix VCVars path with mixed slashes (#18907) * Fix/mesontoolchain linker script (#18922) * fix MesonToolchain definition of linker script with quotes * extra test for cmake * refactor, move http requester to private helpers (#18970) * review, for performance --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * fix CMake presets njobs (#18984) * adding dotenv files (#18266) * adding dotenv files * fix test in multiplatform * Update conan/tools/env/environment.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Sort overrides when serializing * Coverage (#18275) * testing RequirementsInfo * removed conan config-install gz, unused * simplify gzopen_without_timestamps * Allow composition of conf values that are different categories of numbers (#18265) * Add profile composition test for numbers * Add failing test * Allow composition over conf values that are different categories of numbers * new test for lockfile requires error * Add clearer message when missing some keys in graph file * simplify test * new tests for options and settings negation (#18306) * Adding C standard detection (#18290) * Add default C standard detection for various compilers * Add detection for C standard in default settings * Update comments * Remove cstd from default generated profiles Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Add some unit tests * Remove detect_cstd function * Update detect.py module after removing `detect_cstd` * Update conan/internal/api/detect/detect_api.py * Cleanups --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * [fix] tools.files.copy should exclude symlinks for folders (#18304) * Validate copy exclude for symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate copy exclude for file symlinks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate exclude folder as pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Exclude symlink when matching the pattern Signed-off-by: Uilian Ries <uilianries@gmail.com> * Keep pep8 format Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Test/modernize (#18292) * modernize tests * speed up CMake checks * fixing tests * tests short summary * tests short summary * fix test * Add gcc 14.3 * Avoid duplicate component requirements * [fix] Change wording on unzip tool when uncompressing file * use existing test * Refactor cache save to create a list of files to compress and reuse existing function * Applied suggestions * Add test for checking pkglist.json destination compression * Remove pkglist file after compression from tmp folder * Update conan/internal/api/uploader.py Co-authored-by: James <memsharded@gmail.com> * Expose default_cstd for the build method * Add missing default import * fixing grafted commits (#18315) * fixing grafted commits * --decorate for grafted log msg * check * avoid first --depth=1 * adding --refetch * Add super() test for set_version * wip * wip * wip * wip * wip * wip * wip * wip * [workspace] Removed `home_folder` mechanism (#18339) Removed home_folder definition from WS * Putting conanws as top root for WS if exists * Add support for extra configure arguments (#18333) * Add support for extra configure arguments Signed-off-by: Uilian Ries <uilianries@gmail.com> * Check configuration type Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate type-check for list-like Signed-off-by: Uilian Ries <uilianries@gmail.com> * Replace extra_configure_args by configure_args Signed-off-by: Uilian Ries <uilianries@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Do not check type Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Replace extra_configure_args by configure_args" This reverts commit 91ac324. * Simplify tests^ Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * modernizing tests (#18349) * modernizing tests * more tests * moved test * fix conanws folder (#18352) * Fix | Validate if the licenses in the SBOM are SPDX compatible (#18358) * validate spdx_licenses in the sbom, test * add deprecated licenses and fixes * Fix urls for audit command (#18360) * fix url * fix more urls * new test for build-scripts transitive * moved test to integration * Renamed 'editables' to 'packages' * new test for editable with build-host folders * fix parse errors * trying again to define CMAKE_XX_COMPILER in generated presets, only for cl * WIP: added premake toolchain and updated premake generator * Updated premake toolchain * Created build method on Premake, fix cross building and map architectures * Added extra flags on premake generator * Stable version, not complete * Detailed tooling * Improved code generation identation * Add option to disable projects * Removed global projects as it is not an stable solution * Use ConanException instead * Removed possibility of managing different workspaces * Restore multi workspace allowing PremakeToolchain to be used as a plain generator * Added more premake tests * Parametrize premake test * Added some comments * Removed old premake functional test * Added docstring and a way of controlling verbosity on premake * Fixed tests * Revert extra formatting * Remove print * Keep both legacy premake generator logic While introducing new generator by simply enabling PremakeToolchain * Added new tests for premake generators * Drop support for buildenv flags reading * fixing clang-cl autotools * also work for clang-cl * wip * fixing cppstd flag * wip * wip * tests passing * Fix Conan Source folders.root issue - Fixed issue in local.py where source() method did not account for self.folders.root (when specified) - Added test/integration/command/source_test.py::SourceTest::test_local_source_layout_root Close #18376 * Update Integration Test - Test should now pass on windows, linux, and mac OS - Test creates a file in `source()` method and loads the file in the `build()` method. The test will fail if both `source()` and `build()` do not use the same `self.source_folder` * Update test/integration/command/source_test.py * Fix codecov.yml invalid format (#18372) * Add gcc 13.4 (#18374) * Add gcc 13.4 * Update conan/internal/default_settings.py * fixing autotools_exe template, avoiding libtool (#18378) * fixing CmakeConfigDeps link flags (#18367) * Conan 2.18.0-dev * Fix PyInstaller --exclude-module (#18381) add wildcard * fix(tests): fix some non-functional asserts in conflict_diamond_test.py (#18394) * [fix] Honor when raising ConanInvalidConfiguration in hooks (#18385) * Honor ConanInvalidConfiguration in hooks Signed-off-by: Uilian Ries <uilianries@gmail.com> * Cover post_validate Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * Feature/profile contexts (#18383) * investigating if possible to add context to profile rendering * added test * fix tests * fix tests * Add open functionality to TestClient * Comment * Assert out when running on CI and calling open * [CMakeConfigDeps] Fixed `find_package` in subforlders (#18407) * new test for CMakeConfigDeps with subfolders * wip * fix tests * fix test * fix test * Allow multi version minors for detected compilers * Dont pick up spaces * Dont pick up spaces * Make older gccs explictily return up to minor, to keep compat with old behaviour * [fix] local-recipe-index find bug, select pattern with only name (#18423) * fix with test * Update list_test.py * simplify test * more test cases * [BazelDeps] Pure refactor (#18424) * Refactoring. WIP * wip * Fixed * better remote caching (#18411) * Ensure performance test have known cache location that works everywhere (#18428) * Make performance cache live inside the test folder * Add gitignore for performance cache * Create folders if they don't exist when using `--out-file` (#18427) mkdir for --out-file Co-authored-by: memsharded <james@conan.io> * fixing source retrieval when resetting local-index remote (#18418) * feature: Add support for source targets CMakeConfigDeps generator (#18350) * first implementation * implement compontents * fix * clean tests * only linux for tests and cleanup * move tests * move join to jinja template * Update conan/tools/cmake/cmakedeps2/target_configuration.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Revert "Update conan/tools/cmake/cmakedeps2/target_configuration.py" This reverts commit a55b0c9. * headers not needed * add deduce test * improve test * integrate sources into lib code --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Less verbose text upload (#18430) less verbose text upload * [feature] Add generic config for CMake and Meson install strip (#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (#18449) * `conan export-pkg` now correctly passes a `str` as the conanfile version (#18456) * conan export-pkg now correctly passes a str as the conanfile version * Add type test * Add test to verify that we always call parse_args for every command * Work for workspace too * Added wasm64 architecture * Added MEMORY64=1 on wasm64 to architecture_flag function * Support asm.js arch correctly * Added emcc compiler support * Added emcc compiler support * WIP Added functional tests * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * WIP: Added emscripten on windows * Fix dockerfile * Fix dockerfile * Fix dockerfile * Fix dockerfile * Add EM_CACHE in docker container * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Pre build emscripten binaries on image and remove windows specific tests * Only run node wasm64 on macos * Relax tests to be os agnostic * Removed unneded platform_tool_requires * do not call generators for editables not being built (#18402) * Skip emcc tests on python < 3.8 (#18461) * fix in autotools win-clang and test for NMake with clang-cl * fix tests * Update test/functional/utils.py * Removed -rf pytest option and leave default (-rfE) which prints failed tests at the end * refactoring graph node.dependencies->node.edges (#18463) * refactoring graph node.dependencies->node.edges * fix sbom * adding a deprecation warning and fallback for Node.dependencies->edges * [new command] `conan report diff` to inspect diffs between versions and revisions (#18247) * wip * wip Co-Authored-By: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fix sidebar overflow behaviour, escape lines of html charcaters * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Update conan/cli/commands/compare.py Co-authored-by: James <memsharded@gmail.com> * Cleanup html diff generation, follow formatter style from Conan commands * Fix imports * Simplify parameter handling, fix ref report for download * Add search bar * Fix list visuals after search * Improve performance for large diffs * Add json formatter --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Typo * Avoid encoding issues by ignoring them The implementation right now is a bit ugly, will simplify when it's ready --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * Add some basic tests --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> * improve test and use "--- a" instead of "diff --git" (path with spaces) * fix * fix path * change html test * wip * Make test fail when there are patches * Test confgiure_source * Test for patches * Html test * Tests * test contents * replace("\\", "/") for windows and use buffer to reorderlines * fix * fix * fix new files, and fix tests * Rename * Break everything * Don't show repeated files * Simplify generation, share json/html inut data * Fix styling * More expressive check * Move to api? This might get reverted later if we find a better place * Improve output * Add exclude search * Don't take into account paths when filtering * Remove duplication, don't try tro download cache refs * Typo * fix test * Dont modify load function * Rename function * Use conan_run * Hide git diff stderr * Revert check_output_runner * Fix issues with paths --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: James <memsharded@gmail.com> * XcodeToolchain: fix deployment target for non-macOS (#18471) * XcodeToolchain: fix deployment target for non-macOS * remove duplicate line * add new test * Simplify testing * Simplify testing --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Fix head method not working in testing mocked requests * [PkgConfigDeps] Mechanism to skip some `*.pc` files creation (#18439) * Add pkg_config_skip property to PkgConfigDeps * Add pkg_config_skip property to PkgConfigDeps test * Remove debug message * Remove unsued import * Move to use none pkg_config_name * Update conan/tools/gnu/pkgconfigdeps.py * Component whose main is skipped should define the pkg_config_name * None components is not hidden * Review * Update test/integration/toolchains/gnu/test_pkgconfigdeps.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Give wasm support to premake toolchain * Improved premake toolchain: - Support fPIC option - Support emcc compiler and other architectures - Added premake exe and lib templates - Improved test cases detecting new issues - Fixed arch bug * Added shared option support on premake libs * Fix premake integration tests * Fix tests * Changed dylib for so as test runs in linux * Run premake test only in linux * Update pyproject.toml Co-authored-by: James <memsharded@gmail.com> * Feature: workspace create (#18390) * workspace Python files proposal * fixes * review * workspace create * wip * wip * tests passing * wip * wip * wip * wip * wip * tests passing, first proposal for orchestrated build + create * dynamic ref attributes for conan workspace create * test for conan workspace build too * wip * Update conan/cli/commands/workspace.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * wip * [feature] Add generic config for CMake and Meson install strip (#18429) * Use tools.install:strip for CMake Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add meson install strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Validate strip flag when installing with meson Signed-off-by: Uilian Ries <uilianries@gmail.com> * Improve strip config description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fallback for tools.cmake:install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Use deprecation flag for config Co-authored-by: James <memsharded@gmail.com> * Reduce install strip property Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install:strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename config to tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo tools.build.install_strip Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: James <memsharded@gmail.com> * Add support for sbom and lockfiles for conan audit list (#18437) * Add support for sbom and lockfiles for conan audit list * Ensure sbom is cyclone * Fix remote for list * Add test for pkglist with remote --------- Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * fixing CMake presets on Windows with backslash (#18435) * fixing CMake presets on Windows with backslash * adding checks to test * Fix: parse -cc args when running "conan cache backup-upload" * [fix] Add support for Git tree-less repository when getting the URL (#18444) * Add test to validate Git treeless clone support Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove git method from the remote url Signed-off-by: Uilian Ries <uilianries@gmail.com> * rsplit FTW Signed-off-by: Uilian Ries <uilianries@gmail.com> * Always return string Signed-off-by: Uilian Ries <uilianries@gmail.com> * Filter out (fetch) and (push) Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> * fix issue with missing folder in local-recipes-index (#18449) * removed --local * renamed editables->packages * wip * wip * new test to check global.conf/-cc --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> * Removed ObjC/C++ flags from C/C++ ones * wip * Added Objective C/C++ flags to both Gnu/Autotools toolchain * Fix * Fix * implementing support for exe editables in CMakeConfigDeps (#18489) * implementing support for exe editables in CMakeConfigDeps * fix _package_framework var * Added architecture linker specific flags to toolchains * fix detection of riscv64 cpu in Meson toolchain * fix broken tests in windows * Remove print Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * Fixed elif issue in cmake blocks and added unit test * Fix issues with `self.generator_info` (#18503) * Failing tests * Make second one fail too * Fixes * Discard changes to conan/internal/model/conan_file.py * Update test/integration/generators/test_generators_from_br.py * Update test/integration/generators/test_generators_from_br.py * Fix tests * add fix to support git<2.36 (#18501) * avoid leaking core.conf in user profiles (#18474) * avoid leaking core.conf in user profiles * Update conan/internal/model/conf.py Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> --------- Co-authored-by: Francisco Ramírez <franchuti688@gmail.com> * Improvement over ill-formed graphs with different visible=True/False for the same dependency (#18440) * wip * wip * wip * removed GraphRuntimeError in favor of GraphConflictError * wip * better removal of orphans * simplified * reduced warnings * reducing warnings * new output proposal * new output warnings * [workspace] Changed `conanws.yml` format (#18493) * Dynamically loading the name and version * Fixed * Fixed commands * wip * Changing tests * Fixed tests * Suggestions * test * wip * Update conan/internal/model/workspace.py Co-authored-by: James <memsharded@gmail.com> * Update conan/api/subapi/workspace.py Co-authored-by: James <memsharded@gmail.com> * wip * Raising error if duplicated references. Added test --------- Co-authored-by: James <memsharded@gmail.com> * small fix sbom component bom-ref * 1_6 * Added architecture linker specific flags to premake * Add build_folder parameter in basic_layout (#18442) * add build_folder * test and use subproject path * Added threads subsetting in emcc compiler model (#18520) * Added threads subsetting on emcc compiler model * Fixed test * Return list instead * Update test/integration/toolchains/meson/test_mesontoolchain.py * Added integration tests to every toolchain * WIP fix windows tests * Fix windows autotools tests --------- Co-authored-by: James <memsharded@gmail.com> * fix qcc cppstd support for latest QNX 8.0 for c++20 (#18538) * new 'conan cache ref <path>' to reverse-look the Conan cache (#18518) * new 'conan cache ref <path>' to reverse-look the Conan cache * fix * fix bad paths stacktrace * wip * review * avoid incorrect definitions in conf_info (#18541) * avoid incorrect user.xxx definitions in conf_info * test tools.xxx too * more efficient checks * Fix: Fix cache check-intregrity output (#18544) * Fix: Fix cache check-intregrity output * bring indent back * fix tests * add missing package file test * fix test * better error message for wrong cpp_info.requires (#18552) * Avoid library renames when Meson + Windows + MSVC static builds (#18533) * wip * Added splitext cmake function * wip * Added functional test * Adding CMakeConfigDeps * CMakeDeps backporting future change from CMake newer versions. Removed PkgConfigDeps change (too risky). Moved and modified test * reducing diff * add assert message in CMakeConfigDeps (#18558) * better error message in CMakeConfigDeps for incorrect component requires (#18562) * fix incorrect inputs for relativize paths generator (#18561) * allow consuming meson libname.a libs in MSBuildDeps (#18557) * allow consuming meson libname.a libs in MSBuildDeps * fix test in OSX * Avoid hyphens for msbuild verbosity argument passed to CMake after -- in powershell (#18548) * replace - for / * wip * test powershell in integration * simplify * remove unused fixture * define CMake try-compile configuration (#18559) * define CMake try-compile configuration * risky fix * try_compile only for known configurations * add checks in tests * guard cmake_try_compile_configuration * Conan 2.19.0-dev * Preamke generator: fix some issues with windows paths and MSBuild (#18572) * Preamke generator: fix some issues with windows paths and MSBuild * Added integration test case for msbuild_platform * Revert Better remote caching (#18586) * Revert "better remote caching (#18411)" This reverts commit ad76fa2. * Bump version * Add gcc 12.5 (#18587) * Test refactor and improvements (#18576) * improving tests * rmeoved old config_path from tests * wip * wip * wip * wip * fix tests * removed xfailed test only fails in Windows if short-paths but not CI * Fix `test_makefile_sysroot` test in Windows (#18595) * Fix test_makefile_sysroot test in Windows * Different paths for Windows * Autotools: Added new makefile parameter to make function (#18578) * Added new makefile parameter to make * Use -f instead of --makefile option * Use long option instead * fix: Typo (#18571) Co-authored-by: James <james@conan.io> * Add freeze_support (#18603) * Add freeze_support * Freeze support call inside the __main__ method * [Part 2] Better remote caching (#18588) * Let's avoid saving the whole object * Caching only NotFoundException. Restoring remote.invalidate_cache() calls * Cleaner * CMakeConfigDeps filter requires() to package_type=application (#18611) * SSH runner: User friendly paramiko import protection (#18566) * User friendly paramiko import protection * Updated exception message * Test/improvements (#18616) * modernizing tests to pytest * more tests * another batch * finished refactor of unittest * wip * wip * Debounce search input on html formats (#18575) * Debounce search input * Debounce search input for html graph too * Focus from current pov * Update conan/cli/formatters/report/diff_html.py Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> --------- Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> * enabling test_package_folder for conan export-pkg command (#18621) * Allow auto-detect with custom cc paths including spaces (#18628) * wip * wip * fix tests * fix login messages hidden by verbosity level (#18642) * Add explicit error when trying to export a reference with `channel` but no `user` (#18646) * Error out if trying to export ref with channel and no user * Add test * PLay around with class attributes * Fix error * Remove redundant check * Review * add `@user/channel` to SBOM (#18649) * add user channel to sbom * Update conan/tools/sbom/cyclonedx.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * fix --------- Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Improve version detection for cc compilers (#18600) * Skip build information for gcc if present * Simpler cc detection * Let `conan source` reference the backup sources it generates in more cases (#18655) * Let conan source reference the sources it downloads in more cases * Test that the cache backup-upload also tries to upload non unknown references * PremakeDeps: ensure correct linkage on dependent libraries (#18631) * fix: 🐛 PremakeDeps was not providing correct link order to the linker Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> * Update conan/tools/premake/premakedeps.py Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * Fixed tests * Removed redundant assert * Improved test case on PremakeDeps --------- Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> * serialize conandata information (#18661) * Add `cmake_target_aliases` support for `CMakeConfigDeps` (#18662) * Add support for cmake_target_aliases * Add aliases tests, coming from old cmakedeps * Fix aliases for imported default target * Remove redundant target store * Restrict cmake version * Typo * Check for duplication caused by aliases * Dont let users alias the global target * Remove redundant test * Create api helpers to help with initialization order and caching of common objects (#18644) * Check conan version before loading hooks * Make helpers class, name to be decided * Rename, pep8 blank lines * parametrize on reinit * Reinit helpers * wip * experimental * review * fix and new test --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Abril Rincón Blanco <5364255+AbrilRBS@users.noreply.github.com> Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com> Co-authored-by: shtanko-sv <34907549+shtanko-sv@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramirez de Anton <franchuti688@gmail.com> Co-authored-by: danimtb <danimanzaneque@gmail.com> Co-authored-by: PerseoGI <perseog@jfrog.com> Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: Timothy J Viola <hy211@cummins.com> Co-authored-by: PerseoGI <perseo.gi98@gmail.com> Co-authored-by: Nikita Rudenko <RudenkoRNK@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> Co-authored-by: Andrey Filipenkov <decapitator@ukr.net> Co-authored-by: Michaël Melchiore <michael@infiniteorbits.io> Co-authored-by: Dominik Wernberger <dominik.wernberger@gmx.de> Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com> * potential fix * cleaned up --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: memsharded <james@conan.io> Co-authored-by: David Sánchez Falero <david.sanchez.falero@gmail.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> Co-authored-by: James <memsharded@gmail.com> Co-authored-by: Andrey Filipenkov <decapitator@ukr.net> Co-authored-by: shtanko-sv <34907549+shtanko-sv@users.noreply.github.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Francisco Ramirez de Anton <franchuti688@gmail.com> Co-authored-by: danimtb <danimanzaneque@gmail.com> Co-authored-by: PerseoGI <perseog@jfrog.com> Co-authored-by: Ernesto de Gracia Herranz <ernestodgh@jfrog.com> Co-authored-by: Timothy J Viola <hy211@cummins.com> Co-authored-by: PerseoGI <perseo.gi98@gmail.com> Co-authored-by: Nikita Rudenko <RudenkoRNK@gmail.com> Co-authored-by: LUCAS K DAL CASTEL <lucaskendrickdalcastel@gmail.com> Co-authored-by: Michaël Melchiore <michael@infiniteorbits.io> Co-authored-by: Dominik Wernberger <dominik.wernberger@gmx.de> Co-authored-by: Ernesto de Gracia Herranz <ernestodegraciah@gmail.com>
Changelog: Bugfix: Fixed
CMakeConfigDepsbehavior with multiplefind_packagein folders and subfolders.Docs: Omit
Close #18405