Problem
In general, install-deps-and-generate-settings is was not designed to handle multiple projects. Trying to combine projects in the same CMAKE_SETTINGS_DIR has a lot of friction with repeated work and confusing behaviour.
Ideally, each project calling install-deps-and-generate-settings would be able to share their dependencies and generate correct CMAKE_SETTINGS_FILEs for their usage.
Example:
When multiple projects within a single repository (e.g., spider and clp) call install-deps-and-generate-settings with:
- The same
CMAKE_SETTINGS_DIR
- Different
CMAKE_SETTINGS_FILE values (e.g., all-core.cmake and all-spider.cmake)
The current implementation handles shared dependencies correctly, but the generated CMake settings files may include unnecessary dependencies from other projects.
Context
This issue was identified during the refactoring of dependency tasks in y-scope/clp#1377. The PR works around the limitation by splitting dependency tasks into separate modular files, but a proper solution in dev-utils would provide better support for this use case.
Requested Enhancement
Add better support for scenarios where multiple projects in the same repository share dependencies and need to call install-deps-and-generate-settings multiple times with different output files.
References
Problem
In general,
install-deps-and-generate-settingsis was not designed to handle multiple projects. Trying to combine projects in the sameCMAKE_SETTINGS_DIRhas a lot of friction with repeated work and confusing behaviour.Ideally, each project calling
install-deps-and-generate-settingswould be able to share their dependencies and generate correctCMAKE_SETTINGS_FILEs for their usage.Example:
When multiple projects within a single repository (e.g.,
spiderandclp) callinstall-deps-and-generate-settingswith:CMAKE_SETTINGS_DIRCMAKE_SETTINGS_FILEvalues (e.g.,all-core.cmakeandall-spider.cmake)The current implementation handles shared dependencies correctly, but the generated CMake settings files may include unnecessary dependencies from other projects.
Context
This issue was identified during the refactoring of dependency tasks in y-scope/clp#1377. The PR works around the limitation by splitting dependency tasks into separate modular files, but a proper solution in dev-utils would provide better support for this use case.
Requested Enhancement
Add better support for scenarios where multiple projects in the same repository share dependencies and need to call
install-deps-and-generate-settingsmultiple times with different output files.References
antlr-runtimeandutfcppto useutils:install-remote-cmake-lib. clp#1377 (comment)deps:coreanddeps:spider-depwrite into different top-level CMake configuration files (fixes #1330). clp#1331