From af80bad87a627d1a09a55d75e7e006ca60c75ec9 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Wed, 27 Dec 2023 12:55:32 +0200 Subject: [PATCH] BuildSystem: Allow running custom version of cmake You can now set the environment variable CMAKE_COMMAND to use custom cmake version. --- README.md | 2 ++ script/build.sh | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b315c2170..bc4081e194 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ Each major component and library has its own subdirectory (kernel, userspace, li There does not exist a complete list of needed packages for building. From the top of my head I can say that *cmake*, *ninja*, *make*, *grub*, *rsync* and emulator (*qemu* or *bochs*) are needed. +You need cmake version of atleast 2.26. If you are using cmake that is not found from PATH, you can set the CMAKE\_COMMAND environment variable to point to the correct cmake binary. + To build the toolchain for this os. You can run the following command. > ***NOTE:*** The following step has to be done only once. This might take a long time since we are compiling binutils and gcc. ```sh diff --git a/script/build.sh b/script/build.sh index 38b0fae185..3f2118295d 100755 --- a/script/build.sh +++ b/script/build.sh @@ -14,7 +14,7 @@ make_build_dir () { mkdir -p $BANAN_BUILD_DIR cd $BANAN_BUILD_DIR if ! [[ -f "build.ninja" ]]; then - cmake --toolchain=$BANAN_TOOLCHAIN_DIR/Toolchain.txt -G Ninja $BANAN_ROOT_DIR + $CMAKE_COMMAND --toolchain=$BANAN_TOOLCHAIN_DIR/Toolchain.txt -G Ninja $BANAN_ROOT_DIR fi } @@ -66,6 +66,10 @@ if [[ $# -eq 0 ]]; then exit 1 fi +if [[ -z $CMAKE_COMMAND ]]; then + export CMAKE_COMMAND=cmake +fi + case $1 in toolchain) build_toolchain