diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-10-30 03:16:06 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-10-30 03:16:06 +0900 |
| commit | 5cc91d1dd81929fca78ae1accb55b539da6f4c3d (patch) | |
| tree | 804f00868f7b63a10c976040cc49f907bc3e3af4 /internal/rosa | |
| parent | bfcf29d1061b0ea5502fac3aba890394ea8b38b1 (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.go | 11 |
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 { |
