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)
101 lines
4.0 KiB
Plaintext
101 lines
4.0 KiB
Plaintext
// Juliet - Lib
|
|
//------------------------------------------------------------------------------
|
|
{
|
|
.ProjectName = 'JulietApp'
|
|
.ProjectPath = 'JulietApp'
|
|
.JulietIncludePath = ' "-IJuliet/include"'
|
|
.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$'
|
|
}
|
|
|
|
.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$-$Platform$-$BuildConfigName$' ]
|
|
^ProjectConfigs + .ProjectConfig
|
|
#endif
|
|
}
|
|
|
|
VCXProject( '$ProjectName$' )
|
|
{
|
|
.ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj'
|
|
.ProjectBasePath = '$ProjectPath$/'
|
|
.ProjectInputPaths = .ProjectBasePath
|
|
.ProjectConfigs = .ProjectConfigs
|
|
}
|
|
} |