diff --git a/build.sh b/build.sh index 414cb63..7899bc1 100755 --- a/build.sh +++ b/build.sh @@ -1,23 +1,36 @@ #!/bin/bash +set -euo pipefail + +start_time=$(date +%s) + +finish() { + local exit_code=$? + local end_time=$(date +%s) + local duration=$((end_time - start_time)) + + if [ $exit_code -eq 0 ]; then + echo -e "[Complete]: Your Modularity Build Completed in ${duration}s!\nThe build should be located under Modularity within another folder called 'Build'" + else + echo "[!]: Your Modularity Build Failed after ${duration}s (exit code ${exit_code})." + fi + + exit $exit_code +} + +trap finish EXIT + +echo -e "================================\n Modularity - Native Linux Builder\n================================" + +git submodule update --init --recursive if [ -d "build" ]; then - echo ================================ - echo Modularity - VS 2026 Build - echo ================================ - git submodule update --init --recursive - echo "found existing!! Removing..." + echo -e "[i]: Oh! We found an existing build directory.\nRemoving existing folder..." rm -rf build/ - mkdir build - cd build - cmake .. - cmake --build . -- -j$(nproc) - cp -r ../Resources . - echo "Build Done!" -else - mkdir build - cd build - cmake .. - cmake --build . -- -j$(nproc) - cp -r ../Resources . - echo "Build Done!" -fi \ No newline at end of file + echo -e "[i]: Build Has been Removed\nContinuing build" +fi + +mkdir -p build +cd build +cmake .. +cmake --build . -- -j"$(nproc)" +cp -r ../Resources .