aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/build-preset.sh
diff options
context:
space:
mode:
authorSven Göthel <[email protected]>2024-08-08 17:19:44 +0200
committerSven Göthel <[email protected]>2024-08-08 17:19:44 +0200
commitb302ef0b1b78812e717eb45164221bbf4d05abd7 (patch)
treeb7cb50f1b70697c13af633ddc7413068d96754be /scripts/build-preset.sh
parentdbd631b893650fff4bade772d4c6b5f77d9236c5 (diff)
Update CMake Presets incl. build scripts using it now
Diffstat (limited to 'scripts/build-preset.sh')
-rwxr-xr-xscripts/build-preset.sh81
1 files changed, 81 insertions, 0 deletions
diff --git a/scripts/build-preset.sh b/scripts/build-preset.sh
new file mode 100755
index 0000000..c2f3fd7
--- /dev/null
+++ b/scripts/build-preset.sh
@@ -0,0 +1,81 @@
+#! /bin/sh
+
+sdir=`dirname $(readlink -f $0)`
+rootdir=`dirname $sdir`
+bname=`basename $0 .sh`
+
+. $sdir/setup-machine-arch.sh
+
+tripleid="$os_name-$archabi-gcc"
+
+if [ ! -z "$1" ] ; then
+ preset_name=$1
+ shift 1
+else
+ echo "ERROR: No preset passed as 1st argument, use one of:"
+ cmake --list-presets
+ return 1
+fi
+
+logfile=$rootdir/${bname}-${preset_name}-${tripleid}.log
+rm -f $logfile
+
+CPU_COUNT=`getconf _NPROCESSORS_ONLN`
+
+# run as root 'dpkg-reconfigure locales' enable 'en_US.UTF-8'
+# perhaps run as root 'update-locale LC_MEASUREMENT=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8'
+export LC_MEASUREMENT=en_US.UTF-8
+export LC_ALL=en_US.UTF-8
+export LANG=en_US.UTF-8
+
+buildit() {
+ if [ -z "$JAVA_HOME" -o ! -e "$JAVA_HOME" ] ; then
+ echo "WARNING: JAVA_HOME $JAVA_HOME does not exist"
+ else
+ echo JAVA_HOME $JAVA_HOME
+ fi
+ echo rootdir $rootdir
+ echo logfile $logfile
+ echo CPU_COUNT $CPU_COUNT
+
+ dist_dir="dist/preset-${preset_name}"
+ build_dir="build/preset-${preset_name}"
+ echo dist_dir $dist_dir
+ echo build_dir $build_dir
+
+ if [ -x /usr/bin/time ] ; then
+ time_cmd="time"
+ echo "time command available: ${time_cmd}"
+ else
+ time_cmd=""
+ echo "time command not available"
+ fi
+
+ cd $rootdir
+ rm -rf $dist_dir
+ mkdir -p $dist_dir
+ rm -rf $build_dir
+ mkdir -p $build_dir
+
+ cmake --preset ${preset_name}
+
+ # ${time_cmd} cmake --build --preset ${preset_name} --parallel $CPU_COUNT --target test install doc_jau
+ # ${time_cmd} cmake --build --preset ${preset_name} --parallel $CPU_COUNT
+ ${time_cmd} cmake --build --preset ${preset_name} --parallel $CPU_COUNT --target install
+ if [ $? -eq 0 ] ; then
+ echo "BUILD SUCCESS $bname $tripleid"
+ ${time_cmd} cmake --build --preset ${preset_name} --target test
+ if [ $? -eq 0 ] ; then
+ echo "TEST SUCCESS $bname $tripleid"
+ return 0
+ else
+ echo "TEST FAILURE $bname $tripleid"
+ return 1
+ fi
+ else
+ echo "BUILD FAILURE $bname $tripleid"
+ return 1
+ fi
+}
+
+buildit 2>&1 | tee $logfile