aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-30 03:16:06 +0900
committerOphestra <cat@gensokyo.uk>2026-10-30 03:16:06 +0900
commit5cc91d1dd81929fca78ae1accb55b539da6f4c3d (patch)
tree804f00868f7b63a10c976040cc49f907bc3e3af4 /internal/rosa
parentbfcf29d1061b0ea5502fac3aba890394ea8b38b1 (diff)
internal/rosa/cmake: set compiler flags on cross
This change also adds the --sysroot argument. CMake handles this already with other flags, but it is a nice to have, anyway, to hopefully handle some edge cases. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/cmake.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 47fe7268..049688e5 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -97,24 +97,25 @@ func (attr *CMakeHelper) script(t Toolchain, name string) string {
cache = append(cache, attr.Cache...)
var cross string
+ sysroot := Prefix + "/" + t.Arch()
if t.cross() {
cross = `
-DCMAKE_SYSTEM_NAME=Linux \
- -DCMAKE_SYSROOT=` + Prefix + `/` + t.arch + ` \
+ -DCMAKE_SYSROOT=` + sysroot + ` \
-DCMAKE_C_COMPILER=` + Prefix + `/bin/clang \
+ -DCMAKE_C_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \
-DCMAKE_CXX_COMPILER=` + Prefix + `/bin/clang++ \
- -DCMAKE_ASM_COMPILER=` + Prefix + `/bin/clang \`
+ -DCMAKE_CXX_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \
+ -DCMAKE_ASM_COMPILER=` + Prefix + `/bin/clang \
+ -DCMAKE_ASM_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \`
}
return `
cmake -G ` + generate + ` \
-Wno-author -Wno-unused-cli \` + cross + `
-DCMAKE_C_COMPILER_TARGET='` + target + `' \
- -DCMAKE_C_FLAGS='--target=` + target + `' \
-DCMAKE_CXX_COMPILER_TARGET='` + target + `' \
- -DCMAKE_CXX_FLAGS='--target=` + target + `' \
-DCMAKE_ASM_COMPILER_TARGET='` + target + `' \
- -DCMAKE_ASM_FLAGS='--target=` + target + `' \
-DCMAKE_INSTALL_LIBDIR=lib \
` + strings.Join(slices.Collect(func(yield func(string) bool) {
for _, v := range cache {