106 lines
3.8 KiB
Plaintext
106 lines
3.8 KiB
Plaintext
//------------------------------------------------------------------------------
|
|
// Settings
|
|
//------------------------------------------------------------------------------
|
|
Settings
|
|
{
|
|
.CachePath = 'C:\FASTBuild_Cache\' // Use a local SSD or network path
|
|
#if __WINDOWS__
|
|
#import TMP
|
|
.Environment = { "TMP=$TMP$",
|
|
"SystemRoot=C:\Windows" }
|
|
#endif
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Global Output Paths
|
|
//------------------------------------------------------------------------------
|
|
.BinPath = 'bin'
|
|
.OutputBase = 'Intermediate'
|
|
.CommonWinLibs = ' kernel32.lib user32.lib gdi32.lib dxguid.lib Ws2_32.lib dxgi.lib imm32.lib dwmapi.lib d3dcompiler.lib shell32.lib'
|
|
|
|
//------------------------------------------------------------------------------
|
|
// VisualStudio Project Generation
|
|
//------------------------------------------------------------------------------
|
|
#if __WINDOWS__
|
|
.ProjectCommon =
|
|
[
|
|
.ProjectBuildCommand = 'cd ^$(SolutionDir) & misc\build.bat ^$(Configuration) ^$(SolutionName)'
|
|
.ProjectRebuildCommand = 'cd ^$(SolutionDir) & misc\build.bat -clean ^$(Configuration) ^$(SolutionName)'
|
|
.OutputDirectory = '^$(SolutionDir)\bin'
|
|
.IntermediateDirectory = '^$(SolutionDir)\Intermediate'
|
|
.BuildLogFile = '^$(SolutionDir)\Intermediate\^$(ProjectName)-^$(Configuration).log'
|
|
.Platform = 'x64'
|
|
.PlatformToolset = 'v143'
|
|
.LocalDebuggerCommand = '^$(SolutionDir)\bin\x64-^$(Configuration)\^$(ProjectName).exe'
|
|
.LocalDebuggerWorkingDirectory = '^$(SolutionDir)\bin\x64-^$(Configuration)\'
|
|
]
|
|
|
|
.Project_x64_Debug = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Debug' .Config = 'Debug' ]
|
|
.Project_x64_Profile = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Profile' .Config = 'Profile' ]
|
|
.Project_x64_Release = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Release' .Config = 'Release' ]
|
|
#endif
|
|
|
|
// Configurations
|
|
//------------------------------------------------------------------------------
|
|
.BuildConfigs = { 'Debug', 'Profile', 'Release' }
|
|
|
|
// Include all projects to build
|
|
.ProjectConfigs = {}
|
|
#include "External/Imgui.bff"
|
|
.ProjectConfigs_ImGui = .ProjectConfigs
|
|
|
|
.ProjectConfigs = {}
|
|
#include "Juliet/Juliet.bff"
|
|
.ProjectConfigs_Juliet = .ProjectConfigs
|
|
|
|
.ProjectConfigs = {}
|
|
#include "Game/Game.bff"
|
|
.ProjectConfigs_Game = .ProjectConfigs
|
|
|
|
.ProjectConfigs = {}
|
|
#include "JulietApp/JulietApp.Bff"
|
|
.ProjectConfigs_JulietApp = .ProjectConfigs
|
|
|
|
.ProjectConfigs = {}
|
|
#include "JulietShaderCompiler/JulietShaderCompiler.Bff"
|
|
.ProjectConfigs_JulietShaderCompiler = .ProjectConfigs
|
|
|
|
.ProjectConfigs = {}
|
|
#include "Romeo/Romeo.bff"
|
|
.ProjectConfigs_Romeo = .ProjectConfigs
|
|
|
|
|
|
// Generate solutions
|
|
VSSolution( 'JulietApp-Solution' )
|
|
{
|
|
.SolutionOutput = 'Juliet.sln'
|
|
.SolutionProjects = { 'JulietApp', 'Juliet', 'Game', 'ImGui' }
|
|
.SolutionConfigs = .ProjectConfigs_JulietApp
|
|
.SolutionBuildProject = 'JulietApp'
|
|
}
|
|
|
|
VSSolution( 'Romeo-Solution' )
|
|
{
|
|
.SolutionOutput = 'Romeo.sln'
|
|
.SolutionProjects = { 'Romeo', 'Juliet', 'ImGui' }
|
|
.SolutionConfigs = .ProjectConfigs_Romeo
|
|
.SolutionBuildProject = 'Romeo'
|
|
}
|
|
|
|
VSSolution( 'ShaderCompiler-Solution' )
|
|
{
|
|
.SolutionOutput = 'JulietShaderCompiler.sln'
|
|
.SolutionProjects = { 'JulietShaderCompiler', 'Juliet', 'ImGui' }
|
|
.SolutionConfigs = .ProjectConfigs_JulietShaderCompiler
|
|
.SolutionBuildProject = 'JulietShaderCompiler'
|
|
}
|
|
|
|
Alias( 'gen' )
|
|
{
|
|
.Targets = {
|
|
'JulietApp-Solution',
|
|
'Romeo-Solution',
|
|
'ShaderCompiler-Solution'
|
|
}
|
|
}
|