@echo off if "%1"=="docs" ( cd manual doxygen.exe cd .. .\build\manual\latex\make.bat MOVE build\manual\latex\refman.pdf manual\OpenBooks_Manual.pdf exit ) REM Find the latest Visual Studio installation path for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -property installationPath`) do ( set VSPath=%%i ) if not defined VSPath ( echo Visual Studio not found. exit /b 1 ) set VCVARSALL=%VSPath%\VC\Auxiliary\Build\vcvarsall.bat if not exist "%VCVARSALL%" ( echo vcvarsall.bat not found at "%VCVARSALL%" exit /b 1 ) for /f "delims=" %%i in ('git rev-parse --short HEAD') do set COMMIT_ID=%%i call "%VCVARSALL%" x64 @set OUT_DIR=build\\ @set OUT_EXE=accounting set LIB_SOURCES=libs\imgui-1.92.1\backends\imgui_impl_dx11.cpp^ libs\imgui-1.92.1\backends\imgui_impl_win32.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 @set SOURCES= src\*.cpp src\ui\*.cpp src\locales\*.cpp src\ai_providers\*.cpp @set LIBS=opengl32.lib Advapi32.lib Shell32.lib Ole32.lib User32.lib Pathcch.lib D3D11.lib Comdlg32.lib Kernel32.lib /LIBPATH:"libs/openssl-3.6.0-beta1/x64/lib" libssl.lib libcrypto.lib @set FLAGS=/nologo /Ob0 /MD /Oy- /Zi /FS /W4 /EHsc /utf-8 /F16000000 @set INCLUDE_DIRS=/I"libs/imgui-1.92.1" /I"libs/imgui-1.92.1/backends" /I"/" /I"libs/openssl-3.6.0-beta1/x64/include" /I"libs/cpp-httplib" /I"libs/timer_lib" /I"libs/greatest" /I"libs/simclist-1.5" /I"libs/tinyfiledialogs" /I"libs/zip/src" /I"libs/xml.c/src" /I"libs/" /Iinclude @set DEFINITIONS=/D_BUILD_DATE_=\"%date%\" /D_COMMIT_=\"%COMMIT_ID%\" /D_PLATFORM_=\"win64\" /D_CRT_SECURE_NO_WARNINGS if "%1"=="-t" @set 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\ai_providers\*.cpp src\importer.cpp src\memops.cpp src\countries.cpp if "%1"=="-t" @set OUT_EXE=accounting_tests cl %FLAGS% %INCLUDE_DIRS% %DEFINITIONS% %SOURCES% %LIB_SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fd%OUT_DIR%/vc140.pdb /Fo%OUT_DIR%/ /link %LIBS% if "%1"=="-r" call "%OUT_DIR%/%OUT_EXE%.exe" C:\Users\aldri\Desktop\Vault\Projects\accounting\build\example.openbook if "%1"=="-t" call "%OUT_DIR%/%OUT_EXE%.exe" -v if "%1"=="-d" call devenv "%OUT_DIR%/%OUT_EXE%.exe" if "%1"=="-l" call drmemory.exe -leaks_only -brief -batch -- "%OUT_DIR%/%OUT_EXE%.exe" C:\Users\aldri\Desktop\Vault\Projects\accounting\build\example.openbook