From c5af6850c26aa35cd0998b9cb43eacff92f690cb Mon Sep 17 00:00:00 2001 From: Patedam Date: Wed, 21 Jan 2026 19:04:53 -0500 Subject: [PATCH] Moved imgui bff to external folder and not in the submodule (oops) --- External/Imgui.bff | 78 ++++++++++++++++++++++++++++++++++++++++++++++ fbuild.bff | 2 +- 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 External/Imgui.bff diff --git a/External/Imgui.bff b/External/Imgui.bff new file mode 100644 index 0000000..2e7e937 --- /dev/null +++ b/External/Imgui.bff @@ -0,0 +1,78 @@ +// ImGui - DLL +//------------------------------------------------------------------------------ +{ + .ProjectName = 'ImGui' + .ProjectPath = 'External/imgui' + + // Library + //-------------------------------------------------------------------------- + ForEach( .BuildConfig in .BuildConfigs ) + { + Using( .BuildConfig ) + .OutputBase + '\$Platform$-$BuildConfigName$' + + // ObjectList (no Unity for external code) + //-------------------------------------------------------------------------- + ObjectList( '$ProjectName$-Objs-$Platform$-$BuildConfigName$' ) + { + // Core ImGui files + .CompilerInputFiles = { + '$ProjectPath$/imgui.cpp', + '$ProjectPath$/imgui_demo.cpp', + '$ProjectPath$/imgui_draw.cpp', + '$ProjectPath$/imgui_tables.cpp', + '$ProjectPath$/imgui_widgets.cpp', + // Backends + '$ProjectPath$/backends/imgui_impl_win32.cpp', + '$ProjectPath$/backends/imgui_impl_dx12.cpp' + } + + // Extra Compiler Options + .CompilerOptions + ' "-I$ProjectPath$"' + + ' "-I$ProjectPath$/backends"' + .CompilerOptions + ' -DIMGUI_API=__declspec(dllexport)' + + ' /wd4365' // signed/unsigned mismatch + + ' /wd5219' // implicit conversion to float + + ' -WX-' // disable warnings as errors for external code + + // Output + .CompilerOutputPath = '$OutputBase$/$ProjectName$/' + } + + // --- DLL BUILD --- + DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' ) + { + .Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$' } + + .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll' + + #if __WINDOWS__ + .LinkerOptions + ' /DLL' + .LinkerOptions + .CommonWinLibs + + .CRTLibs = .CRTLibs_Dynamic + If ( .BuildConfigName == 'Debug' ) + { + ^CRTLibs = .CRTLibs_DynamicDebug + } + .LinkerOptions + .CRTLibs + #endif + } + + Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Lib-$Platform$-$BuildConfigName$' } + ^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' } + + #if __WINDOWS__ + .ProjectConfig = [ Using( .'Project_$Platform$_$BuildConfigName$' ) .Target = '$ProjectName$-$Platform$-$BuildConfigName$' ] + ^ProjectConfigs + .ProjectConfig + #endif + } + + VCXProject( '$ProjectName$' ) + { + .ProjectOutput = 'External/$ProjectName$.vcxproj' + .ProjectBasePath = '$ProjectPath$/' + .ProjectInputPaths = .ProjectBasePath + .ProjectConfigs = .ProjectConfigs + } +} diff --git a/fbuild.bff b/fbuild.bff index 11ed39a..eefac59 100644 --- a/fbuild.bff +++ b/fbuild.bff @@ -176,7 +176,7 @@ Settings .Targets_x64Clang_Release = {} // Include all projects to build -#include "External/imgui/Imgui.bff" +#include "External/Imgui.bff" #include "Juliet/Juliet.bff" #include "Game/Game.bff" #include "JulietApp/JulietApp.Bff"