generate project for easy editing

This commit is contained in:
2026-07-23 12:37:47 -04:00
parent 9f698bcb7f
commit b17960b0e4
14 changed files with 312 additions and 1849 deletions
+6 -16
View File
@@ -2,8 +2,7 @@
.ProjectPath = 'JulietShaderCompiler'
// 1. Define the configurations and a container for the VS Project
.ShaderCompilerConfigs = { .X64ClangDebugConfig, .X64ClangReleaseConfig }
.ProjectConfigsShader = {}
.ShaderCompilerConfigs = { .X64DebugConfig, .X64ReleaseConfig }
.DXCSourcePath = '$ProjectPath$/DXShaderCompiler'
// 0. Single Unity generator target
@@ -81,30 +80,21 @@ ForEach( .BuildConfig in .ShaderCompilerConfigs )
.LocalDebuggerCommandArguments = '..\..\Assets\source\SolidColor.frag.hlsl -o ..\..\Assets\compiled\SolidColor.frag.dxil'
.Target = '$ProjectName$-$Config$'
.Target = '$ProjectName$-$Platform$-$BuildConfigName$'
]
^ProjectConfigsShader + .ConfigInfo
^ProjectConfigs + .ConfigInfo
#endif
}
// 4. Create the Project and Solution using the generated list
VCXProject( '$ProjectName$-Proj' )
// 4. Create the Project using the generated list
VCXProject( '$ProjectName$' )
{
.ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj'
.ProjectBasePath = '$ProjectPath$/'
.ProjectInputPaths = { .ProjectBasePath }
.ProjectConfigs = .ProjectConfigsShader
}
VSSolution( 'ShaderCompiler-Solution' )
{
.SolutionOutput = 'JulietShaderCompiler.sln'
.SolutionProjects = { '$ProjectName$-Proj' , 'Juliet' }
.SolutionConfigs = .ProjectConfigsShader
.SolutionBuildProject = '$ProjectName$-Proj'
.ProjectConfigs = .ProjectConfigs
}
// 5. Global Aliases
Alias( 'gen-shader' ) { .Targets = 'ShaderCompiler-Solution' }
Alias( 'shader' ) { .Targets = { '$ProjectName$-x64Clang-Release' } }
Alias( 'shader-debug' ) { .Targets = { '$ProjectName$-x64Clang-Debug', } }