Installer works on Linux via command line script build.sh. Based on legacy projects needs refactoring. (./build.sh 0.0.3 linux GenericQtClient org.working_copy.genericQtClient)

This commit is contained in:
2025-10-29 11:09:04 +01:00
parent 0acc36454c
commit fc083f527a
12 changed files with 360 additions and 3 deletions

59
installer/compile-executable.sh Executable file
View File

@ -0,0 +1,59 @@
#!/bin/bash
echo amount of arguments: $#
if [[ $# -ne 4 ]]; then
echo "Build script has to be called with exactly two arguments."
echo "The version number (Major.Minor.Patch) as its first argument."
echo "... and the OS (linux, windows or macos) as the second argument"
echo "TODO: DOCUMENT ARGUMENTS 3 & 4!!!"
echo "Aborting..."
exit 1
fi
VERSION=$1
regex='^([0-9]+\.){0,2}(\*|[0-9]+)$'
if [[ $VERSION =~ $regex ]]; then
echo "Version accepted: $VERSION"
else
echo "Version '$VERSION' is not acceptable. Aborting..."
exit 1
fi
PLATFORM=$2
# TODO refactor this to use something like PLATFORMS.contains(PLATFORM)
if [[ $PLATFORM == linux ]]; then
echo "OS: $PLATFORM"
#QMAKE_EXE="qmake"
COMPILER_EXE="make"
elif [[ $PLATFORM == windows ]]; then
echo "OS: $PLATFORM"
#QMAKE_EXE="$QMAKE_LOCATION/qmake"
#COMPILER_EXE="$MINGWROOT/bin/mingw32-make"
elif [[ $PLATFORM == macos ]]; then
echo "OS: $PLATFORM"
#QMAKE_EXE="qmake"
COMPILER_EXE="make"
else
echo "Platform '$PLATFORM' is not acceptable. Aborting..."
exit 1
fi
echo "Starting build ..."
OLD_PWD=$(pwd)
BUILD_DIR="_build"
echo "starting in: ${OLD_PWD}"
# if [[ -e $BUILD_DIR/$TARGET ]]; then
# echo "old build dir has old content, cleaning the build directory..."
# rm -r $BUILD_DIR/*
# fi
cd $BUILD_DIR
echo "Building in $(pwd) ..."
echo "Building whole project..."
echo "Running CMake..."
cmake -DCMAKE_BUILD_TYPE=Release ../../
echo "Compiling..."
$COMPILER_EXE