// 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 } }