Need : Dll for game and lib to do hot reload Need : static for release only Way to compile only julietapp only shader app, only juliet.dll and game.dll
102 lines
4.2 KiB
Plaintext
102 lines
4.2 KiB
Plaintext
// Juliet - Lib
|
|
//------------------------------------------------------------------------------
|
|
{
|
|
.ProjectName = 'JulietApp'
|
|
.ProjectPath = 'JulietApp'
|
|
.JulietIncludePath = ' "-IJuliet/include"'
|
|
.ProjectDefPath = '$_WORKING_DIR_$/$ProjectName$/$ProjectName$.def'
|
|
|
|
// Library
|
|
//--------------------------------------------------------------------------
|
|
.ProjectConfigs = {}
|
|
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 = '$OutputBase$/$ProjectPath$/JulietApp$ExeExtension$'
|
|
|
|
// TODO : Only use when using DLL and not static link
|
|
//.LinkerOptions + ' /DEF:"$ProjectDefPath$"'
|
|
|
|
#if __WINDOWS__
|
|
.LinkerOptions + ' /SUBSYSTEM:CONSOLE'
|
|
+ ' kernel32.lib'
|
|
+ ' user32.lib'
|
|
|
|
+ ' gdi32.lib'
|
|
|
|
+ ' dxguid.lib'
|
|
+ ' Ws2_32.lib'
|
|
+ ' dxgi.lib'
|
|
//+ .CRTLibs_Static
|
|
|
|
// 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
|
|
}
|
|
} |