1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 22:57:44 +00:00

Build: Support non-i686 toolchains

* Add SERENITY_ARCH option to CMake for selecting the target toolchain
* Port all build scripts but continue to use i686
* Update GitHub Actions cache to include BuildIt.sh
This commit is contained in:
meme 2020-12-28 22:38:52 -05:00 committed by Andreas Kling
parent 8ca0e8325a
commit 23b23cee5a
12 changed files with 43 additions and 202 deletions

View file

@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.0)
project(serenity)
set(CMAKE_CXX_STANDARD 20)
set(SERENITY_ARCH "i686" CACHE STRING "Target architecture for SerenityOS.")
file(GLOB_RECURSE AK_SOURCES "serenity/AK/*.cpp")
file(GLOB_RECURSE APPLICATIONS_SOURCES "serenity/Applications/*.cpp")
file(GLOB_RECURSE BASE_SOURCES "serenity/Base/*.cpp")
@ -26,7 +28,7 @@ set(INCLUDE_DIRS
"serenity/Libraries/LibPthread"
"serenity/Libraries/LibM"
"serenity/Services"
"serenity/Toolchain/Local/i686-pc-serenity/include/c++/10.2.0"
"serenity/Toolchain/Local/${SERENITY_ARCH}/${SERENITY_ARCH}-pc-serenity/include/c++/10.2.0"
"serenity/Build/Services"
"serenity/Build/Libraries")

View file

@ -33,7 +33,7 @@ umask 0022
printf "installing base system... "
$CP -PdR "$SERENITY_ROOT"/Base/* mnt/
$CP "$SERENITY_ROOT"/Toolchain/Local/i686-pc-serenity/lib/libgcc_s.so mnt/usr/lib/
$CP "$SERENITY_ROOT"/Toolchain/Local/i686/i686-pc-serenity/lib/libgcc_s.so mnt/usr/lib/
$CP -PdR Root/* mnt/
# If umask was 027 or similar when the repo was cloned,
# file permissions in Base/ are too restrictive. Restore