Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • CMake CMake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4,100
    • Issues 4,100
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Gitlab will be updated February 2nd, between 8am and 9am EST (UTC-5). Gitlab will be offline during that time.

  • CMakeCMake
  • CMakeCMake
  • Issues
  • #22538
Closed
Open
Issue created Aug 13, 2021 by Josiah Bills@obsgolemContributor

CMake presets cause combinatorial explosion

My team has 3 main cache configurations used during development, one which builds the bare minimum, one which additionally builds the gui tools, and one which builds the entire project. We also need to build with MSVC 2015, 2017, 2019, clang, and g++. We also want to make both ninja and MSBuild available as build tools. We need to be able to build in, at minimum, debug and release with debug info. Creating presets to match all of these requirements is very difficult, as there is essentially a combinatorial explosion of presets needed to provide all these.

To solve this I propose that we be allowed to select multiple presets. You could have one preset config for each of the above, and select a combination of presets which is applicable to you. If a given combination of presets doesn't give enough information to build, you could give an error.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking