← Back to issue list

cmake: Shouldn't use sourcedir for building

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1825797
Type
issue
State
open
Author
~brlin
Labels
Created
Updated
Closed

Current evaluation

Request for cmake plugin to use out-of-source builds (build in SNAPCRAFT_PART_BUILD instead of SNAPCRAFT_PART_SRC). 2689 days old, no labels, no comments, no maintainer interaction. The current craft-parts cmake plugin already implements out-of-source builds via get_out_of_source_build() returning True.

Suggested action: close stale

Reason: The issue is 7+ years old with zero maintainer interaction and references the legacy snapcraft/plugins/cmake.py which no longer exists. The requested behavior is now implemented: the current craft-parts CMakePlugin explicitly declares get_out_of_source_build() -> True, meaning cmake configures against the source but builds in the build directory, which is exactly what the reporter asked for.

Impact: 30 Quick Win: 22.5 Staleness: 95 Complexity: 25 Confidence: 85 Support Request: 10

Issue body

Currently cmake plugin runs configuration using the files in SNAPCRAFT_PART_SRC, IMO it should copy them to SNAPCRAFT_PART_BUILD and run against it so that one can patch these files in the build step (before running `snapcraftctl build`). https://github.com/snapcore/snapcraft/blob/3d4483d6f48d7cc212b9b472438758881252a08a/snapcraft/plugins/cmake.py#L114

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 30
Quick Win: 22.5
Staleness: 95
Complexity: 25
Confidence: 85
Support Request: 10
close stale Request for cmake plugin to use out-of-source builds (build in SNAPCRAFT_PART_BUILD instead of SNAPCRAFT_PART_SRC). 2689 days old, no labels, no comments, no maintainer interaction. The current craft-parts cmake plugin already implements out-of-source builds via get_out_of_source_build() returning True.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 35
Confidence: 95
Support Request: 15
close stale Request to change cmake plugin to use out-of-source builds instead of running configuration in the source directory. Issue is completely inactive and references a legacy plugin architecture.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 45
Confidence: 90
Support Request: 10
close stale CMake plugin runs configuration in the source directory instead of the build directory, blocking pre-build patching. Unlabeled, no maintainer response, inactive for over seven years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 25
Confidence: 85
Support Request: 15
close stale cmake plugin configures builds in the source directory instead of the build directory, blocking patching during the build step. The issue is seven years old with no maintainer engagement or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 99
Complexity: 40
Confidence: 95
Support Request: 10
close stale Request to modify cmake plugin to copy sources to build dir for pre-build patching. Open for over seven years with no maintainer response or activity.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3123 cmake v2 plugin: configure with $SNAPCRAFT_PART_SRC snapcraft merged Merged a fix updating the cmake v2 plugin to configure via $SNAPCRAFT_PART_SRC. This resolves build failures for projects verifying distinct source and build directories. Approved by one reviewer and passed CI checks.
75%
#3154 cmake v2 plugin: take source-subdir into account snapcraft merged Merged. Updates cmake v2 plugin to use SNAPCRAFT_PART_SOURCE_WORK instead of SNAPCRAFT_PART_SOURCE for pull and build steps, fixing source subdirectory handling. Approved, passed CI, and modified 10 files (+55/-7).
73%
#248 fix: parts: check for out of source builds craft-parts closed Merged to fix out-of-source build detection in cmake and meson plugins, resolving source directory selection issues with the source-subdir parameter. Addresses CRAFT-1185.
73%
#1414 cmake plugin: call the cmake using build dir as source snapcraft closed Closed without merging. The author abandoned the changes after review feedback noted cmake natively supports out-of-source builds, making the proposed in-source approach unnecessary. The linked bug remains open.
72%