Files
Juliet/Game/Game.bff
Patedam 9510951aee Final port to fastbuild.
Support update of game.dll separately
Made some alias and stuff
still remains the shader compiler to add to the solution.
Solution is also generated by fbuild (nice)
2026-01-08 16:26:01 -05:00

89 lines
3.4 KiB
Plaintext

// Game - Lib/Dll
//------------------------------------------------------------------------------
{
.ProjectName = 'Game'
.ProjectPath = 'Game'
.GAME_DLL_NAME = '$ProjectName$'
#if exists( GAME_BUILD_ID )
{
#import GAME_BUILD_ID
^GAME_DLL_NAME + '-$GAME_BUILD_ID$'
}
#endif
// 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$-Objs-$Platform$-$BuildConfigName$' )
{
// Input (Unity)
.CompilerInputUnity = '$ProjectName$-Unity-$Platform$-$BuildConfigName$'
// Extra Compiler Options
.CompilerOptions + ' "-IJuliet/include"'
+ ' "-IGame"'
// + ' -DGAME_EXPORT' // I'm just always exporting anyway but just in case
#if __WINDOWS__
.CompilerOptions + ' -DJULIET_WIN32'
#endif
.CompilerOutputPath = '$OutputBase$/$ProjectPath$/'
}
DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' )
{
.Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$',
'Juliet-Lib-$Platform$-$BuildConfigName$' } // Link Juliet (Lib or Import Lib)
#if exists( GAME_DLL_NAME )
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$GAME_DLL_NAME$.dll'
#else
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll'
#endif
#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 = '$ProjectPath$/$ProjectName$.vcxproj'
.ProjectBasePath = '$ProjectPath$/'
.ProjectInputPaths = .ProjectBasePath
.ProjectConfigs = .ProjectConfigs
}
}