DebugFast Win32 DebugFast x64 Debug Win32 Debug x64 ReleaseLTCG Win32 ReleaseLTCG x64 Release Win32 Release x64 {2f2a2b7b-60b3-478c-921e-3633b3c45c3f} {ed601289-ac1a-46b8-a8ed-17db9eb73423} {b56ce698-7300-4fa5-9609-942f1d05c5a2} {ee054e08-3799-4a59-a422-18259c105ffd} {868B98C8-65A1-494B-8346-250A73A48C0A} Win32Proj pse 10.0 StaticLibrary true v142 NotSet StaticLibrary true v142 NotSet StaticLibrary true v142 NotSet StaticLibrary true v142 NotSet StaticLibrary false v142 true NotSet StaticLibrary false v142 true NotSet StaticLibrary false v142 true NotSet StaticLibrary false v142 true NotSet true $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) true $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ true $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) true $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ false $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) false $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) false $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ $(ProjectName)-$(Platform)-$(Configuration) false $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ Level4 Disabled ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true ProgramDatabase $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true false stdcpp17 Windows true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib32-debug;%(AdditionalLibraryDirectories) Level4 Disabled ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true ProgramDatabase $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true false stdcpp17 Windows true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib64-debug;%(AdditionalLibraryDirectories) Level4 Disabled ENABLE_VOODOO=1;_ITERATOR_DEBUG_LEVEL=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUGFAST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true ProgramDatabase $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) Default true false stdcpp17 false Windows true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib32-debug;%(AdditionalLibraryDirectories) Level4 Disabled ENABLE_VOODOO=1;_ITERATOR_DEBUG_LEVEL=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUGFAST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true ProgramDatabase $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) Default true false stdcpp17 false Windows true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib64-debug;%(AdditionalLibraryDirectories) Level4 MaxSpeed true ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true false stdcpp17 Windows true true true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib32;%(AdditionalLibraryDirectories) Level4 MaxSpeed true ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true true stdcpp17 true Windows true true true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib32;%(AdditionalLibraryDirectories) Level4 MaxSpeed true ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true false stdcpp17 Windows true true true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib64;%(AdditionalLibraryDirectories) Level4 MaxSpeed true ENABLE_VOODOO=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) $(SolutionDir)dep\msvc\include;$(SolutionDir)dep\YBaseLib\Include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)src;%(AdditionalIncludeDirectories) true true stdcpp17 true Windows true true true SDL2.lib;SDL2main.lib;%(AdditionalDependencies) $(SolutionDir)dep\lib64;%(AdditionalLibraryDirectories) (); HashSet neededDirectories = new HashSet(); foreach( var item in ItemList ) { //solve bug e.g. Checkbox.cpp vs CheckBox.cpp var filename = item.GetMetadata("Filename").ToUpperInvariant(); //assign reused filenames to increasing numbers //assign previously unused filenames to 0 int assignment = 0; if(assignmentMap.TryGetValue(filename, out assignment)) assignmentMap[filename] = ++assignment; else assignmentMap[filename] = 0; var thisFileOutdir = Path.Combine(OutputDir,assignment.ToString()) + "/"; //take care it ends in / so /Fo knows it's a directory and not a filename item.SetMetadata( "ObjectFileName", thisFileOutdir ); } foreach(var needed in neededDirectories) System.IO.Directory.CreateDirectory(needed); OutputItemList = ItemList; ItemList = new Microsoft.Build.Framework.ITaskItem[0]; ]]> true