From 47490823be4d81643ed3895263feec1da64f751e Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 31 Jan 2026 02:42:01 +0900 Subject: internal/rosa: improve cmake interface This should make the call site look better for new artifacts. Signed-off-by: Ophestra --- internal/rosa/cmake.go | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'internal/rosa/cmake.go') diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go index 5dab313d..5a97dfff 100644 --- a/internal/rosa/cmake.go +++ b/internal/rosa/cmake.go @@ -38,14 +38,12 @@ make DESTDIR=/work install func init() { artifactsF[CMake] = Toolchain.newCMake } // CMakeAttr holds the project-specific attributes that will be applied to a new -// [pkg.Artifact] compiled via CMake. +// [pkg.Artifact] compiled via [CMake]. type CMakeAttr struct { // Path elements joined with source. Append []string // Use source tree as scratch space. Writable bool - // Dependencies concatenated with the build system itself. - Extra []pkg.Artifact // CMake CACHE entries. Cache [][2]string @@ -59,15 +57,16 @@ type CMakeAttr struct { // Override the default installation prefix [AbsSystem]. Prefix *check.Absolute - // Return an exclusive artifact. - Exclusive bool + // Passed through to [Toolchain.New]. + Flag int } -// NewViaCMake returns a [pkg.Artifact] for compiling and installing via CMake. +// NewViaCMake returns a [pkg.Artifact] for compiling and installing via [CMake]. func (t Toolchain) NewViaCMake( name, version, variant string, source pkg.Artifact, attr *CMakeAttr, + extra ...pkg.Artifact, ) pkg.Artifact { if name == "" || version == "" || variant == "" { panic("names must be non-empty") @@ -95,13 +94,8 @@ chmod -R +w "${ROSA_SOURCE}" prefix = AbsSystem } - var flag int - if attr.Exclusive { - flag |= TExclusive - } - sourcePath := AbsUsrSrc.Append(name) - return t.New(name+"-"+variant+"-"+version, flag, stage3Concat(t, attr.Extra, + return t.New(name+"-"+variant+"-"+version, attr.Flag, stage3Concat(t, extra, t.Load(CMake), t.Load(Ninja), ), nil, slices.Concat([]string{ -- cgit v1.3.1