Ver código fonte

Add Ninja as a optional CMake Generator

Ninja:
real	2m25.508s
user	9m52.981s
sys	0m32.548s

Without ninja:
real	8m38.425s
user	8m5.723s
sys	0m30.840s
disarray2077 3 anos atrás
pai
commit
2bedd687db
2 arquivos alterados com 14 adições e 4 exclusões
  1. 7 2
      bin/build.sh
  2. 7 2
      extern/llvm_build.sh

+ 7 - 2
bin/build.sh

@@ -7,6 +7,11 @@ ROOTPATH="$(dirname "$SCRIPTPATH")"
 echo Building from from $SCRIPTPATH
 cd $SCRIPTPATH
 
+USE_NINJA=""
+if command -v ninja >/dev/null 2>&1 ; then
+    USE_NINJA="-GNinja"
+fi
+
 # exit when any command fails
 set -e
 
@@ -35,10 +40,10 @@ if [ ! -d jbuild_d ]; then
 	mkdir jbuild
 fi
 cd jbuild_d
-cmake -DCMAKE_BUILD_TYPE=Debug ../
+cmake $USE_NINJA -DCMAKE_BUILD_TYPE=Debug ../
 cmake --build .
 cd ../jbuild
-cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../
+cmake $USE_NINJA -DCMAKE_BUILD_TYPE=RelWithDebInfo ../
 cmake --build .
 
 cd ../IDE/dist

+ 7 - 2
extern/llvm_build.sh

@@ -1,6 +1,11 @@
 #!/bin/bash
 set -e
 
+USE_NINJA=""
+if command -v ninja >/dev/null 2>&1 ; then
+    USE_NINJA="-GNinja"
+fi
+
 if [ ! -d llvm-project_13_0_1 ]; then
 	if [ -f llvm-13.0.1.src.tar.xz ]; then # if user downloaded llvm-13.0.1.src.tar.xz then use it instead
 		tar -xf llvm-13.0.1.src.tar.xz
@@ -17,7 +22,7 @@ fi
 
 if [ ! -d llvm_linux_13_0_1/bin ]; then
 	cd llvm_linux_13_0_1
-	cmake ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
+	cmake $USE_NINJA ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
 	cmake --build . -t $(cat ../llvm_targets.txt)
 	cd ..
 fi
@@ -28,7 +33,7 @@ fi
 
 if [ ! -d llvm_linux_rel_13_0_1/bin ]; then
 	cd llvm_linux_rel_13_0_1
-	cmake ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
+	cmake $USE_NINJA ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
 	cmake --build . -t $(cat ../llvm_targets.txt)
 	cd ..
 fi