generate project for easy editing
This commit is contained in:
+55
-19
@@ -142,30 +142,26 @@ Settings
|
||||
#if __WINDOWS__
|
||||
.ProjectCommon =
|
||||
[
|
||||
.ProjectBuildCommand = 'cd ^$(SolutionDir) & misc\build.bat ^$(ProjectName)-^$(Configuration)'
|
||||
.ProjectRebuildCommand = 'cd ^$(SolutionDir) & misc\build.bat -clean ^$(ProjectName)-^$(Configuration)'
|
||||
.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 = '$VS_PlatformToolset$'
|
||||
.LocalDebuggerCommand = '^$(SolutionDir)\bin\^$(Configuration)\^$(ProjectName).exe'
|
||||
.LocalDebuggerWorkingDirectory = '^$(SolutionDir)\bin\^$(Configuration)\'
|
||||
.LocalDebuggerCommand = '^$(SolutionDir)\bin\x64-^$(Configuration)\^$(ProjectName).exe'
|
||||
.LocalDebuggerWorkingDirectory = '^$(SolutionDir)\bin\x64-^$(Configuration)\'
|
||||
]
|
||||
|
||||
.Project_x64_Debug = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Debug' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.Project_x64_Profile = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Profile' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.Project_x64_Release = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Release' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.Project_x64Clang_Debug = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64Clang' .SolutionConfig = 'Debug' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.Project_x64Clang_Profile = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64Clang' .SolutionConfig = 'Profile' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.Project_x64Clang_Release = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64Clang' .SolutionConfig = 'Release' .Config = '$SolutionPlatform$-$SolutionConfig$' ]
|
||||
.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
|
||||
//------------------------------------------------------------------------------
|
||||
#if __WINDOWS__
|
||||
.BuildConfigs = { .X64DebugConfig, .X64ProfileConfig, .X64ReleaseConfig
|
||||
.X64ClangDebugConfig, .X64ClangProfileConfig, .X64ClangReleaseConfig }
|
||||
.BuildConfigs = { .X64DebugConfig, .X64ProfileConfig, .X64ReleaseConfig }
|
||||
#endif
|
||||
|
||||
.Targets_x64_Debug = {}
|
||||
@@ -176,12 +172,29 @@ Settings
|
||||
.Targets_x64Clang_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
|
||||
|
||||
|
||||
// Aliases : All-$Platform$-$Config$
|
||||
@@ -254,13 +267,36 @@ ForEach( .Config in .Configs )
|
||||
Alias( '$Config$' ) { .Targets = { 'msvc-$Config$', 'clang-$Config$' } }
|
||||
}
|
||||
|
||||
// Generate solution
|
||||
VSSolution( 'GenerateSolution' )
|
||||
// Generate solutions
|
||||
VSSolution( 'JulietApp-Solution' )
|
||||
{
|
||||
.SolutionOutput = 'Juliet.sln'
|
||||
.SolutionProjects = { 'Juliet', 'Game', 'JulietApp', 'ImGui' }
|
||||
|
||||
.SolutionConfigs = .ProjectConfigs
|
||||
.SolutionOutput = 'Juliet.sln'
|
||||
.SolutionProjects = { 'JulietApp', 'Juliet', 'Game', 'ImGui' }
|
||||
.SolutionConfigs = .ProjectConfigs_JulietApp
|
||||
.SolutionBuildProject = 'JulietApp'
|
||||
}
|
||||
Alias( 'gen' ) { .Targets = 'GenerateSolution' }
|
||||
|
||||
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'
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user