aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-07 22:47:30 +0900
committerOphestra <cat@gensokyo.uk>2026-03-07 22:47:30 +0900
commitaf7a6180a1c30702d7185d31b1fa585c61b61a93 (patch)
tree99233e116185c21043be74bcd5adde7c3af11cf5
parent03b5c0e20a0448bdd8bac6d7504b135af703c169 (diff)
internal/rosa/cmake: optionally use makefile
This breaks the dependency loop in zlib. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/cmake.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 1efbc1a4..dbc4357b 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -128,6 +128,9 @@ type CMakeHelper struct {
Cache [][2]string
// Runs after install.
Script string
+
+ // Whether to generate Makefile instead.
+ Make bool
}
var _ Helper = new(CMakeHelper)
@@ -141,7 +144,10 @@ func (attr *CMakeHelper) name(name, version string) string {
}
// extra returns a hardcoded slice of [CMake] and [Ninja].
-func (*CMakeHelper) extra(int) []PArtifact {
+func (attr *CMakeHelper) extra(int) []PArtifact {
+ if attr != nil && attr.Make {
+ return []PArtifact{CMake, Make}
+ }
return []PArtifact{CMake, Ninja}
}
@@ -173,8 +179,13 @@ func (attr *CMakeHelper) script(name string) string {
panic("CACHE must be non-empty")
}
+ generate := "Ninja"
+ if attr.Make {
+ generate = "'Unix Makefiles'"
+ }
+
return `
-cmake -G Ninja \
+cmake -G ` + generate + ` \
-DCMAKE_C_COMPILER_TARGET="${ROSA_TRIPLE}" \
-DCMAKE_CXX_COMPILER_TARGET="${ROSA_TRIPLE}" \
-DCMAKE_ASM_COMPILER_TARGET="${ROSA_TRIPLE}" \