summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rw-r--r--include/administration.hpp3
-rw-r--r--include/administration_reader.hpp2
-rw-r--r--include/config.hpp3
-rw-r--r--include/logger.hpp5
-rw-r--r--include/ui.hpp3
-rw-r--r--libs/ImGuiDatePicker/ImGuiDatePicker.cpp2
-rw-r--r--libs/ImGuiDatePicker/ImGuiDatePicker.hpp2
-rw-r--r--libs/imgui/LICENSE.txt (renamed from libs/imgui-1.92.1/LICENSE.txt)0
-rw-r--r--libs/imgui/backends/imgui_impl_glfw.cpp (renamed from libs/imgui-1.92.1/backends/imgui_impl_glfw.cpp)2
-rw-r--r--libs/imgui/backends/imgui_impl_glfw.h (renamed from libs/imgui-1.92.1/backends/imgui_impl_glfw.h)2
-rw-r--r--libs/imgui/backends/imgui_impl_opengl2.cpp (renamed from libs/imgui-1.92.1/backends/imgui_impl_opengl2.cpp)2
-rw-r--r--libs/imgui/backends/imgui_impl_opengl2.h (renamed from libs/imgui-1.92.1/backends/imgui_impl_opengl2.h)2
-rw-r--r--libs/imgui/imconfig.h (renamed from libs/imgui-1.92.1/imconfig.h)0
-rw-r--r--libs/imgui/imgui.cpp (renamed from libs/imgui-1.92.1/imgui.cpp)0
-rw-r--r--libs/imgui/imgui.h (renamed from libs/imgui-1.92.1/imgui.h)0
-rw-r--r--libs/imgui/imgui_demo.cpp (renamed from libs/imgui-1.92.1/imgui_demo.cpp)0
-rw-r--r--libs/imgui/imgui_draw.cpp (renamed from libs/imgui-1.92.1/imgui_draw.cpp)0
-rw-r--r--libs/imgui/imgui_internal.h (renamed from libs/imgui-1.92.1/imgui_internal.h)0
-rw-r--r--libs/imgui/imgui_tables.cpp (renamed from libs/imgui-1.92.1/imgui_tables.cpp)0
-rw-r--r--libs/imgui/imgui_widgets.cpp (renamed from libs/imgui-1.92.1/imgui_widgets.cpp)0
-rw-r--r--libs/imgui/imstb_rectpack.h (renamed from libs/imgui-1.92.1/imstb_rectpack.h)0
-rw-r--r--libs/imgui/imstb_textedit.h (renamed from libs/imgui-1.92.1/imstb_textedit.h)0
-rw-r--r--libs/imgui/imstb_truetype.h (renamed from libs/imgui-1.92.1/imstb_truetype.h)0
-rw-r--r--libs/imgui/misc/README.txt (renamed from libs/imgui-1.92.1/misc/README.txt)0
-rw-r--r--libs/imgui/misc/cpp/README.txt (renamed from libs/imgui-1.92.1/misc/cpp/README.txt)0
-rw-r--r--libs/imgui/misc/cpp/imgui_stdlib.cpp (renamed from libs/imgui-1.92.1/misc/cpp/imgui_stdlib.cpp)2
-rw-r--r--libs/imgui/misc/cpp/imgui_stdlib.h (renamed from libs/imgui-1.92.1/misc/cpp/imgui_stdlib.h)0
-rw-r--r--libs/imgui/misc/debuggers/README.txt (renamed from libs/imgui-1.92.1/misc/debuggers/README.txt)0
-rw-r--r--libs/imgui/misc/debuggers/imgui.gdb (renamed from libs/imgui-1.92.1/misc/debuggers/imgui.gdb)0
-rw-r--r--libs/imgui/misc/debuggers/imgui.natstepfilter (renamed from libs/imgui-1.92.1/misc/debuggers/imgui.natstepfilter)0
-rw-r--r--libs/imgui/misc/debuggers/imgui.natvis (renamed from libs/imgui-1.92.1/misc/debuggers/imgui.natvis)116
-rw-r--r--libs/imgui/misc/single_file/imgui_single_file.h (renamed from libs/imgui-1.92.1/misc/single_file/imgui_single_file.h)0
-rwxr-xr-xrun_linux64.sh23
-rw-r--r--src/administration.cpp2
-rw-r--r--src/administration_reader.cpp6
-rw-r--r--src/administration_writer.cpp10
-rw-r--r--src/exporter.cpp5
-rw-r--r--src/importer.cpp5
-rw-r--r--src/logger.cpp2
-rw-r--r--src/main_linux.cpp10
-rw-r--r--src/main_windows.cpp4
-rw-r--r--src/providers/DeepSeek.cpp3
-rw-r--r--src/providers/MailerSend.cpp2
-rw-r--r--src/providers/openAI.cpp6
-rw-r--r--src/ui/imgui_extensions.cpp18
-rw-r--r--src/ui/ui_contacts.cpp3
-rw-r--r--src/ui/ui_earnings.cpp2
-rw-r--r--src/ui/ui_expenses.cpp2
-rw-r--r--src/ui/ui_invoices.cpp2
-rw-r--r--src/ui/ui_log.cpp3
-rw-r--r--src/ui/ui_main.cpp5
-rw-r--r--src/ui/ui_projects.cpp3
-rw-r--r--src/ui/ui_setup.cpp11
-rw-r--r--src/ui/ui_tax.cpp2
-rw-r--r--tests/test_helper.cpp8
56 files changed, 150 insertions, 135 deletions
diff --git a/TODO b/TODO
index 17958f8..1aa0c8e 100644
--- a/TODO
+++ b/TODO
@@ -7,8 +7,6 @@ Fix:
Refactor:
- Refactor zip writing to be faster (Windows is slow)
-- remove run_windows64.bat
-- simplify run_linux64.sh, remove library paths from shell file and include path in .hpp
- fix all warnings from Wall
- load ttfs from memory, embed ttfs in binary
diff --git a/include/administration.hpp b/include/administration.hpp
index 2179301..2d6d621 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -16,8 +16,9 @@
#pragma once
+#include <simclist-1.5/simclist.h>
+
#include "config.hpp"
-#include "simclist.h"
#define MAX_LEN_SEQ_NUM 16
#define MAX_LEN_ID 16
diff --git a/include/administration_reader.hpp b/include/administration_reader.hpp
index 6a31a54..d48d52e 100644
--- a/include/administration_reader.hpp
+++ b/include/administration_reader.hpp
@@ -16,7 +16,7 @@
#pragma once
-#include <zip.h>
+#include <zip/src/zip.h>
namespace administration_reader {
diff --git a/include/config.hpp b/include/config.hpp
index 75932fd..7650e75 100644
--- a/include/config.hpp
+++ b/include/config.hpp
@@ -16,8 +16,9 @@
#pragma once
+#include <imgui/imgui.h>
+
#include "stdint.h"
-#include "imgui.h"
#define s8 int8_t
#define s16 int16_t
diff --git a/include/logger.hpp b/include/logger.hpp
index b191ecb..0f8d658 100644
--- a/include/logger.hpp
+++ b/include/logger.hpp
@@ -16,8 +16,9 @@
#pragma once
-#include "timer.h"
-#include "imgui.h"
+#include <imgui/imgui.h>
+#include <timer_lib/timer.h>
+
#include "config.hpp"
#include "administration.hpp"
diff --git a/include/ui.hpp b/include/ui.hpp
index 367ff7a..54d3e97 100644
--- a/include/ui.hpp
+++ b/include/ui.hpp
@@ -16,7 +16,8 @@
#pragma once
-#include "imgui.h"
+#include <imgui/imgui.h>
+
#include "exporter.hpp"
#include "administration.hpp"
diff --git a/libs/ImGuiDatePicker/ImGuiDatePicker.cpp b/libs/ImGuiDatePicker/ImGuiDatePicker.cpp
index f340b95..6bc4362 100644
--- a/libs/ImGuiDatePicker/ImGuiDatePicker.cpp
+++ b/libs/ImGuiDatePicker/ImGuiDatePicker.cpp
@@ -1,5 +1,5 @@
#include "ImGuiDatePicker.hpp"
-#include <imgui_internal.h>
+#include <imgui/imgui_internal.h>
#include <cstdint>
#include <chrono>
#include <vector>
diff --git a/libs/ImGuiDatePicker/ImGuiDatePicker.hpp b/libs/ImGuiDatePicker/ImGuiDatePicker.hpp
index 91ed569..e60eaa2 100644
--- a/libs/ImGuiDatePicker/ImGuiDatePicker.hpp
+++ b/libs/ImGuiDatePicker/ImGuiDatePicker.hpp
@@ -1,5 +1,5 @@
#pragma once
-#include <imgui.h>
+#include <imgui/imgui.h>
#include <string>
diff --git a/libs/imgui-1.92.1/LICENSE.txt b/libs/imgui/LICENSE.txt
index 00ae473..00ae473 100644
--- a/libs/imgui-1.92.1/LICENSE.txt
+++ b/libs/imgui/LICENSE.txt
diff --git a/libs/imgui-1.92.1/backends/imgui_impl_glfw.cpp b/libs/imgui/backends/imgui_impl_glfw.cpp
index 98e07ce..efb13b1 100644
--- a/libs/imgui-1.92.1/backends/imgui_impl_glfw.cpp
+++ b/libs/imgui/backends/imgui_impl_glfw.cpp
@@ -91,7 +91,7 @@
// 2017-08-25: Inputs: MousePos set to -FLT_MAX,-FLT_MAX when mouse is unavailable/missing (instead of -1,-1).
// 2016-10-15: Misc: Added a void* user_data parameter to Clipboard function handlers.
-#include "imgui.h"
+#include "imgui/imgui.h"
#ifndef IMGUI_DISABLE
#include "imgui_impl_glfw.h"
diff --git a/libs/imgui-1.92.1/backends/imgui_impl_glfw.h b/libs/imgui/backends/imgui_impl_glfw.h
index 80e2b55..8fa78dd 100644
--- a/libs/imgui-1.92.1/backends/imgui_impl_glfw.h
+++ b/libs/imgui/backends/imgui_impl_glfw.h
@@ -22,7 +22,7 @@
// - Introduction, links and more at the top of imgui.cpp
#pragma once
-#include "imgui.h" // IMGUI_IMPL_API
+#include "imgui/imgui.h" // IMGUI_IMPL_API
#ifndef IMGUI_DISABLE
struct GLFWwindow;
diff --git a/libs/imgui-1.92.1/backends/imgui_impl_opengl2.cpp b/libs/imgui/backends/imgui_impl_opengl2.cpp
index afcafe8..0645302 100644
--- a/libs/imgui-1.92.1/backends/imgui_impl_opengl2.cpp
+++ b/libs/imgui/backends/imgui_impl_opengl2.cpp
@@ -45,7 +45,7 @@
// 2016-09-10: OpenGL: Uploading font texture as RGBA32 to increase compatibility with users shaders (not ideal).
// 2016-09-05: OpenGL: Fixed save and restore of current scissor rectangle.
-#include "imgui.h"
+#include "imgui/imgui.h"
#ifndef IMGUI_DISABLE
#include "imgui_impl_opengl2.h"
#include <stdint.h> // intptr_t
diff --git a/libs/imgui-1.92.1/backends/imgui_impl_opengl2.h b/libs/imgui/backends/imgui_impl_opengl2.h
index 014a03a..bb5e70f 100644
--- a/libs/imgui-1.92.1/backends/imgui_impl_opengl2.h
+++ b/libs/imgui/backends/imgui_impl_opengl2.h
@@ -24,7 +24,7 @@
// The GL2 code is unable to reset attributes or even call e.g. "glUseProgram(0)" because they don't exist in that API.
#pragma once
-#include "imgui.h" // IMGUI_IMPL_API
+#include "imgui/imgui.h" // IMGUI_IMPL_API
#ifndef IMGUI_DISABLE
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
diff --git a/libs/imgui-1.92.1/imconfig.h b/libs/imgui/imconfig.h
index 4dab1b6..4dab1b6 100644
--- a/libs/imgui-1.92.1/imconfig.h
+++ b/libs/imgui/imconfig.h
diff --git a/libs/imgui-1.92.1/imgui.cpp b/libs/imgui/imgui.cpp
index dd13cc1..dd13cc1 100644
--- a/libs/imgui-1.92.1/imgui.cpp
+++ b/libs/imgui/imgui.cpp
diff --git a/libs/imgui-1.92.1/imgui.h b/libs/imgui/imgui.h
index ad874ab..ad874ab 100644
--- a/libs/imgui-1.92.1/imgui.h
+++ b/libs/imgui/imgui.h
diff --git a/libs/imgui-1.92.1/imgui_demo.cpp b/libs/imgui/imgui_demo.cpp
index 991676f..991676f 100644
--- a/libs/imgui-1.92.1/imgui_demo.cpp
+++ b/libs/imgui/imgui_demo.cpp
diff --git a/libs/imgui-1.92.1/imgui_draw.cpp b/libs/imgui/imgui_draw.cpp
index 4012826..4012826 100644
--- a/libs/imgui-1.92.1/imgui_draw.cpp
+++ b/libs/imgui/imgui_draw.cpp
diff --git a/libs/imgui-1.92.1/imgui_internal.h b/libs/imgui/imgui_internal.h
index ccb979b..ccb979b 100644
--- a/libs/imgui-1.92.1/imgui_internal.h
+++ b/libs/imgui/imgui_internal.h
diff --git a/libs/imgui-1.92.1/imgui_tables.cpp b/libs/imgui/imgui_tables.cpp
index 119fe7b..119fe7b 100644
--- a/libs/imgui-1.92.1/imgui_tables.cpp
+++ b/libs/imgui/imgui_tables.cpp
diff --git a/libs/imgui-1.92.1/imgui_widgets.cpp b/libs/imgui/imgui_widgets.cpp
index 501ec22..501ec22 100644
--- a/libs/imgui-1.92.1/imgui_widgets.cpp
+++ b/libs/imgui/imgui_widgets.cpp
diff --git a/libs/imgui-1.92.1/imstb_rectpack.h b/libs/imgui/imstb_rectpack.h
index f6917e7..f6917e7 100644
--- a/libs/imgui-1.92.1/imstb_rectpack.h
+++ b/libs/imgui/imstb_rectpack.h
diff --git a/libs/imgui-1.92.1/imstb_textedit.h b/libs/imgui/imstb_textedit.h
index 33eef70..33eef70 100644
--- a/libs/imgui-1.92.1/imstb_textedit.h
+++ b/libs/imgui/imstb_textedit.h
diff --git a/libs/imgui-1.92.1/imstb_truetype.h b/libs/imgui/imstb_truetype.h
index cf33289..cf33289 100644
--- a/libs/imgui-1.92.1/imstb_truetype.h
+++ b/libs/imgui/imstb_truetype.h
diff --git a/libs/imgui-1.92.1/misc/README.txt b/libs/imgui/misc/README.txt
index b4ce89f..b4ce89f 100644
--- a/libs/imgui-1.92.1/misc/README.txt
+++ b/libs/imgui/misc/README.txt
diff --git a/libs/imgui-1.92.1/misc/cpp/README.txt b/libs/imgui/misc/cpp/README.txt
index 17f0a3c..17f0a3c 100644
--- a/libs/imgui-1.92.1/misc/cpp/README.txt
+++ b/libs/imgui/misc/cpp/README.txt
diff --git a/libs/imgui-1.92.1/misc/cpp/imgui_stdlib.cpp b/libs/imgui/misc/cpp/imgui_stdlib.cpp
index c04d487..d54bb6f 100644
--- a/libs/imgui-1.92.1/misc/cpp/imgui_stdlib.cpp
+++ b/libs/imgui/misc/cpp/imgui_stdlib.cpp
@@ -7,7 +7,7 @@
// See more C++ related extension (fmt, RAII, syntaxis sugar) on Wiki:
// https://github.com/ocornut/imgui/wiki/Useful-Extensions#cness
-#include "imgui.h"
+#include "imgui/imgui.h"
#ifndef IMGUI_DISABLE
#include "imgui_stdlib.h"
diff --git a/libs/imgui-1.92.1/misc/cpp/imgui_stdlib.h b/libs/imgui/misc/cpp/imgui_stdlib.h
index 697fc34..697fc34 100644
--- a/libs/imgui-1.92.1/misc/cpp/imgui_stdlib.h
+++ b/libs/imgui/misc/cpp/imgui_stdlib.h
diff --git a/libs/imgui-1.92.1/misc/debuggers/README.txt b/libs/imgui/misc/debuggers/README.txt
index 3f4ba83..3f4ba83 100644
--- a/libs/imgui-1.92.1/misc/debuggers/README.txt
+++ b/libs/imgui/misc/debuggers/README.txt
diff --git a/libs/imgui-1.92.1/misc/debuggers/imgui.gdb b/libs/imgui/misc/debuggers/imgui.gdb
index 000ff6e..000ff6e 100644
--- a/libs/imgui-1.92.1/misc/debuggers/imgui.gdb
+++ b/libs/imgui/misc/debuggers/imgui.gdb
diff --git a/libs/imgui-1.92.1/misc/debuggers/imgui.natstepfilter b/libs/imgui/misc/debuggers/imgui.natstepfilter
index 6825c93..6825c93 100644
--- a/libs/imgui-1.92.1/misc/debuggers/imgui.natstepfilter
+++ b/libs/imgui/misc/debuggers/imgui.natstepfilter
diff --git a/libs/imgui-1.92.1/misc/debuggers/imgui.natvis b/libs/imgui/misc/debuggers/imgui.natvis
index 13b6360..ba9680b 100644
--- a/libs/imgui-1.92.1/misc/debuggers/imgui.natvis
+++ b/libs/imgui/misc/debuggers/imgui.natvis
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-.natvis file for Visual Studio debugger.
-Purpose: provide nicer views on data types used by Dear ImGui.
-
-To enable:
-* include file in your VS project (most recommended: not intrusive and always kept up to date!)
-* or copy in %USERPROFILE%\Documents\Visual Studio XXXX\Visualizers (current user)
-* or copy in %VsInstallDirectory%\Common7\Packages\Debugger\Visualizers (all users)
-
-More information at: https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2019
--->
-
-<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
-
-<Type Name="ImVector&lt;*&gt;">
- <DisplayString>{{Size={Size} Capacity={Capacity}}}</DisplayString>
- <Expand>
- <ArrayItems>
- <Size>Size</Size>
- <ValuePointer>Data</ValuePointer>
- </ArrayItems>
- </Expand>
-</Type>
-
-<Type Name="ImSpan&lt;*&gt;">
- <DisplayString>{{Size={DataEnd-Data} }}</DisplayString>
- <Expand>
- <ArrayItems>
- <Size>DataEnd-Data</Size>
- <ValuePointer>Data</ValuePointer>
- </ArrayItems>
- </Expand>
-</Type>
-
-<Type Name="ImVec2">
- <DisplayString>{{x={x,g} y={y,g}}}</DisplayString>
-</Type>
-
-<Type Name="ImVec4">
- <DisplayString>{{x={x,g} y={y,g} z={z,g} w={w,g}}}</DisplayString>
-</Type>
-
-<Type Name="ImRect">
- <DisplayString>{{Min=({Min.x,g} {Min.y,g}) Max=({Max.x,g} {Max.y,g}) Size=({Max.x-Min.x,g} {Max.y-Min.y,g})}}</DisplayString>
- <Expand>
- <Item Name="Min">Min</Item>
- <Item Name="Max">Max</Item>
- <Item Name="[Width]">Max.x - Min.x</Item>
- <Item Name="[Height]">Max.y - Min.y</Item>
- </Expand>
-</Type>
-
-<Type Name="ImGuiWindow">
- <DisplayString>{{Name {Name,s} Active {(Active||WasActive)?1:0,d} Child {(Flags &amp; 0x01000000)?1:0,d} Popup {(Flags &amp; 0x04000000)?1:0,d} Hidden {(Hidden)?1:0,d}}</DisplayString>
-</Type>
-
-</AutoVisualizer>
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+.natvis file for Visual Studio debugger.
+Purpose: provide nicer views on data types used by Dear ImGui.
+
+To enable:
+* include file in your VS project (most recommended: not intrusive and always kept up to date!)
+* or copy in %USERPROFILE%\Documents\Visual Studio XXXX\Visualizers (current user)
+* or copy in %VsInstallDirectory%\Common7\Packages\Debugger\Visualizers (all users)
+
+More information at: https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2019
+-->
+
+<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+
+<Type Name="ImVector&lt;*&gt;">
+ <DisplayString>{{Size={Size} Capacity={Capacity}}}</DisplayString>
+ <Expand>
+ <ArrayItems>
+ <Size>Size</Size>
+ <ValuePointer>Data</ValuePointer>
+ </ArrayItems>
+ </Expand>
+</Type>
+
+<Type Name="ImSpan&lt;*&gt;">
+ <DisplayString>{{Size={DataEnd-Data} }}</DisplayString>
+ <Expand>
+ <ArrayItems>
+ <Size>DataEnd-Data</Size>
+ <ValuePointer>Data</ValuePointer>
+ </ArrayItems>
+ </Expand>
+</Type>
+
+<Type Name="ImVec2">
+ <DisplayString>{{x={x,g} y={y,g}}}</DisplayString>
+</Type>
+
+<Type Name="ImVec4">
+ <DisplayString>{{x={x,g} y={y,g} z={z,g} w={w,g}}}</DisplayString>
+</Type>
+
+<Type Name="ImRect">
+ <DisplayString>{{Min=({Min.x,g} {Min.y,g}) Max=({Max.x,g} {Max.y,g}) Size=({Max.x-Min.x,g} {Max.y-Min.y,g})}}</DisplayString>
+ <Expand>
+ <Item Name="Min">Min</Item>
+ <Item Name="Max">Max</Item>
+ <Item Name="[Width]">Max.x - Min.x</Item>
+ <Item Name="[Height]">Max.y - Min.y</Item>
+ </Expand>
+</Type>
+
+<Type Name="ImGuiWindow">
+ <DisplayString>{{Name {Name,s} Active {(Active||WasActive)?1:0,d} Child {(Flags &amp; 0x01000000)?1:0,d} Popup {(Flags &amp; 0x04000000)?1:0,d} Hidden {(Hidden)?1:0,d}}</DisplayString>
+</Type>
+
+</AutoVisualizer>
diff --git a/libs/imgui-1.92.1/misc/single_file/imgui_single_file.h b/libs/imgui/misc/single_file/imgui_single_file.h
index 7ca31e0..7ca31e0 100644
--- a/libs/imgui-1.92.1/misc/single_file/imgui_single_file.h
+++ b/libs/imgui/misc/single_file/imgui_single_file.h
diff --git a/run_linux64.sh b/run_linux64.sh
index 33341b7..7f87d6c 100755
--- a/run_linux64.sh
+++ b/run_linux64.sh
@@ -1,30 +1,21 @@
#!/bin/bash
+DATE=$(date +"%d/%m/%Y")
-# Set environment variables
+# Output variables.
OUT_DIR="build"
OUT_EXE="OpenBooks"
+# Source and library files.
LIB_SOURCES=$(find libs -type f \( -name "*.cpp" -o -name "*.c" \))
+SOURCES=$(find src -type f \( -name "*.cpp" \) ! -path "src/countries/*")
-SOURCES="src/*.cpp src/ui/*.cpp src/locales/*.cpp src/providers/*.cpp"
+# Compiler flags.
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\""
+INCLUDE_DIRS="-Ilibs/openssl-3.6.0-beta1/x64/include -Ilibs/ -Iinclude"
+
# 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"
diff --git a/src/administration.cpp b/src/administration.cpp
index 9b0144e..f69ae9d 100644
--- a/src/administration.cpp
+++ b/src/administration.cpp
@@ -14,8 +14,8 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <assert.h>
#include <time.h>
+#include <assert.h>
#include "memops.hpp"
#include "logger.hpp"
diff --git a/src/administration_reader.cpp b/src/administration_reader.cpp
index 0b5c233..e481c10 100644
--- a/src/administration_reader.cpp
+++ b/src/administration_reader.cpp
@@ -14,9 +14,10 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <zip.h>
-#include <xml.h>
#include <time.h>
+#include <zip/src/zip.h>
+#include <xml.c/src/xml.h>
+#include <tinyfiledialogs/tinyfiledialogs.h>
#include "logger.hpp"
#include "strops.hpp"
@@ -24,7 +25,6 @@
#include "locales.hpp"
#include "administration_reader.hpp"
#include "administration_writer.hpp"
-#include "tinyfiledialogs.h"
bool administration_reader::open_new()
{
diff --git a/src/administration_writer.cpp b/src/administration_writer.cpp
index c1637f4..e0a6ae7 100644
--- a/src/administration_writer.cpp
+++ b/src/administration_writer.cpp
@@ -14,20 +14,20 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <zip.h>
-#include <xml.h>
#include <threads.h>
+#include <zip/src/zip.h>
+#include <xml.c/src/xml.h>
+#include <tinyfiledialogs/tinyfiledialogs.h>
+#include "ui.hpp"
#include "config.hpp"
#include "memops.hpp"
#include "logger.hpp"
-#include "ui.hpp"
#include "locales.hpp"
#include "strops.hpp"
+#include "file_templates.hpp"
#include "administration_reader.hpp"
#include "administration_writer.hpp"
-#include "tinyfiledialogs.h"
-#include "file_templates.hpp"
static mtx_t _save_file_mutex;
static bool _is_writing = false;
diff --git a/src/exporter.cpp b/src/exporter.cpp
index e296973..74c77c1 100644
--- a/src/exporter.cpp
+++ b/src/exporter.cpp
@@ -14,10 +14,11 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#define CPPHTTPLIB_OPENSSL_SUPPORT
+
#include <threads.h>
+#include <cpp-httplib/httplib.h>
-#define CPPHTTPLIB_OPENSSL_SUPPORT
-#include "httplib.h"
#include "logger.hpp"
#include "strops.hpp"
#include "memops.hpp"
diff --git a/src/importer.cpp b/src/importer.cpp
index 0ae0d79..fd3e90e 100644
--- a/src/importer.cpp
+++ b/src/importer.cpp
@@ -14,10 +14,11 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#define CPPHTTPLIB_OPENSSL_SUPPORT
+
#include <threads.h>
+#include <cpp-httplib/httplib.h>
-#define CPPHTTPLIB_OPENSSL_SUPPORT
-#include "httplib.h"
#include "logger.hpp"
#include "strops.hpp"
#include "memops.hpp"
diff --git a/src/logger.cpp b/src/logger.cpp
index e2c33e2..40fdfc8 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -15,8 +15,8 @@
*/
#include <time.h>
+#include <timer_lib/timer.h>
-#include "timer.h"
#include "memops.hpp"
#include "strops.hpp"
#include "logger.hpp"
diff --git a/src/main_linux.cpp b/src/main_linux.cpp
index 9e91f7c..5c36209 100644
--- a/src/main_linux.cpp
+++ b/src/main_linux.cpp
@@ -11,22 +11,22 @@
// **Prefer using the code in the example_glfw_opengl2/ folder**
// See imgui_impl_glfw.cpp for details.
-#include "imgui.h"
-#include "imgui_impl_glfw.h"
-#include "imgui_impl_opengl2.h"
+#include <imgui/imgui.h>
+#include <imgui/backends/imgui_impl_glfw.h>
+#include <imgui/backends/imgui_impl_opengl2.h>
#include <stdio.h>
#ifdef __APPLE__
#define GL_SILENCE_DEPRECATION
#endif
#include <GLFW/glfw3.h>
+#include <timer_lib/timer.h>
+#include <IconFontCppHeaders/IconsFontAwesome5.h>
-#include "timer.h"
#include "ui.hpp"
#include "administration.hpp"
#include "administration_writer.hpp"
#include "administration_reader.hpp"
-#include "IconFontCppHeaders/IconsFontAwesome5.h"
// [Win32] Our example includes a copy of glfw3.lib pre-compiled with VS2010 to maximize ease of testing and compatibility with old VS compilers.
// To link with VS2010-era libraries, VS2015+ requires linking with legacy_stdio_definitions.lib, which we do using this pragma.
diff --git a/src/main_windows.cpp b/src/main_windows.cpp
index 974949b..47c9a42 100644
--- a/src/main_windows.cpp
+++ b/src/main_windows.cpp
@@ -16,12 +16,12 @@
#ifdef win64
-#include "imgui.h"
+#include "imgui/imgui.h"
#include "imgui_impl_win32.h"
#include "imgui_impl_dx11.h"
#include <d3d11.h>
#include <tchar.h>
-#include "timer.h"
+#include "timer_lib/timer.h"
#include "ui.hpp"
#include "administration.hpp"
#include "administration_writer.hpp"
diff --git a/src/providers/DeepSeek.cpp b/src/providers/DeepSeek.cpp
index 8a5b42e..2fc73c9 100644
--- a/src/providers/DeepSeek.cpp
+++ b/src/providers/DeepSeek.cpp
@@ -15,7 +15,8 @@
*/
#define CPPHTTPLIB_OPENSSL_SUPPORT
-#include "httplib.h"
+#include <cpp-httplib/httplib.h>
+
#include "strops.hpp"
#include "memops.hpp"
#include "logger.hpp"
diff --git a/src/providers/MailerSend.cpp b/src/providers/MailerSend.cpp
index 122b7b2..ab07907 100644
--- a/src/providers/MailerSend.cpp
+++ b/src/providers/MailerSend.cpp
@@ -15,7 +15,7 @@
*/
#define CPPHTTPLIB_OPENSSL_SUPPORT
-#include "httplib.h"
+#include <cpp-httplib/httplib.h>
#include "memops.hpp"
#include "strops.hpp"
diff --git a/src/providers/openAI.cpp b/src/providers/openAI.cpp
index 6c60541..62a2ae8 100644
--- a/src/providers/openAI.cpp
+++ b/src/providers/openAI.cpp
@@ -14,10 +14,10 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <threads.h>
-
#define CPPHTTPLIB_OPENSSL_SUPPORT
-#include "httplib.h"
+
+#include <threads.h>
+#include <cpp-httplib/httplib.h>
#include "memops.hpp"
#include "strops.hpp"
diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp
index 4268746..b3fc748 100644
--- a/src/ui/imgui_extensions.cpp
+++ b/src/ui/imgui_extensions.cpp
@@ -1,4 +1,21 @@
+/*
+* Copyright (c) 2025 Aldrik Ramaekers <aldrik.ramaekers@gmail.com>
+*
+* Permission to use, copy, modify, and/or distribute this software for any
+* purpose with or without fee is hereby granted, provided that the above
+* copyright notice and this permission notice appear in all copies.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
#include <time.h>
+#include <tinyfiledialogs/tinyfiledialogs.h>
#include "ui.hpp"
#include "strops.hpp"
@@ -6,7 +23,6 @@
#include "config.hpp"
#include "locales.hpp"
#include "countries.hpp"
-#include "tinyfiledialogs.h"
#include "administration.hpp"
#include "administration_writer.hpp"
diff --git a/src/ui/ui_contacts.cpp b/src/ui/ui_contacts.cpp
index f3581dd..b1fa01b 100644
--- a/src/ui/ui_contacts.cpp
+++ b/src/ui/ui_contacts.cpp
@@ -14,8 +14,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
+
#include "ui.hpp"
-#include "imgui.h"
#include "strops.hpp"
#include "config.hpp"
#include "memops.hpp"
diff --git a/src/ui/ui_earnings.cpp b/src/ui/ui_earnings.cpp
index afe0210..b93bd75 100644
--- a/src/ui/ui_earnings.cpp
+++ b/src/ui/ui_earnings.cpp
@@ -14,9 +14,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
#include "ui.hpp"
-#include "imgui.h"
#include "memops.hpp"
#include "locales.hpp"
#include "administration.hpp"
diff --git a/src/ui/ui_expenses.cpp b/src/ui/ui_expenses.cpp
index 45a0646..1e74508 100644
--- a/src/ui/ui_expenses.cpp
+++ b/src/ui/ui_expenses.cpp
@@ -15,10 +15,10 @@
*/
#include <time.h>
+#include <imgui/imgui.h>
#include <ImGuiDatePicker/ImGuiDatePicker.hpp>
#include "ui.hpp"
-#include "imgui.h"
#include "memops.hpp"
#include "strops.hpp"
#include "locales.hpp"
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp
index 78e5b31..06f1456 100644
--- a/src/ui/ui_invoices.cpp
+++ b/src/ui/ui_invoices.cpp
@@ -15,10 +15,10 @@
*/
#include <time.h>
+#include <imgui/imgui.h>
#include <ImGuiDatePicker/ImGuiDatePicker.hpp>
#include "ui.hpp"
-#include "imgui.h"
#include "memops.hpp"
#include "config.hpp"
#include "strops.hpp"
diff --git a/src/ui/ui_log.cpp b/src/ui/ui_log.cpp
index 1f4aa84..08cb803 100644
--- a/src/ui/ui_log.cpp
+++ b/src/ui/ui_log.cpp
@@ -14,8 +14,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
+
#include "ui.hpp"
-#include "imgui.h"
#include "logger.hpp"
#include "locales.hpp"
diff --git a/src/ui/ui_main.cpp b/src/ui/ui_main.cpp
index ed6fbec..0fff65d 100644
--- a/src/ui/ui_main.cpp
+++ b/src/ui/ui_main.cpp
@@ -14,11 +14,12 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
+#include <tinyfiledialogs/tinyfiledialogs.h>
+
#include "ui.hpp"
-#include "imgui.h"
#include "administration.hpp"
#include "locales.hpp"
-#include "tinyfiledialogs.h"
#include "administration_writer.hpp"
#include "administration_reader.hpp"
diff --git a/src/ui/ui_projects.cpp b/src/ui/ui_projects.cpp
index b3241f4..a43cd9b 100644
--- a/src/ui/ui_projects.cpp
+++ b/src/ui/ui_projects.cpp
@@ -14,8 +14,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
+
#include "ui.hpp"
-#include "imgui.h"
#include "administration.hpp"
#include "administration_writer.hpp"
#include "locales.hpp"
diff --git a/src/ui/ui_setup.cpp b/src/ui/ui_setup.cpp
index 8693b60..069c336 100644
--- a/src/ui/ui_setup.cpp
+++ b/src/ui/ui_setup.cpp
@@ -14,19 +14,18 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <GLFW/glfw3.h>
+#include <imgui/imgui.h>
+#include <IconFontCppHeaders/IconsFontAwesome5.h>
+
#include "ui.hpp"
-#include "imgui.h"
#include "strops.hpp"
#include "config.hpp"
#include "locales.hpp"
#include "administration_writer.hpp"
#include "administration_reader.hpp"
-#include <GLFW/glfw3.h>
-
-#include "stb/stb_image.h"
-
-#include "IconFontCppHeaders/IconsFontAwesome5.h"
+#include <stb/stb_image.h>
int ui::load_image(const char* filename)
{
diff --git a/src/ui/ui_tax.cpp b/src/ui/ui_tax.cpp
index 1b1e374..f4176a6 100644
--- a/src/ui/ui_tax.cpp
+++ b/src/ui/ui_tax.cpp
@@ -14,9 +14,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <imgui/imgui.h>
#include "ui.hpp"
-#include "imgui.h"
#include "memops.hpp"
#include "strops.hpp"
#include "locales.hpp"
diff --git a/tests/test_helper.cpp b/tests/test_helper.cpp
index 11c7d21..d9d2335 100644
--- a/tests/test_helper.cpp
+++ b/tests/test_helper.cpp
@@ -1,7 +1,7 @@
-#include <zip.h>
-#include <xml.h>
-#include <greatest.h>
-#include <timer.h>
+#include <zip/src/zip.h>
+#include <xml.c/src/xml.h>
+#include <greatest/greatest.h>
+#include <timer_lib/timer.h>
#include "memops.hpp"
#include "strops.hpp"