#!/bin/bash # Set environment variables OUT_DIR="build" OUT_EXE="OpenBooks" LIB_SOURCES=$(find libs -type f \( -name "*.cpp" -o -name "*.c" \)) SOURCES="src/*.cpp src/ui/*.cpp src/locales/*.cpp src/providers/*.cpp" LIBS="-lstdc++ -lglfw -lGL -lm -lssl -lcrypto" FLAGS="-Wall -Wno-changes-meaning -Wno-write-strings -Wno-attributes -Wno-unused-variable -fpermissive -Wno-format-zero-length -ggdb" INCLUDE_DIRS="-Ilibs/imgui-1.92.1 \ -Ilibs/imgui-1.92.1/backends \ -Ilibs/openssl-3.6.0-beta1/x64/include \ -Ilibs/cpp-httplib \ -Ilibs/timer_lib \ -Ilibs/greatest \ -Ilibs/simclist-1.5 \ -Ilibs/tinyfiledialogs \ -Ilibs/zip/src \ -Ilibs/xml.c/src \ -Ilibs/ \ -Iinclude" DATE=$(date +"%d/%m/%Y") DEFINITIONS="-D_DATE_=\"$DATE\"" # Check for test flag if [ "$1" == "-t" ]; then SOURCES="tests/main.cpp src/administration.cpp src/administration_writer.cpp src/administration_reader.cpp src/strops.cpp src/logger.cpp src/locales.cpp src/locales/*.cpp src/providers/*.cpp src/importer.cpp src/memops.cpp src/countries.cpp" OUT_EXE="accounting_tests" DEFINITIONS="-D_TESTING_MODE_ -D_DATE_=$DATE" fi # Compilation command gcc $FLAGS $INCLUDE_DIRS $DEFINITIONS $SOURCES $LIB_SOURCES -o $OUT_DIR/$OUT_EXE $LIBS # Run commands based on input arguments if [ "$1" == "-r" ]; then "$OUT_DIR/$OUT_EXE" "/home/aldrik/Downloads/example.openbook" elif [ "$1" == "-t" ]; then "$OUT_DIR/$OUT_EXE" -v elif [ "$1" == "-d" ]; then gdb "$OUT_DIR/$OUT_EXE" fi