#!/bin/bash # Set environment variables OUT_DIR="build" OUT_EXE="accounting" LIB_SOURCES="libs/imgui-1.92.1/backends/imgui_impl_glfw.cpp \ libs/imgui-1.92.1/backends/imgui_impl_opengl2.cpp \ libs/imgui-1.92.1/imgui*.cpp \ libs/simclist-1.5/simclist.c \ libs/ImGuiDatePicker/*.cpp \ libs/zip/src/*.c \ libs/xml.c/src/*.c \ libs/timer_lib/*.c \ libs/tinyfiledialogs/tinyfiledialogs.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" DEFINITIONS="-D_PLATFORM_=\"linux64\"" # 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_PLATFORM_=\"linux64\" -D_TESTING_MODE_" 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