Files
Juliet/JulietApp/JulietApp.bff
Patedam 891c404889 Added debug renderer + imgui renderer
All code made by gemini with some help
2026-01-20 22:46:10 -05:00

111 lines
4.2 KiB
Plaintext

// Juliet - Lib
//------------------------------------------------------------------------------
{
.ProjectName = 'JulietApp'
.ProjectPath = 'JulietApp'
.JulietIncludePath = ' "-IJuliet/include"'
+ ' "-IJuliet/src"'
+ ' "-IExternal/imgui"'
.ProjectDefPath = '$_WORKING_DIR_$/$ProjectName$/$ProjectName$.def'
// Library
//--------------------------------------------------------------------------
ForEach( .BuildConfig in .BuildConfigs )
{
Using( .BuildConfig )
.OutputBase + '\$Platform$-$BuildConfigName$'
// Unity
//--------------------------------------------------------------------------
Unity( '$ProjectName$-Unity-$Platform$-$BuildConfigName$' )
{
.UnityInputPath = '$ProjectPath$/'
.UnityOutputPath = '$OutputBase$/$ProjectPath$/'
.UnityOutputPattern = '$ProjectName$_Unity*.cpp'
}
// Library
//--------------------------------------------------------------------------
ObjectList( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' )
{
// Input (Unity)
.CompilerInputUnity = '$ProjectName$-Unity-$Platform$-$BuildConfigName$'
// Extra Compiler Options
.CompilerOptions + .JulietIncludePath
#if __WINDOWS__
.CompilerOptions + ' -DJULIET_WIN32'
#endif
// Output
.CompilerOutputPath = '$OutputBase$/$ProjectPath$/'
}
// Windows Manifest
//--------------------------------------------------------------------------
#if __WINDOWS__
.ManifestFile = '$OutputBase$/$ProjectPath$/$ProjectName$$ExeExtension$.manifest.tmp'
//CreateManifest( '$ProjectName$-Manifest-$Platform$-$BuildConfigName$'
// .ManifestFile )
#endif
// Executable
//--------------------------------------------------------------------------
Executable( '$ProjectName$-Exe-$Platform$-$BuildConfigName$' )
{
.Libraries = {
'JulietApp-Lib-$Platform$-$BuildConfigName$',
'Juliet-Lib-$Platform$-$BuildConfigName$',
'Game-Lib-$Platform$-$BuildConfigName$',
'ImGui-Lib-$Platform$-$BuildConfigName$'
}
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$$ExeExtension$'
// TODO : Only use when using DLL and not static link
//.LinkerOptions + ' /DEF:"$ProjectDefPath$"'
#if __WINDOWS__
.LinkerOptions + .CommonWinLibs
// Chose appropriate CRT
.CRTLibs = .CRTLibs_Dynamic
If ( .BuildConfigName == 'Debug' )
{
^CRTLibs = .CRTLibs_DynamicDebug
}
.LinkerOptions + .CRTLibs
// Manifest
.LinkerAssemblyResources = .ManifestFile
.LinkerOptions + ' /MANIFEST:EMBED'
// + ' /MANIFESTINPUT:%3'
#endif
}
Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Exe-$Platform$-$BuildConfigName$' }
^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' }
#if __WINDOWS__
.ProjectConfig =
[
Using( .'Project_$Platform$_$BuildConfigName$' )
.Target = '$ProjectName$-$Config$'
]
^ProjectConfigs + .ProjectConfig
#endif
}
VCXProject( '$ProjectName$' )
{
.ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj'
.ProjectBasePath = '$ProjectPath$/'
.ProjectInputPaths = .ProjectBasePath
.ProjectConfigs = .ProjectConfigs
}
}