Reworked config mapping rules for sln files. This should now be more flexible.

This commit is contained in:
Andrei Borodin 2020-01-08 12:01:47 -08:00
Родитель ba5d5cbddd
Коммит ead15348a3
3 изменённых файлов: 398 добавлений и 183 удалений

Просмотреть файл

@ -70,8 +70,15 @@ Global
Release|WSA = Release|WSA
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|Android.ActiveCfg = Debug|Android
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|iOS.ActiveCfg = Debug|iOS
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Debug|WSA.ActiveCfg = Debug|WSA
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|Android.ActiveCfg = InEditor|Android
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|Android.Build.0 = InEditor|Android
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|iOS.ActiveCfg = InEditor|iOS
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|iOS.Build.0 = InEditor|iOS
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -81,13 +88,27 @@ Global
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|WSA.ActiveCfg = InEditor|WSA
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.InEditor|WSA.Build.0 = InEditor|WSA
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|Android.ActiveCfg = Player|Android
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|Any CPU.ActiveCfg = Player|Any CPU
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|iOS.ActiveCfg = Player|iOS
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|WindowsStandalone64.ActiveCfg = Player|WindowsStandalone64
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|WSA.ActiveCfg = Player|WSA
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Player|WSA.Build.0 = Player|WSA
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|Android.ActiveCfg = Release|Android
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|iOS.ActiveCfg = Release|iOS
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{BB41A40A-FD6B-AD74-0865-83AB52977BDC}.Release|WSA.ActiveCfg = Release|WSA
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|Android.ActiveCfg = Debug|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|iOS.ActiveCfg = Debug|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Debug|WSA.ActiveCfg = Debug|WSA
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|Android.ActiveCfg = InEditor|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|Android.Build.0 = InEditor|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|iOS.ActiveCfg = InEditor|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|iOS.Build.0 = InEditor|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -98,6 +119,7 @@ Global
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.InEditor|WSA.Build.0 = InEditor|WSA
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|Android.ActiveCfg = Player|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|Android.Build.0 = Player|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|Any CPU.ActiveCfg = Player|Any CPU
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|iOS.ActiveCfg = Player|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|iOS.Build.0 = Player|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
@ -106,8 +128,21 @@ Global
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|WindowsStandalone64.Build.0 = Player|WindowsStandalone64
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|WSA.ActiveCfg = Player|WSA
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Player|WSA.Build.0 = Player|WSA
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|Android.ActiveCfg = Release|Android
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|iOS.ActiveCfg = Release|iOS
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{6055BE8E-BEFD-69E4-8B49-212B09B47B2F}.Release|WSA.ActiveCfg = Release|WSA
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|Android.ActiveCfg = Debug|Android
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|iOS.ActiveCfg = Debug|iOS
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Debug|WSA.ActiveCfg = Debug|WSA
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|Android.ActiveCfg = InEditor|Android
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|Android.Build.0 = InEditor|Android
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|iOS.ActiveCfg = InEditor|iOS
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|iOS.Build.0 = InEditor|iOS
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -117,12 +152,26 @@ Global
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|WSA.ActiveCfg = InEditor|WSA
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.InEditor|WSA.Build.0 = InEditor|WSA
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|Android.ActiveCfg = Player|Android
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|Any CPU.ActiveCfg = Player|Any CPU
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|iOS.ActiveCfg = Player|iOS
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|WindowsStandalone64.ActiveCfg = Player|WindowsStandalone64
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Player|WSA.ActiveCfg = Player|WSA
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|Android.ActiveCfg = Release|Android
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|iOS.ActiveCfg = Release|iOS
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{15A615C7-33AA-2409-09FE-0B28B0D5143C}.Release|WSA.ActiveCfg = Release|WSA
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|Android.ActiveCfg = Debug|Android
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|iOS.ActiveCfg = Debug|iOS
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Debug|WSA.ActiveCfg = Debug|WSA
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|Android.ActiveCfg = InEditor|Android
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|Android.Build.0 = InEditor|Android
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|iOS.ActiveCfg = InEditor|iOS
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|iOS.Build.0 = InEditor|iOS
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -132,12 +181,26 @@ Global
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|WSA.ActiveCfg = InEditor|WSA
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.InEditor|WSA.Build.0 = InEditor|WSA
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|Android.ActiveCfg = Player|Android
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|Any CPU.ActiveCfg = Player|Any CPU
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|iOS.ActiveCfg = Player|iOS
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|WindowsStandalone64.ActiveCfg = Player|WindowsStandalone64
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Player|WSA.ActiveCfg = Player|WSA
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|Android.ActiveCfg = Release|Android
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|iOS.ActiveCfg = Release|iOS
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{645165C8-1694-74BF-BBEB-8FB0BCFD26F5}.Release|WSA.ActiveCfg = Release|WSA
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|Android.ActiveCfg = Debug|Android
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|iOS.ActiveCfg = Debug|iOS
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Debug|WSA.ActiveCfg = Debug|WSA
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|Android.ActiveCfg = InEditor|Android
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|Android.Build.0 = InEditor|Android
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|iOS.ActiveCfg = InEditor|iOS
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|iOS.Build.0 = InEditor|iOS
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -147,12 +210,26 @@ Global
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|WSA.ActiveCfg = InEditor|WSA
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.InEditor|WSA.Build.0 = InEditor|WSA
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|Android.ActiveCfg = Player|Android
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|Any CPU.ActiveCfg = Player|Any CPU
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|iOS.ActiveCfg = Player|iOS
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|WindowsStandalone64.ActiveCfg = Player|WindowsStandalone64
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Player|WSA.ActiveCfg = Player|WSA
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|Android.ActiveCfg = Release|Android
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|iOS.ActiveCfg = Release|iOS
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{0DF1F49A-50F1-5354-5BF9-9E3DBB6674AD}.Release|WSA.ActiveCfg = Release|WSA
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|Android.ActiveCfg = Debug|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|iOS.ActiveCfg = Debug|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Debug|WSA.ActiveCfg = Debug|WSA
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|Android.ActiveCfg = InEditor|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|Android.Build.0 = InEditor|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|iOS.ActiveCfg = InEditor|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|iOS.Build.0 = InEditor|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -163,6 +240,7 @@ Global
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.InEditor|WSA.Build.0 = InEditor|WSA
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|Android.ActiveCfg = Player|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|Android.Build.0 = Player|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|Any CPU.ActiveCfg = Player|Any CPU
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|iOS.ActiveCfg = Player|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|iOS.Build.0 = Player|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
@ -171,8 +249,21 @@ Global
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|WindowsStandalone64.Build.0 = Player|WindowsStandalone64
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|WSA.ActiveCfg = Player|WSA
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Player|WSA.Build.0 = Player|WSA
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|Android.ActiveCfg = Release|Android
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|iOS.ActiveCfg = Release|iOS
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{0FDA7EBE-61AB-2164-383D-10E32EFB9C6E}.Release|WSA.ActiveCfg = Release|WSA
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|Android.ActiveCfg = Debug|Android
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|iOS.ActiveCfg = Debug|iOS
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{6546D776-5B41-65B4-0850-B3667F981C26}.Debug|WSA.ActiveCfg = Debug|WSA
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|Android.ActiveCfg = InEditor|Android
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|Android.Build.0 = InEditor|Android
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|iOS.ActiveCfg = InEditor|iOS
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|iOS.Build.0 = InEditor|iOS
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -182,12 +273,26 @@ Global
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|WSA.ActiveCfg = InEditor|WSA
{6546D776-5B41-65B4-0850-B3667F981C26}.InEditor|WSA.Build.0 = InEditor|WSA
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|Android.ActiveCfg = Player|Android
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|Any CPU.ActiveCfg = Player|Any CPU
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|iOS.ActiveCfg = Player|iOS
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|WindowsStandalone64.ActiveCfg = Player|WindowsStandalone64
{6546D776-5B41-65B4-0850-B3667F981C26}.Player|WSA.ActiveCfg = Player|WSA
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|Android.ActiveCfg = Release|Android
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|iOS.ActiveCfg = Release|iOS
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{6546D776-5B41-65B4-0850-B3667F981C26}.Release|WSA.ActiveCfg = Release|WSA
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|Android.ActiveCfg = Debug|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|iOS.ActiveCfg = Debug|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|WindowsStandalone32.ActiveCfg = Debug|WindowsStandalone32
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|WindowsStandalone64.ActiveCfg = Debug|WindowsStandalone64
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Debug|WSA.ActiveCfg = Debug|WSA
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|Android.ActiveCfg = InEditor|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|Android.Build.0 = InEditor|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|Any CPU.ActiveCfg = InEditor|Any CPU
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|iOS.ActiveCfg = InEditor|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|iOS.Build.0 = InEditor|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|WindowsStandalone32.ActiveCfg = InEditor|WindowsStandalone32
@ -198,6 +303,7 @@ Global
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.InEditor|WSA.Build.0 = InEditor|WSA
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|Android.ActiveCfg = Player|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|Android.Build.0 = Player|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|Any CPU.ActiveCfg = Player|Any CPU
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|iOS.ActiveCfg = Player|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|iOS.Build.0 = Player|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|WindowsStandalone32.ActiveCfg = Player|WindowsStandalone32
@ -206,122 +312,132 @@ Global
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|WindowsStandalone64.Build.0 = Player|WindowsStandalone64
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|WSA.ActiveCfg = Player|WSA
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Player|WSA.Build.0 = Player|WSA
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|Android.ActiveCfg = Release|Android
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|iOS.ActiveCfg = Release|iOS
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|WindowsStandalone32.ActiveCfg = Release|WindowsStandalone32
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|WindowsStandalone64.ActiveCfg = Release|WindowsStandalone64
{4989D6C6-D8B3-4556-B4A9-06093DED68AD}.Release|WSA.ActiveCfg = Release|WSA
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|Android.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|iOS.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|WindowsStandalone32.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|WindowsStandalone64.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Debug|WSA.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|Android.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|Android.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|Any CPU.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|iOS.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|iOS.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WindowsStandalone32.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WindowsStandalone32.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WindowsStandalone64.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WindowsStandalone64.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WSA.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.InEditor|WSA.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|Android.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|Android.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|Any CPU.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|iOS.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|iOS.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WindowsStandalone32.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WindowsStandalone32.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WindowsStandalone64.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WindowsStandalone64.Build.0 = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WSA.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Player|WSA.Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Android..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Android..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Any CPU..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Any CPU..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|iOS..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|iOS..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone32..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone32..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone64..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone64..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WSA..ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WSA..Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Android..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Android..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Any CPU..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Any CPU..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|iOS..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|iOS..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone32..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone32..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone64..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone64..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WSA..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WSA..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Android..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Android..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Any CPU..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Any CPU..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|iOS..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|iOS..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone32..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone32..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone64..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone64..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WSA..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WSA..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Android..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Android..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Any CPU..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Any CPU..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|iOS..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|iOS..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone32..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone32..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone64..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone64..Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WSA..ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WSA..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Android..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Android..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Any CPU..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Any CPU..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|iOS..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|iOS..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone32..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone32..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone64..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone64..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WSA..ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WSA..Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Android..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Android..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Any CPU..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Any CPU..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|iOS..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|iOS..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone32..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone32..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone64..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone64..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WSA..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WSA..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Android..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Android..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Any CPU..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Any CPU..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|iOS..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|iOS..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone32..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone32..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone64..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone64..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WSA..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WSA..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Android..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Android..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Any CPU..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Any CPU..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|iOS..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|iOS..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone32..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone32..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone64..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone64..Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WSA..ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WSA..Build.0 = Release|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|Android.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|iOS.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|WindowsStandalone32.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|WindowsStandalone64.ActiveCfg = Debug|Any CPU
{0D77AB82-D4EB-4034-AC54-4CA04D06906C}.Release|WSA.ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Android...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Android...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Any CPU...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|Any CPU...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|iOS...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|iOS...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone32...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone32...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone64...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WindowsStandalone64...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WSA...ActiveCfg = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Debug|WSA...Build.0 = Debug|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Android...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Android...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Any CPU...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|Any CPU...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|iOS...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|iOS...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone32...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone32...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone64...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WindowsStandalone64...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WSA...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.InEditor|WSA...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Android...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Android...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Any CPU...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|Any CPU...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|iOS...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|iOS...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone32...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone32...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone64...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WindowsStandalone64...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WSA...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Player|WSA...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Android...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Android...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Any CPU...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|Any CPU...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|iOS...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|iOS...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone32...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone32...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone64...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WindowsStandalone64...Build.0 = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WSA...ActiveCfg = Release|Any CPU
{D36DD91A-2347-4BE3-BDAD-E72898C014BA}.Release|WSA...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Android...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Android...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Any CPU...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|Any CPU...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|iOS...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|iOS...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone32...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone32...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone64...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WindowsStandalone64...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WSA...ActiveCfg = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Debug|WSA...Build.0 = Debug|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Android...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Android...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Any CPU...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|Any CPU...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|iOS...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|iOS...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone32...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone32...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone64...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WindowsStandalone64...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WSA...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.InEditor|WSA...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Android...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Android...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Any CPU...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|Any CPU...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|iOS...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|iOS...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone32...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone32...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone64...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WindowsStandalone64...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WSA...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Player|WSA...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Android...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Android...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Any CPU...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|Any CPU...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|iOS...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|iOS...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone32...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone32...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone64...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WindowsStandalone64...Build.0 = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WSA...ActiveCfg = Release|Any CPU
{06FDDF06-41BA-47F3-863F-E426A80C69A8}.Release|WSA...Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -234,8 +234,6 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
if (File.Exists(solutionFilePath))
{
TextSolutionFileParser.TryParseExistingSolutionFile(solutionFilePath, out solutionFileInfo);
File.Delete(solutionFilePath);
}
ITemplatePart rootTemplatePart = solutionFileTemplate.Root;
@ -259,10 +257,11 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
ProcessSolutionFolders(rootTemplatePart, rootReplacementSet, folderNestedItems, generatedItems, solutionFileInfo);
// Process Solution file configurations
ProcessSolutionConfigurationPlatform(unityProjectInfo, rootTemplatePart, rootReplacementSet, solutionFileInfo);
SortedDictionary<string, SortedSet<string>> configPlatformMap = GetSolutuonConfigurationPlatformMap(unityProjectInfo, solutionFileInfo);
ProcessSolutionConfigurationPlatform(rootTemplatePart, rootReplacementSet, configPlatformMap);
// Process Configurations Mappings
ProcessConfigPlatformMappings(unityProjectInfo, config, rootTemplatePart, rootReplacementSet, orderedProjects, generatedItems, solutionFileInfo);
ProcessConfigPlatformMappings(unityProjectInfo, config, rootTemplatePart, rootReplacementSet, orderedProjects, generatedItems, configPlatformMap, solutionFileInfo);
// Write Solution Properties
ITemplatePart solutionPropertiesTemplate = rootTemplatePart.Templates["SOLUTION_PROPERTIES"];
@ -289,6 +288,12 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
GenerateTopLevelDependenciesProject(unityProjectInfo, config.DependenciesProjectGuid);
// Delete before we write to minimize chance of just deleting in case above fails
if (File.Exists(solutionFilePath))
{
File.Delete(solutionFilePath);
}
solutionFileTemplate.Write(solutionFilePath, rootReplacementSet);
}
@ -305,34 +310,134 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
}
}
private void ProcessConfigPlatformMappings(UnityProjectInfo unityProjectInfo, MSBuildToolsConfig config, ITemplatePart rootTemplatePart, TemplateReplacementSet rootReplacementSet, List<CSProjectInfo> orderedProjects, HashSet<Guid> generatedItems, SolutionFileInfo solutionFileInfo)
private void ConfigurationTemplateReplace(ITemplatePart templatePart, TemplateReplacementSet replacementSet, Guid projectGuid, string slnConfiguration, string slnPlatform, string property, string projConfiguration, string projPlatform)
{
ITemplatePart configPlatformPropertyTemplate = rootTemplatePart.Templates["CONFIGURATION_PLATFORM_PROPERTY"];
foreach (CSProjectInfo project in orderedProjects.Select(t => t))
{
generatedItems.Add(project.Guid);
ProcessMappings(unityProjectInfo, configPlatformPropertyTemplate, rootReplacementSet, project.Guid, "InEditor", b => project.InEditorPlatforms.ContainsKey(b));
ProcessMappings(unityProjectInfo, configPlatformPropertyTemplate, rootReplacementSet, project.Guid, "Player", b => project.PlayerPlatforms.ContainsKey(b));
}
templatePart.Tokens["PROJECT_GUID"].AssignValue(replacementSet, projectGuid.ToString().ToUpper());
templatePart.Tokens["SOLUTION_CONFIGURATION"].AssignValue(replacementSet, slnConfiguration);
templatePart.Tokens["SOLUTION_PLATFORM"].AssignValue(replacementSet, slnPlatform);
templatePart.Tokens["PROPERTY"].AssignValue(replacementSet, property);
templatePart.Tokens["PROJECT_CONFIGURATION"].AssignValue(replacementSet, projConfiguration);
templatePart.Tokens["PROJECT_PLATFORM"].AssignValue(replacementSet, projPlatform);
}
generatedItems.Add(config.DependenciesProjectGuid);
// For dependencies project all mappings exist and are enabled but mapped to Debug|Any CPU by default
ProcessMappings(unityProjectInfo, configPlatformPropertyTemplate, rootReplacementSet, config.DependenciesProjectGuid, "InEditor", b => true, "Debug", "Any CPU");
ProcessMappings(unityProjectInfo, configPlatformPropertyTemplate, rootReplacementSet, config.DependenciesProjectGuid, "Player", b => true, "Debug", "Any CPU");
private class ProjectConfigurationMapping
{
private readonly Dictionary<ConfigPlatformPair, HashSet<string>> propertySet = new Dictionary<ConfigPlatformPair, HashSet<string>>();
if (solutionFileInfo != null)
public SortedDictionary<ConfigPlatformPair, ConfigPlatformPair> Mappings { get; } = new SortedDictionary<ConfigPlatformPair, ConfigPlatformPair>(ConfigPlatformPair.Comparer.Instance);
public HashSet<string> GetPropertySet(ConfigPlatformPair configPair)
{
foreach (ProjectConfigurationEntry item in solutionFileInfo.ProjectConfigurationEntires)
if (!propertySet.TryGetValue(configPair, out HashSet<string> set))
{
if (solutionFileInfo.Projects.ContainsKey(item.ProjectGuid))
propertySet.Add(configPair, set = new HashSet<string>());
}
return set;
}
}
private void ProcessMappings(ITemplatePart configPlatformPropertyTemplate, TemplateReplacementSet rootReplacementSet, IEnumerable<Guid> projectOrdering, Dictionary<Guid, ProjectConfigurationMapping> projectConfigMapping)
{
foreach (Guid projectGuid in projectOrdering)
{
ProjectConfigurationMapping mapping = projectConfigMapping[projectGuid];
foreach (KeyValuePair<ConfigPlatformPair, ConfigPlatformPair> configSet in mapping.Mappings)
{
foreach (string property in mapping.GetPropertySet(configSet.Key))
{
TemplateReplacementSet configMappingReplacementSet = configPlatformPropertyTemplate.CreateReplacementSet(rootReplacementSet);
ConfigurationTemplateReplace(configPlatformPropertyTemplate, configMappingReplacementSet, item.ProjectGuid, item.SolutionConfiguration, item.SolutionPlatform, item.Property, item.ProjectConfiguration, item.ProjectPlatform);
ConfigurationTemplateReplace(configPlatformPropertyTemplate, configMappingReplacementSet, projectGuid, configSet.Key.Configuration, configSet.Key.Platform, property, configSet.Value.Configuration, configSet.Value.Platform);
}
}
}
}
private void ProcessConfigPlatformMappings(UnityProjectInfo unityProjectInfo, MSBuildToolsConfig config, ITemplatePart rootTemplatePart, TemplateReplacementSet rootReplacementSet, List<CSProjectInfo> orderedProjects, HashSet<Guid> generatedItems, SortedDictionary<string, SortedSet<string>> configPlatformMap, SolutionFileInfo solutionFileInfo)
{
ITemplatePart configPlatformPropertyTemplate = rootTemplatePart.Templates["CONFIGURATION_PLATFORM_PROPERTY"];
List<Guid> projectOrdering = new List<Guid>();
Dictionary<Guid, ProjectConfigurationMapping> projectConfigMapping = new Dictionary<Guid, ProjectConfigurationMapping>();
void ProcessDefaultMappings(ProjectConfigurationMapping mapping, ConfigPlatformPair? projectConfigOverride = null)
{
// Process defaults
foreach (KeyValuePair<string, SortedSet<string>> pair in configPlatformMap)
{
foreach (string platform in pair.Value)
{
ConfigPlatformPair configPair = new ConfigPlatformPair(pair.Key, platform);
if (!mapping.Mappings.ContainsKey(configPair))
{
mapping.Mappings[configPair] = projectConfigOverride ?? configPair;
HashSet<string> set = mapping.GetPropertySet(configPair);
set.Add("ActiveCfg");
}
}
}
}
foreach (CSProjectInfo project in orderedProjects)
{
generatedItems.Add(project.Guid);
projectOrdering.Add(project.Guid);
ProjectConfigurationMapping mapping = new ProjectConfigurationMapping();
projectConfigMapping.Add(project.Guid, mapping);
void ProcessProjectPlatforms(string configuration, IReadOnlyDictionary<BuildTarget, CompilationPlatformInfo> platforms)
{
foreach (KeyValuePair<BuildTarget, CompilationPlatformInfo> pair in platforms)
{
ConfigPlatformPair configPair = new ConfigPlatformPair(configuration, pair.Value.Name);
mapping.Mappings[configPair] = configPair;
HashSet<string> set = mapping.GetPropertySet(configPair);
set.Add("ActiveCfg");
set.Add("Build.0");
}
}
ProcessProjectPlatforms("InEditor", project.InEditorPlatforms);
ProcessProjectPlatforms("Player", project.PlayerPlatforms);
ProcessDefaultMappings(mapping);
}
// TODO finish
generatedItems.Add(config.DependenciesProjectGuid);
projectOrdering.Add(config.DependenciesProjectGuid);
ProjectConfigurationMapping dependencyProjectMapping = new ProjectConfigurationMapping();
projectConfigMapping.Add(config.DependenciesProjectGuid, dependencyProjectMapping);
ProcessDefaultMappings(dependencyProjectMapping, new ConfigPlatformPair("Debug", "Any CPU"));
// Now process for projects not part of our list
if (solutionFileInfo != null)
{
foreach (KeyValuePair<Guid, List<ProjectConfigurationEntry>> pair in solutionFileInfo.ProjectConfigurationEntires)
{
if (solutionFileInfo.Projects.ContainsKey(pair.Key))
{
projectOrdering.Add(pair.Key);
ProjectConfigurationMapping mapping = new ProjectConfigurationMapping();
projectConfigMapping.Add(pair.Key, mapping);
foreach (ProjectConfigurationEntry item in pair.Value)
{
mapping.Mappings[item.SolutionConfig] = item.ProjectConfig;
mapping.GetPropertySet(item.SolutionConfig).Add(item.Property);
}
}
}
}
ProcessMappings(configPlatformPropertyTemplate, rootReplacementSet, projectOrdering, projectConfigMapping);
}
private void ProcessPropertiesSet(ITemplatePart solutionPropertiesTemplate, TemplateReplacementSet rootReplacementSet, Dictionary<string, string> propertySet, Dictionary<string, string> existingPropertySet)
{
void WriteSolutionProperty(string key, string value)
@ -359,20 +464,8 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
}
}
private void ProcessSolutionConfigurationPlatform(UnityProjectInfo unityProjectInfo, ITemplatePart rootTemplatePart, TemplateReplacementSet rootReplacementSet, SolutionFileInfo solutionFileInfo)
private SortedDictionary<string, SortedSet<string>> GetSolutuonConfigurationPlatformMap(UnityProjectInfo unityProjectInfo, SolutionFileInfo solutionFileInfo)
{
ITemplatePart configPlatformTemplate = rootTemplatePart.Templates["CONFIGURATION_PLATFORM"];
ITemplateToken configPlatform_ConfigurationToken = configPlatformTemplate.Tokens["CONFIGURATION"];
ITemplateToken configPlatform_PlatformToken = configPlatformTemplate.Tokens["PLATFORM"];
void WriteConfigPlatformMapping(string configValue, string platformValue)
{
TemplateReplacementSet replacementSet = configPlatformTemplate.CreateReplacementSet(rootReplacementSet);
configPlatform_ConfigurationToken.AssignValue(replacementSet, configValue);
configPlatform_PlatformToken.AssignValue(replacementSet, platformValue);
}
SortedDictionary<string, SortedSet<string>> configPlatformMap = new SortedDictionary<string, SortedSet<string>>();
void AddPairToMap(string configuration, string platform)
@ -399,6 +492,23 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
}
}
return configPlatformMap;
}
private void ProcessSolutionConfigurationPlatform(ITemplatePart rootTemplatePart, TemplateReplacementSet rootReplacementSet, SortedDictionary<string, SortedSet<string>> configPlatformMap)
{
ITemplatePart configPlatformTemplate = rootTemplatePart.Templates["CONFIGURATION_PLATFORM"];
ITemplateToken configPlatform_ConfigurationToken = configPlatformTemplate.Tokens["CONFIGURATION"];
ITemplateToken configPlatform_PlatformToken = configPlatformTemplate.Tokens["PLATFORM"];
void WriteConfigPlatformMapping(string configValue, string platformValue)
{
TemplateReplacementSet replacementSet = configPlatformTemplate.CreateReplacementSet(rootReplacementSet);
configPlatform_ConfigurationToken.AssignValue(replacementSet, configValue);
configPlatform_PlatformToken.AssignValue(replacementSet, platformValue);
}
foreach (KeyValuePair<string, SortedSet<string>> setPair in configPlatformMap)
{
foreach (string platform in setPair.Value)
@ -408,31 +518,6 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
}
}
private void ConfigurationTemplateReplace(ITemplatePart templatePart, TemplateReplacementSet replacementSet, Guid guid, string slnConfiguration, string slnPlatform, string property, string projConfiguration, string projPlatform)
{
templatePart.Tokens["PROJECT_GUID"].AssignValue(replacementSet, guid.ToString().ToUpper());
templatePart.Tokens["SOLUTION_CONFIGURATION"].AssignValue(replacementSet, slnConfiguration);
templatePart.Tokens["SOLUTION_PLATFORM"].AssignValue(replacementSet, slnPlatform);
templatePart.Tokens["PROPERTY"].AssignValue(replacementSet, property);
templatePart.Tokens["PROJECT_CONFIGURATION"].AssignValue(replacementSet, projConfiguration);
templatePart.Tokens["PROJECT_PLATFORM"].AssignValue(replacementSet, projPlatform);
}
private void ProcessMappings(UnityProjectInfo unityProjectInfo, ITemplatePart configPlatformPropertyTemplate, TemplateReplacementSet rootReplacementSet, Guid guid, string configuration, Func<BuildTarget, bool> isEnabledConfigFunc, string projConfigOverride = null, string projPlatformOverride = null)
{
foreach (CompilationPlatformInfo platform in unityProjectInfo.AvailablePlatforms)
{
TemplateReplacementSet configMappingReplacementSet = configPlatformPropertyTemplate.CreateReplacementSet(rootReplacementSet);
ConfigurationTemplateReplace(configPlatformPropertyTemplate, configMappingReplacementSet, guid, configuration, platform.Name, "ActiveCfg", projConfigOverride ?? configuration, projPlatformOverride ?? platform.Name);
if (isEnabledConfigFunc(platform.BuildTarget))
{
TemplateReplacementSet replacemetSet = configPlatformPropertyTemplate.CreateReplacementSet(rootReplacementSet);
ConfigurationTemplateReplace(configPlatformPropertyTemplate, replacemetSet, guid, configuration, platform.Name, "Build.0", projConfigOverride ?? configuration, projPlatformOverride ?? platform.Name);
}
}
}
private void ProcessProjects(UnityProjectInfo unityProjectInfo, MSBuildToolsConfig config, SolutionFileInfo solutionFileInfo, string solutionFilePath, ITemplatePart rootTemplatePart, TemplateReplacementSet rootReplacementSet, List<Tuple<CSProjectInfo, Guid, string>> folderNestedItems, List<CSProjectInfo> orderedProjects)
{
ITemplatePart projectTemplate = rootTemplatePart.Templates["PROJECT"];

Просмотреть файл

@ -38,7 +38,7 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
public Dictionary<string, string> SolutionNotes { get; set; }
public List<ProjectConfigurationEntry> ProjectConfigurationEntires { get; set; }
public Dictionary<Guid, List<ProjectConfigurationEntry>> ProjectConfigurationEntires { get; set; }
public HashSet<Guid> MSB4UGeneratedItems { get; set; }
}
@ -57,28 +57,39 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
public override bool Equals(object obj)
{
return obj is ConfigPlatformPair other && Equals(Configuration, other.Configuration) && Equals(Platform, other.Platform);
return obj is ConfigPlatformPair other
&& Equals(Configuration, other.Configuration)
&& Equals(Platform, other.Platform);
}
public override int GetHashCode()
{
return (Configuration?.GetHashCode() ?? 0) ^ (Platform?.GetHashCode() ?? 0);
return (Configuration?.GetHashCode() ?? 0)
^ (Platform?.GetHashCode() ?? 0);
}
internal struct Comparer : IComparer<ConfigPlatformPair>
{
internal static Comparer Instance { get; } = new Comparer();
public int Compare(ConfigPlatformPair x, ConfigPlatformPair y)
{
int results = string.Compare(x.Configuration, y.Configuration);
return results == 0
? string.Compare(x.Platform, y.Platform)
: results;
}
}
}
internal struct ProjectConfigurationEntry
{
public Guid ProjectGuid { get; set; }
public ConfigPlatformPair SolutionConfig { get; set; }
public string SolutionConfiguration { get; set; }
public string SolutionPlatform { get; set; }
public ConfigPlatformPair ProjectConfig { get; set; }
public string Property { get; set; }
public string ProjectConfiguration { get; set; }
public string ProjectPlatform { get; set; }
}
internal struct SolutionFileSection<T>
@ -133,7 +144,7 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
Dictionary<string, string> extensibilityGlobals = new Dictionary<string, string>();
Dictionary<string, string> solutionNotes = new Dictionary<string, string>();
Dictionary<Guid, Guid> childToParentNestedMapping = new Dictionary<Guid, Guid>();
List<ProjectConfigurationEntry> projectConfigurationEntries = new List<ProjectConfigurationEntry>();
Dictionary<Guid, List<ProjectConfigurationEntry>> projectConfigurationEntries = new Dictionary<Guid, List<ProjectConfigurationEntry>>();
HashSet<Guid> msb4uGeneratedItems = new HashSet<Guid>();
@ -207,14 +218,17 @@ namespace Microsoft.Build.Unity.ProjectGeneration.Exporters
// SAMPLE: {<PROJECT_GUID_TOKEN>}.<SOLUTION_CONFIGURATION_TOKEN>|<SOLUTION_PLATFORM_TOKEN>.Build.0 = <PROJECT_CONFIGURATION_TOKEN>|<PROJECT_PLATFORM_TOKEN>
string regex = @"{([^}]+)}\.([^\|]+)\|([^\.]+)([^\s]+)\s+=\s+([^\|]+)\|(.+)";
Match configMatch = Regex.Match(l, regex);
projectConfigurationEntries.Add(new ProjectConfigurationEntry()
Guid projectGuid = Guid.Parse(configMatch.Groups[1].Captures[0].Value);
if (!projectConfigurationEntries.TryGetValue(projectGuid, out List<ProjectConfigurationEntry> list))
{
ProjectGuid = Guid.Parse(configMatch.Groups[1].Captures[0].Value),
SolutionConfiguration = configMatch.Groups[2].Captures[0].Value,
SolutionPlatform = configMatch.Groups[3].Captures[0].Value,
Property = configMatch.Groups[4].Captures[0].Value,
ProjectConfiguration = configMatch.Groups[5].Captures[0].Value,
ProjectPlatform = configMatch.Groups[6].Captures[0].Value
projectConfigurationEntries.Add(projectGuid, list = new List<ProjectConfigurationEntry>());
}
list.Add(new ProjectConfigurationEntry()
{
SolutionConfig = new ConfigPlatformPair(configMatch.Groups[2].Captures[0].Value, configMatch.Groups[3].Captures[0].Value),
ProjectConfig = new ConfigPlatformPair(configMatch.Groups[5].Captures[0].Value, configMatch.Groups[6].Captures[0].Value),
Property = configMatch.Groups[4].Captures[0].Value
});
});
break;