cmake plugin: support disable-parallel option
Metadata
Current evaluation
Merged in canonical/snapcraft#2733 (commit 634d72466), enabling CMake disable-parallel via BasePlugin's parallel build count and adding unit coverage.
Resolution: closed resolved
Reason: The approved PR was merged after switching the CMake plugin from Project.parallel_build_count to BasePlugin.parallel_build_count. Commit 634d72466 records the fix and test coverage.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
Currently the cmake plugin utilizes the `parallel_build_count` attribute from `Project`. This PR switches it over to using the one from the `BasePlugin` to support the `disable-parallel` option. It also verifies that it works with a test.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/snapcraft#2733 (commit 634d72466), enabling CMake disable-parallel via BasePlugin's parallel build count and adding unit coverage. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in snapcraft#2733 (commit 634d72466): the cmake plugin now uses BasePlugin’s parallel build count, enabling disable-parallel, with unit coverage. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Updated the cmake plugin to inherit parallel_build_count from BasePlugin, enabling the disable-parallel option. Approved by reviewers, passed CI checks, and includes unit tests. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after a formatting fix. The cmake plugin now uses BasePlugin's parallel build count, enabling the disable-parallel option and includes corresponding tests. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1234 cmake plugin: Support `disable-parallel` parameter | craft-parts | open | Enhancement: make the cmake plugin honour the `disable-parallel` part property. Still unimplemented at HEAD (cmake_plugin.py always emits `-j{parallel_build_count}`). Maintainer-filed, labelled Enhancement/Needs information; explicitly deprioritised pending a real-world use case. | |
| #1249 qmake plugin: Support `disable-parallel` parameter | craft-parts | open | Enhancement: add disable-parallel support to the qmake plugin. Maintainer-filed, labeled Needs information; explicitly deferred as low priority pending a real-world use case. One of six sibling per-plugin issues (cmake, meson, make, go, rust). | |
| #1242 make plugin: Support `disable-parallel` parameter | craft-parts | open | Enhancement: make plugin should honor the disable-parallel part property (currently always emits make -j"N"). Filed by a maintainer, labeled Triaged/Enhancement, and explicitly deferred as "extremely low priority" until a real-world non-parallel-build use case is supplied; autotools already has it via PR #1167. | |
| #698 Add option disable-parallel for all plugins. | snapcraft | merged | Merged PR #698 added a per-part disable-parallel option to BasePlugin, allowing all plugins to opt out of parallel builds; merged as b7fc3eb66. | |
| #357 Support parallel builds (enabled by default). | snapcraft | merged | Merged PR #357 (commit 35cd5ca2c, merge 1a62686da) adding parallel build support, enabled by default in autotools/cmake/make plugins, plus a --no-parallel-build option. Resolves LP: #1551417. | |
| #2432 CMake specific parallel option | snapcraft | closed | CMake parallel-option PR #2432 was closed unmerged after 2,823 days without review; later PR #2733 merged disable-parallel support in commit 634d72466. |