From af7a6180a1c30702d7185d31b1fa585c61b61a93 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 7 Mar 2026 22:47:30 +0900 Subject: [PATCH] internal/rosa/cmake: optionally use makefile This breaks the dependency loop in zlib. Signed-off-by: Ophestra --- internal/rosa/cmake.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go index 1efbc1a..dbc4357 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}" \