diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-03-07 22:47:30 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-03-07 22:47:30 +0900 |
| commit | af7a6180a1c30702d7185d31b1fa585c61b61a93 (patch) | |
| tree | 99233e116185c21043be74bcd5adde7c3af11cf5 | |
| parent | 03b5c0e20a0448bdd8bac6d7504b135af703c169 (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.go | 15 |
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}" \ |
