made build system more agnostic to the projet it builds

This commit is contained in:
2026-07-27 15:16:39 -04:00
parent 0d6b196ce6
commit b196641f18
19 changed files with 1717 additions and 1404 deletions
+43 -55
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
@@ -14,15 +14,8 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="JulietApp.bff" />
<CustomBuild Include="main.cpp" />
<CustomBuild Include="main.h" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1dee51ca-6c94-4f93-bc2a-7f5284b7d434}</ProjectGuid>
<ProjectGuid>{1720427b-c8ba-3195-f931-e97f6d6125c1}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -30,72 +23,67 @@
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<LocalDebuggerCommand>$(SolutionDir)\bin\x64-$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<LocalDebuggerCommand>$(SolutionDir)\bin\x64-$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<LocalDebuggerCommand>$(SolutionDir)\bin\x64-$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat $(Configuration) $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean $(Configuration) $(SolutionName)</NMakeReBuildCommandLine>
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\x64-$(Configuration)\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)\Intermediate</IntDir>
<OutDir>$(SolutionDir)\bin</OutDir>
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat Debug $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Debug $(SolutionName)</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Debug $(SolutionName)</NMakeCleanCommandLine>
<NMakeOutput>$(SolutionDir)bin\x64-Debug\JulietApp.exe</NMakeOutput>
<NMakeIncludeSearchPath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<IncludePath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(IncludePath)</IncludePath>
<NMakePreprocessorDefinitions>JULIET_WIN32;UNICODE;_UNICODE;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;DEBUG;JULIET_DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<AdditionalOptions>/std:c++20</AdditionalOptions>
<LanguageStandard>stdcpp20</LanguageStandard>
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\x64-Debug\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)Intermediate\x64-Debug\JulietApp\</IntDir>
<OutDir>$(SolutionDir)bin\x64-Debug\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat $(Configuration) $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean $(Configuration) $(SolutionName)</NMakeReBuildCommandLine>
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\x64-$(Configuration)\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)\Intermediate</IntDir>
<OutDir>$(SolutionDir)\bin</OutDir>
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat Profile $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Profile $(SolutionName)</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Profile $(SolutionName)</NMakeCleanCommandLine>
<NMakeOutput>$(SolutionDir)bin\x64-Profile\JulietApp.exe</NMakeOutput>
<NMakeIncludeSearchPath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<IncludePath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(IncludePath)</IncludePath>
<NMakePreprocessorDefinitions>JULIET_WIN32;UNICODE;_UNICODE;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;RELEASE;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<AdditionalOptions>/std:c++20</AdditionalOptions>
<LanguageStandard>stdcpp20</LanguageStandard>
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\x64-Profile\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)Intermediate\x64-Profile\JulietApp\</IntDir>
<OutDir>$(SolutionDir)bin\x64-Profile\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat $(Configuration) $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean $(Configuration) $(SolutionName)</NMakeReBuildCommandLine>
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\x64-$(Configuration)\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)\Intermediate</IntDir>
<OutDir>$(SolutionDir)\bin</OutDir>
<NMakeBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat Release $(SolutionName)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Release $(SolutionName)</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>cd $(SolutionDir) &amp; misc\build.bat -clean Release $(SolutionName)</NMakeCleanCommandLine>
<NMakeOutput>$(SolutionDir)bin\x64-Release\JulietApp.exe</NMakeOutput>
<NMakeIncludeSearchPath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<IncludePath>$(SolutionDir)Juliet\include;$(SolutionDir)Juliet\src;$(SolutionDir)Game;$(SolutionDir)External\imgui;$(SolutionDir)External\imgui\backends;$(IncludePath)</IncludePath>
<NMakePreprocessorDefinitions>JULIET_WIN32;UNICODE;_UNICODE;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;RELEASE;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<AdditionalOptions>/std:c++20</AdditionalOptions>
<LanguageStandard>stdcpp20</LanguageStandard>
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\x64-Release\</LocalDebuggerWorkingDirectory>
<IntDir>$(SolutionDir)Intermediate\x64-Release\JulietApp\</IntDir>
<OutDir>$(SolutionDir)bin\x64-Release\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<BuildLog>
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
<BuildLog>
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<BuildLog>
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClInclude Include="main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Import Condition="'$(ConfigurationType)' == 'Makefile' and Exists('$(VCTargetsPath)\Platforms\$(Platform)\SCE.Makefile.$(Platform).targets')" Project="$(VCTargetsPath)\Platforms\$(Platform)\SCE.Makefile.$(Platform).targets" />
<Import Condition="'$(ConfigurationType)' == 'Makefile' and '$(AndroidAPILevel)' != '' and Exists('$(VCTargetsPath)\Application Type\$(ApplicationType)\$(ApplicationTypeRevision)\Android.Common.targets')" Project="$(VCTargetsPath)\Application Type\$(ApplicationType)\$(ApplicationTypeRevision)\Android.Common.targets" />
</Project>
</Project>
+5 -7
View File
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<CustomBuild Include="JulietApp.bff">
</CustomBuild>
<CustomBuild Include="main.cpp">
</CustomBuild>
<CustomBuild Include="main.h">
</CustomBuild>
</ItemGroup>
</Project>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClInclude Include="main.h" />
</ItemGroup>
</Project>