From 9510951aeedc98ae7917f6d268ce7455d8ea5c5e Mon Sep 17 00:00:00 2001 From: Patedam Date: Thu, 8 Jan 2026 16:26:01 -0500 Subject: [PATCH] Final port to fastbuild. Support update of game.dll separately Made some alias and stuff still remains the shader compiler to add to the solution. Solution is also generated by fbuild (nice) --- External/SDK/Clang/Windows/Clang.bff | 4 +- External/SDK/VisualStudio/VS2022.bff | 48 +- External/SDK/Windows/Windows10SDK.bff | 4 +- Game/Game.bff | 54 +- Game/Game.vcxproj | 472 +++++++++--- Game/Game.vcxproj.filters | 31 +- Juliet.sln | 126 ++- Juliet/Juliet.bff | 39 +- Juliet/Juliet.vcxproj | 590 +++++++------- Juliet/Juliet.vcxproj.filters | 1022 ++++++++++++++++--------- Juliet/include/pch.h | 16 - JulietApp/JulietApp.bff | 23 +- JulietApp/JulietApp.vcxproj | 706 ++++++++++++----- JulietApp/JulietApp.vcxproj.filters | 36 +- JulietApp/main.cpp | 8 +- fbuild.bff | 100 +-- misc/build_game.bat | 48 +- 17 files changed, 2204 insertions(+), 1123 deletions(-) delete mode 100644 Juliet/include/pch.h diff --git a/External/SDK/Clang/Windows/Clang.bff b/External/SDK/Clang/Windows/Clang.bff index bc5ca41..39aaa4f 100644 --- a/External/SDK/Clang/Windows/Clang.bff +++ b/External/SDK/Clang/Windows/Clang.bff @@ -102,8 +102,8 @@ Compiler( 'Compiler-Clang19-NonCL' ) // Librarian .Librarian = '$Clang19_BasePath$\bin\llvm-ar.exe' - .LibrarianOptions = '/c echo %1 > %2' // 'rc "%2" "%1"' // NOTE: output must come first - + .LibrarianOptions = 'rc "%2" "%1"' // NOTE: output must come first + // = '/c echo %1 > %2' // Debug options // Linker .Linker = '$Clang19_BasePath$\bin\lld-link.exe' .LinkerOptions = '/NODEFAULTLIB /WX /NOLOGO /INCREMENTAL:NO /OUT:"%2" "%1" /DEBUG' diff --git a/External/SDK/VisualStudio/VS2022.bff b/External/SDK/VisualStudio/VS2022.bff index ee13134..dad3d15 100644 --- a/External/SDK/VisualStudio/VS2022.bff +++ b/External/SDK/VisualStudio/VS2022.bff @@ -72,20 +72,20 @@ Compiler( 'Compiler-VS2022-x64' ) { .Root = '$VS2022_ToolchainPath$/bin/Hostx64/x64' .Executable = '$Root$/cl.exe' - .ExtraFiles = { '$Root$/c1.dll' + .ExtraFiles = { '$Root$/c1.dll', '$Root$/c1xx.dll', '$Root$/c2.dll', - '$Root$/msobj140.dll' - '$Root$/mspdb140.dll' - '$Root$/mspdbcore.dll' - '$Root$/mspdbsrv.exe' - '$Root$/mspft140.dll' - '$Root$/msvcp140.dll' - '$Root$/msvcp140_atomic_wait.dll' // Required circa 16.8.3 (14.28.29333) - '$Root$/tbbmalloc.dll' // Required as of 16.2 (14.22.27905) - '$Root$/vcruntime140.dll' - '$Root$/vcruntime140_1.dll' // Required as of 16.5.1 (14.25.28610) - '$Root$/1033/clui.dll' + '$Root$/msobj140.dll', + '$Root$/mspdb140.dll', + '$Root$/mspdbcore.dll', + '$Root$/mspdbsrv.exe', + '$Root$/mspft140.dll', + '$Root$/msvcp140.dll', + '$Root$/msvcp140_atomic_wait.dll', // Required circa 16.8.3 (14.28.29333) + '$Root$/tbbmalloc.dll', // Required as of 16.2 (14.22.27905) + '$Root$/vcruntime140.dll', + '$Root$/vcruntime140_1.dll', // Required as of 16.5.1 (14.25.28610) + '$Root$/1033/clui.dll', '$Root$/1033/mspft140ui.dll' // Localized messages for static analysis } #if MSVC_DYNAMIC_DEOPT_AVAILABLE @@ -103,20 +103,20 @@ Compiler( 'Compiler-VS2022-ARM64' ) { .Root = '$VS2022_ToolchainPath$/bin/Hostx64/arm64' .Executable = '$Root$/cl.exe' - .ExtraFiles = { '$Root$/c1.dll' + .ExtraFiles = { '$Root$/c1.dll', '$Root$/c1xx.dll', '$Root$/c2.dll', - '$Root$/msobj140.dll' - '$Root$/mspdb140.dll' - '$Root$/mspdbcore.dll' - '$Root$/mspdbsrv.exe' - '$Root$/mspft140.dll' - '$Root$/msvcp140.dll' - '$Root$/msvcp140_atomic_wait.dll' // Required circa 16.8.3 (14.28.29333) - '$Root$/tbbmalloc.dll' // Required as of 16.2 (14.22.27905) - '$Root$/vcruntime140.dll' - '$Root$/vcruntime140_1.dll' // Required as of 16.5.1 (14.25.28610) - '$Root$/1033/clui.dll' + '$Root$/msobj140.dll', + '$Root$/mspdb140.dll', + '$Root$/mspdbcore.dll', + '$Root$/mspdbsrv.exe', + '$Root$/mspft140.dll', + '$Root$/msvcp140.dll', + '$Root$/msvcp140_atomic_wait.dll', // Required circa 16.8.3 (14.28.29333) + '$Root$/tbbmalloc.dll', // Required as of 16.2 (14.22.27905) + '$Root$/vcruntime140.dll', + '$Root$/vcruntime140_1.dll', // Required as of 16.5.1 (14.25.28610) + '$Root$/1033/clui.dll', '$Root$/1033/mspft140ui.dll' // Localized messages for static analysis } diff --git a/External/SDK/Windows/Windows10SDK.bff b/External/SDK/Windows/Windows10SDK.bff index 02f3b76..a733f1f 100644 --- a/External/SDK/Windows/Windows10SDK.bff +++ b/External/SDK/Windows/Windows10SDK.bff @@ -57,7 +57,7 @@ + ' "-I$Windows10_SDKBasePath$/Include/$Windows10_SDKVersion$/um"' + ' "-I$Windows10_SDKBasePath$/Include/$Windows10_SDKVersion$/shared"' - .WindowsDK_WinRTAssemblyPath = '$Windows10_SDKBasePath$/UnionMetadata/$Windows10_SDKVersion$/' + .WindowsSDK_WinRTAssemblyPath = '$Windows10_SDKBasePath$/UnionMetadata/$Windows10_SDKVersion$/' .CommonCompilerOptions = .WindowsSDK_IncludePaths + .WindowsSDK_Defines @@ -93,7 +93,7 @@ + ' /imsvc "$Windows10_SDKBasePath$/Include/$Windows10_SDKVersion$/um"' + ' /imsvc "$Windows10_SDKBasePath$/Include/$Windows10_SDKVersion$/shared"' - .WindowsDK_WinRTAssemblyPath = '$Windows10_SDKBasePath$/UnionMetadata/$Windows10_SDKVersion$/' + .WindowsSDK_WinRTAssemblyPath = '$Windows10_SDKBasePath$/UnionMetadata/$Windows10_SDKVersion$/' .CommonCompilerOptions = .WindowsSDK_IncludePaths + .WindowsSDK_Defines diff --git a/Game/Game.bff b/Game/Game.bff index cb441ad..177d84e 100644 --- a/Game/Game.bff +++ b/Game/Game.bff @@ -1,13 +1,19 @@ -// Juliet - Lib +// Game - Lib/Dll //------------------------------------------------------------------------------ { .ProjectName = 'Game' .ProjectPath = 'Game' - .JulietIncludePath = ' "-IJuliet/include"' + + .GAME_DLL_NAME = '$ProjectName$' + #if exists( GAME_BUILD_ID ) + { + #import GAME_BUILD_ID + ^GAME_DLL_NAME + '-$GAME_BUILD_ID$' + } + #endif // Library //-------------------------------------------------------------------------- - .ProjectConfigs = {} ForEach( .BuildConfig in .BuildConfigs ) { Using( .BuildConfig ) @@ -24,22 +30,46 @@ // Library //-------------------------------------------------------------------------- - ObjectList( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' ) + ObjectList( '$ProjectName$-Objs-$Platform$-$BuildConfigName$' ) { // Input (Unity) .CompilerInputUnity = '$ProjectName$-Unity-$Platform$-$BuildConfigName$' // Extra Compiler Options - .CompilerOptions + .JulietIncludePath + .CompilerOptions + ' "-IJuliet/include"' + ' "-IGame"' + // + ' -DGAME_EXPORT' // I'm just always exporting anyway but just in case #if __WINDOWS__ - .CompilerOptions + ' -DJULIET_WIN32' + .CompilerOptions + ' -DJULIET_WIN32' #endif - - // Output .CompilerOutputPath = '$OutputBase$/$ProjectPath$/' } + + DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' ) + { + .Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$', + 'Juliet-Lib-$Platform$-$BuildConfigName$' } // Link Juliet (Lib or Import Lib) + + #if exists( GAME_DLL_NAME ) + .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$GAME_DLL_NAME$.dll' + #else + .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll' + #endif + + #if __WINDOWS__ + .LinkerOptions + ' /DLL' + .LinkerOptions + .CommonWinLibs + + .CRTLibs = .CRTLibs_Dynamic + If ( .BuildConfigName == 'Debug' ) + { + ^CRTLibs = .CRTLibs_DynamicDebug + } + .LinkerOptions + .CRTLibs + #endif + } + Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Lib-$Platform$-$BuildConfigName$' } ^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' } @@ -48,4 +78,12 @@ ^ProjectConfigs + .ProjectConfig #endif } + + VCXProject( '$ProjectName$' ) + { + .ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj' + .ProjectBasePath = '$ProjectPath$/' + .ProjectInputPaths = .ProjectBasePath + .ProjectConfigs = .ProjectConfigs + } } \ No newline at end of file diff --git a/Game/Game.vcxproj b/Game/Game.vcxproj index ce519ae..4887c02 100644 --- a/Game/Game.vcxproj +++ b/Game/Game.vcxproj @@ -1,112 +1,364 @@ - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {B7B12DCC-1A69-4371-A9FE-D6E7671497B0} - Win32Proj - Game - 10.0.26100.0 - - - - x64 - - - DynamicLibrary - true - ClangCL - Unicode - - - DynamicLibrary - false - ClangCL - true - Unicode - - - - - - - - - - - - - - - true - $(SolutionDir)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\ - $(ProjectName) - - - false - - - - NotUsing - Level3 - Disabled - true - _DEBUG;CPPDYNAMICLIBRARYTEMPLATE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - stdcpp20 - $(SolutionDir)Juliet\include\;$(SolutionDir)Game; - - - Windows - true - Juliet.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - $(SolutionDir)\lib\$(Platform)\$(Configuration)\ - $(OutDir)$(TargetName)_$(Random).pdb - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - NDEBUG;CPPDYNAMICLIBRARYTEMPLATE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - $(SolutionDir)Juliet\include\;$(SolutionDir)Game; - - - Windows - true - true - true - $(SolutionDir)\lib\$(Platform)\$(Configuration)\ - Juliet.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) - - - - - - - - - - - - - + + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + + + + + + + + + + + {b1d040d0-6c94-4f93-bc2a-7f5284b7d434} + MakeFileProj + + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + + + \ No newline at end of file diff --git a/Game/Game.vcxproj.filters b/Game/Game.vcxproj.filters index 255b476..a36c033 100644 --- a/Game/Game.vcxproj.filters +++ b/Game/Game.vcxproj.filters @@ -1,22 +1,23 @@ - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - + + Entity + + + Entity + + + Entity + + + + + - - Source Files - + + {6051ee0a-6c94-4f93-bc2a-7f5284b7d434} + \ No newline at end of file diff --git a/Juliet.sln b/Juliet.sln index b5756bb..1a3508c 100644 --- a/Juliet.sln +++ b/Juliet.sln @@ -1,47 +1,107 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35506.116 +# Visual Studio 14 +VisualStudioVersion = 14.0.22823.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Juliet", "Juliet\Juliet.vcxproj", "{1BBC0B92-E4D8-4838-974B-439C5C501E82}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game", "Game\Game.vcxproj", "{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietApp", "JulietApp\JulietApp.vcxproj", "{4B2A0F9C-5F78-4BC9-BEE9-1E58BB85FA79}" - ProjectSection(ProjectDependencies) = postProject - {1BBC0B92-E4D8-4838-974B-439C5C501E82} = {1BBC0B92-E4D8-4838-974B-439C5C501E82} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietApp", "JulietApp\JulietApp.vcxproj", "{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game", "Game\Game.vcxproj", "{B7B12DCC-1A69-4371-A9FE-D6E7671497B0}" - ProjectSection(ProjectDependencies) = postProject - {1BBC0B92-E4D8-4838-974B-439C5C501E82} = {1BBC0B92-E4D8-4838-974B-439C5C501E82} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietShaderCompiler", "JulietShaderCompiler\JulietShaderCompiler.vcxproj", "{26880364-45F4-4817-BFD3-0ACC0958757D}" - ProjectSection(ProjectDependencies) = postProject - {1BBC0B92-E4D8-4838-974B-439C5C501E82} = {1BBC0B92-E4D8-4838-974B-439C5C501E82} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Juliet", "Juliet\Juliet.vcxproj", "{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 + Debug|x64 = Debug|x64 + Debug|x64 = Debug|x64 + Profile|x64 = Profile|x64 + Profile|x64 = Profile|x64 + Profile|x64 = Profile|x64 Release|x64 = Release|x64 + Release|x64 = Release|x64 + Release|x64 = Release|x64 + Debug|x64Clang = Debug|x64Clang + Debug|x64Clang = Debug|x64Clang + Debug|x64Clang = Debug|x64Clang + Profile|x64Clang = Profile|x64Clang + Profile|x64Clang = Profile|x64Clang + Profile|x64Clang = Profile|x64Clang + Release|x64Clang = Release|x64Clang + Release|x64Clang = Release|x64Clang + Release|x64Clang = Release|x64Clang EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1BBC0B92-E4D8-4838-974B-439C5C501E82}.Debug|x64.ActiveCfg = Debug|x64 - {1BBC0B92-E4D8-4838-974B-439C5C501E82}.Debug|x64.Build.0 = Debug|x64 - {1BBC0B92-E4D8-4838-974B-439C5C501E82}.Release|x64.ActiveCfg = Release|x64 - {1BBC0B92-E4D8-4838-974B-439C5C501E82}.Release|x64.Build.0 = Release|x64 - {4B2A0F9C-5F78-4BC9-BEE9-1E58BB85FA79}.Debug|x64.ActiveCfg = Debug|x64 - {4B2A0F9C-5F78-4BC9-BEE9-1E58BB85FA79}.Debug|x64.Build.0 = Debug|x64 - {4B2A0F9C-5F78-4BC9-BEE9-1E58BB85FA79}.Release|x64.ActiveCfg = Release|x64 - {4B2A0F9C-5F78-4BC9-BEE9-1E58BB85FA79}.Release|x64.Build.0 = Release|x64 - {B7B12DCC-1A69-4371-A9FE-D6E7671497B0}.Debug|x64.ActiveCfg = Debug|x64 - {B7B12DCC-1A69-4371-A9FE-D6E7671497B0}.Debug|x64.Build.0 = Debug|x64 - {B7B12DCC-1A69-4371-A9FE-D6E7671497B0}.Release|x64.ActiveCfg = Release|x64 - {B7B12DCC-1A69-4371-A9FE-D6E7671497B0}.Release|x64.Build.0 = Release|x64 - {26880364-45F4-4817-BFD3-0ACC0958757D}.Debug|x64.ActiveCfg = Debug|x64 - {26880364-45F4-4817-BFD3-0ACC0958757D}.Debug|x64.Build.0 = Debug|x64 - {26880364-45F4-4817-BFD3-0ACC0958757D}.Release|x64.ActiveCfg = Release|x64 - {26880364-45F4-4817-BFD3-0ACC0958757D}.Release|x64.Build.0 = Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 + {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Juliet/Juliet.bff b/Juliet/Juliet.bff index 3b2eb90..9dfb4e4 100644 --- a/Juliet/Juliet.bff +++ b/Juliet/Juliet.bff @@ -1,4 +1,4 @@ -// Juliet - Lib +// Juliet - Lib/Dll //------------------------------------------------------------------------------ { .ProjectName = 'Juliet' @@ -8,7 +8,6 @@ // Library //-------------------------------------------------------------------------- - .ProjectConfigs = {} ForEach( .BuildConfig in .BuildConfigs ) { Using( .BuildConfig ) @@ -25,22 +24,42 @@ // Library //-------------------------------------------------------------------------- - ObjectList( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' ) + ObjectList( '$ProjectName$-Objs-$Platform$-$BuildConfigName$' ) { // Input (Unity) .CompilerInputUnity = '$ProjectName$-Unity-$Platform$-$BuildConfigName$' // Extra Compiler Options .CompilerOptions + .JulietIncludePath - + ' -DJULIET_EXPORT' - + .CompilerOptions + ' -DJULIET_EXPORT' + #if __WINDOWS__ - .CompilerOptions + ' -DJULIET_WIN32' + .CompilerOptions + ' -DJULIET_WIN32' #endif // Output .CompilerOutputPath = '$OutputBase$/$ProjectPath$/' } + + // --- DLL BUILD --- + DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' ) + { + .Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$' } + .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll' // Output .dll to Bin + + #if __WINDOWS__ + .LinkerOptions + ' /DLL' + .LinkerOptions + .CommonWinLibs + + .CRTLibs = .CRTLibs_Dynamic + If ( .BuildConfigName == 'Debug' ) + { + ^CRTLibs = .CRTLibs_DynamicDebug + } + .LinkerOptions + .CRTLibs + #endif + } + Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Lib-$Platform$-$BuildConfigName$' } ^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' } @@ -49,4 +68,12 @@ ^ProjectConfigs + .ProjectConfig #endif } + + VCXProject( '$ProjectName$' ) + { + .ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj' + .ProjectBasePath = '$ProjectPath$/' + .ProjectInputPaths = .ProjectBasePath + .ProjectConfigs = .ProjectConfigs + } } \ No newline at end of file diff --git a/Juliet/Juliet.vcxproj b/Juliet/Juliet.vcxproj index 55f667f..54e837b 100644 --- a/Juliet/Juliet.vcxproj +++ b/Juliet/Juliet.vcxproj @@ -1,262 +1,332 @@ - - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {1bbc0b92-e4d8-4838-974b-439c5c501e82} - Juliet - 10.0.26100.0 - - - - DynamicLibrary - true - ClangCL - Unicode - - - DynamicLibrary - false - ClangCL - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\ - $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\D3D12\;$(IncludePath) - - - $(SolutionDir)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\ - $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\D3D12\;$(IncludePath) - - - - Level3 - true - DEBUG;JULIET_EXPORT;JULIET_WIN32;%(PreprocessorDefinitions) - true - NotUsing - stdcpp20 - Fast - false - false - - - - - true - ws2_32.lib;dxgi.lib;dxguid.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) - $(SolutionDir)\lib\$(Platform)\$(Configuration)\$(TargetName).lib - - - - - - - - - Level3 - true - true - true - NDEBUG;JULIET_EXPORT;JULIET_WIN32;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - Fast - false - false - - - - - true - true - true - ws2_32.lib;d3d12.lib;dxgi.lib;dxguid.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) - $(SolutionDir)\lib\$(Platform)\$(Configuration)\$(TargetName).lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {ab9c7e88-6c94-4f93-bc2a-7f5284b7d434} + MakeFileProj + + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + + + + + + + + + + + + + + + + + + + + + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + + + \ No newline at end of file diff --git a/Juliet/Juliet.vcxproj.filters b/Juliet/Juliet.vcxproj.filters index 403d914..313a49f 100644 --- a/Juliet/Juliet.vcxproj.filters +++ b/Juliet/Juliet.vcxproj.filters @@ -1,378 +1,662 @@ - + - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {04f78748-69ab-4ed6-9a09-6c5803b9349d} - - - {31dfc257-b706-4ff0-9e42-6eaed85e98fd} - - - {4b8741bf-1fb9-4a70-9306-580c83cc0a6f} - - - {aa0d4fbd-e094-4319-a06a-cc2c01dc20b5} - - - {a210c51b-2a2a-4230-b78f-2aa7ed60963c} - - - {7a443547-1774-4b54-b7f5-33569cb78ac9} - - - {866a221e-ead3-4274-9ea6-16fc33bbfa97} - - - {fb5b80c0-3192-4fa8-927e-754264313c6f} - - - {e0c8b73d-66bc-446a-906f-e0e69fc74e25} - - - {caf51413-0c34-4b09-81db-9194fe3b244c} + + include\Core\Application + + + include\Core\Application + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Common + + + include\Core\Container + + + include\Core\HAL\Display + + + include\Core\HAL\DynLib + + + include\Core\HAL\Event + + + include\Core\HAL\Filesystem + + + include\Core\HAL\IO + + + include\Core\HAL\Keyboard + + + include\Core\HAL\Keyboard + + + include\Core\HAL\Keyboard + + + include\Core\HAL\Mouse + + + include\Core\HotReload + + + include\Core + + + include\Core\Logging + + + include\Core\Logging + + + include\Core\Math + + + include\Core\Math + + + include\Core\Memory + + + include\Core\Memory + + + include\Core\Networking + + + include\Core\Networking + + + include\Core\Networking + + + include\Core\Networking + + + include\Core\Networking + + + include\Core\Networking + + + include\Core\Thread + + + include\Core\Thread + + + include\Engine + + + include\Engine + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include\Graphics + + + include + + + + + src\Core\Application + + + src\Core\Common + + + src\Core\Common + + + src\Core\HAL\Display + + + src\Core\HAL\Display + + + src\Core\HAL\Display + + + src\Core\HAL\Display\Win32 + + + src\Core\HAL\Display\Win32 + + + src\Core\HAL\Display\Win32 + + + src\Core\HAL\Display\Win32 + + + src\Core\HAL\Display\Win32 + + + src\Core\HAL\Display + + + src\Core\HAL\DynLib\Win32 + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Event + + + src\Core\HAL\Filesystem + + + src\Core\HAL\Filesystem + + + src\Core\HAL\Filesystem + + + src\Core\HAL\Filesystem\Win32 + + + src\Core\HAL\IO + + + src\Core\HAL\IO + + + src\Core\HAL\IO\Win32 + + + src\Core\HAL + + + src\Core\HotReload + + + src\Core\HotReload\Win32 + + + src\Core + + + src\Core\Logging + + + src\Core\Math + + + src\Core\Math + + + src\Core\Memory + + + src\Core\Networking + + + src\Core\Networking + + + src\Core\Networking + + + src\Core\Networking + + + src\Core\Networking + + + src\Core\Networking\Win32 + + + src\Engine + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK\d3dx12 + + + src\Graphics\D3D12\AgilitySDK + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics\D3D12 + + + src\Graphics + + + src\Graphics + + + + + {5c7eaaef-6c94-4f93-bc2a-7f5284b7d434} - - Header Files\Core\Application - - - Header Files\Core\Application - - - Header Files\Engine - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - + + {6039c8dd-6c94-4f93-bc2a-7f5284b7d434} + - - Source Files\Core\Application - - - Source Files\Engine - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - + + {59f67477-6c94-4f93-bc2a-7f5284b7d434} + + + + + {ac29c266-6c94-4f93-bc2a-7f5284b7d434} + + + + + {ed394e4e-6c94-4f93-bc2a-7f5284b7d434} + + + + + {1cb0928e-6c94-4f93-bc2a-7f5284b7d434} + + + + + {bcf269d1-6c94-4f93-bc2a-7f5284b7d434} + + + + + {fefb3f3a-6c94-4f93-bc2a-7f5284b7d434} + + + + + {54f5d918-6c94-4f93-bc2a-7f5284b7d434} + + + + + {06b1338d-6c94-4f93-bc2a-7f5284b7d434} + + + + + {d111532d-6c94-4f93-bc2a-7f5284b7d434} + + + + + {481eb40e-6c94-4f93-bc2a-7f5284b7d434} + + + + + {4c7d6b5f-6c94-4f93-bc2a-7f5284b7d434} + + + + + {fe4e9898-6c94-4f93-bc2a-7f5284b7d434} + + + + + {02138187-6c94-4f93-bc2a-7f5284b7d434} + + + + + {87b853be-6c94-4f93-bc2a-7f5284b7d434} + + + + + {d243d76b-6c94-4f93-bc2a-7f5284b7d434} + + + + + {1f1cb326-6c94-4f93-bc2a-7f5284b7d434} + + + + + {24f2aeeb-6c94-4f93-bc2a-7f5284b7d434} + + + + + {d881a52c-6c94-4f93-bc2a-7f5284b7d434} + + + + + {20496e7b-6c94-4f93-bc2a-7f5284b7d434} + + + + + {ab7ca14b-6c94-4f93-bc2a-7f5284b7d434} + + + + + {7d76d9f1-6c94-4f93-bc2a-7f5284b7d434} + + + + + {58a44f9c-6c94-4f93-bc2a-7f5284b7d434} + + + + + {f763d340-6c94-4f93-bc2a-7f5284b7d434} + + + + + {82da0982-6c94-4f93-bc2a-7f5284b7d434} + + + + + {42e45efa-6c94-4f93-bc2a-7f5284b7d434} + + + + + {3a37a82c-6c94-4f93-bc2a-7f5284b7d434} + + + + + {966b00ac-6c94-4f93-bc2a-7f5284b7d434} + + + + + {2a308679-6c94-4f93-bc2a-7f5284b7d434} + + + + + {16e07e61-6c94-4f93-bc2a-7f5284b7d434} + + + + + {8dc5a7e5-6c94-4f93-bc2a-7f5284b7d434} + + + + + {37313215-6c94-4f93-bc2a-7f5284b7d434} + + + + + {254581d9-6c94-4f93-bc2a-7f5284b7d434} + + + + + {37523cd5-6c94-4f93-bc2a-7f5284b7d434} + + + + + {35231af8-6c94-4f93-bc2a-7f5284b7d434} + + + + + {849dd795-6c94-4f93-bc2a-7f5284b7d434} + + + + + {574d127d-6c94-4f93-bc2a-7f5284b7d434} + + + + + {d5fc938e-6c94-4f93-bc2a-7f5284b7d434} + + + + + {8a7fc92e-6c94-4f93-bc2a-7f5284b7d434} + + + + + {80be9352-6c94-4f93-bc2a-7f5284b7d434} + + + + + {43aa9349-6c94-4f93-bc2a-7f5284b7d434} + + + + + {602a4b6b-6c94-4f93-bc2a-7f5284b7d434} + + + + + {8d3eff4b-6c94-4f93-bc2a-7f5284b7d434} + + + + + {41bbd51f-6c94-4f93-bc2a-7f5284b7d434} + + + + + {d1949745-6c94-4f93-bc2a-7f5284b7d434} + + + + + {0fd13bb0-6c94-4f93-bc2a-7f5284b7d434} + \ No newline at end of file diff --git a/Juliet/include/pch.h b/Juliet/include/pch.h deleted file mode 100644 index ef6a37c..0000000 --- a/Juliet/include/pch.h +++ /dev/null @@ -1,16 +0,0 @@ -// pch.h: This is a precompiled header file. -// Files listed below are compiled only once, improving build performance for future builds. -// This also affects IntelliSense performance, including code completion and many code browsing features. -// However, files listed here are ALL re-compiled if any one of them is updated between builds. -// Do not add files here that you will be updating frequently as this negates the performance advantage. - -#ifndef PCH_H -#define PCH_H - -#include -#include -#include -#include -#include - -#endif // PCH_H diff --git a/JulietApp/JulietApp.bff b/JulietApp/JulietApp.bff index 5c32a51..42876f7 100644 --- a/JulietApp/JulietApp.bff +++ b/JulietApp/JulietApp.bff @@ -8,7 +8,6 @@ // Library //-------------------------------------------------------------------------- - .ProjectConfigs = {} ForEach( .BuildConfig in .BuildConfigs ) { Using( .BuildConfig ) @@ -33,6 +32,7 @@ // Extra Compiler Options .CompilerOptions + .JulietIncludePath + #if __WINDOWS__ .CompilerOptions + ' -DJULIET_WIN32' #endif @@ -59,22 +59,13 @@ 'Game-Lib-$Platform$-$BuildConfigName$' } - .LinkerOutput = '$OutputBase$/$ProjectPath$/JulietApp$ExeExtension$' + .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$$ExeExtension$' // TODO : Only use when using DLL and not static link //.LinkerOptions + ' /DEF:"$ProjectDefPath$"' #if __WINDOWS__ - .LinkerOptions + ' /SUBSYSTEM:CONSOLE' - + ' kernel32.lib' - + ' user32.lib' - - + ' gdi32.lib' - - + ' dxguid.lib' - + ' Ws2_32.lib' - + ' dxgi.lib' - //+ .CRTLibs_Static + .LinkerOptions + .CommonWinLibs // Chose appropriate CRT .CRTLibs = .CRTLibs_Dynamic @@ -99,4 +90,12 @@ ^ProjectConfigs + .ProjectConfig #endif } + + VCXProject( '$ProjectName$' ) + { + .ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj' + .ProjectBasePath = '$ProjectPath$/' + .ProjectInputPaths = .ProjectBasePath + .ProjectConfigs = .ProjectConfigs + } } \ No newline at end of file diff --git a/JulietApp/JulietApp.vcxproj b/JulietApp/JulietApp.vcxproj index 3393361..e0d8ed9 100644 --- a/JulietApp/JulietApp.vcxproj +++ b/JulietApp/JulietApp.vcxproj @@ -1,180 +1,530 @@ - - - - Debug - x64 - - - Release - x64 - - - - - {b7b12dcc-1a69-4371-a9fe-d6e7671497b0} - Game - - - {1bbc0b92-e4d8-4838-974b-439c5c501e82} - Juliet - - - - - - - - MultiThreadedDebugDll - Disabled - true - NoListing - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - false - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - Default - Default - Column - false - false - false - NotSet - Fast - Default - false - stdcpp20 - Default - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - false - Neither - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - Cdecl - NotUsing - stdafx.h - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\JulietApp.pch - false - false - false - false - false - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - true - true - false - Default - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\JulietApp.tlog\ - true - false - Level3 - W:\Classified\Juliet\Intermediate\JulietApp\x64\Debug\ - ProgramDatabase - false - false - true - _DEBUG;JULIET_WIN32;_UNICODE;UNICODE; - false - true - true - Default - --target=amd64-pc-windows-msvc - - - - - - - 17.0 - Win32Proj - {4b2a0f9c-5f78-4bc9-bee9-1e58bb85fa79} - JulietApp - 10.0 - - - - Application - true - ClangCL - Unicode - - - Application - false - ClangCL - true - Unicode - - - - - - - - - - - - - - - $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\ - $(SolutionDir)\bin\$(Platform)\$(Configuration)\ - - - $(SolutionDir)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\ - - - - Level3 - true - _DEBUG;JULIET_WIN32;%(PreprocessorDefinitions) - true - stdcpp20 - false - Fast - false - $(SolutionDir)Juliet\include\;$(SolutionDir)JulietApp;$(IncludePath) - - - Console - true - Juliet.lib;%(AdditionalDependencies) - $(SolutionDir)\lib\$(Platform)\$(Configuration)\ - JulietApp.def - - - - - - xcopy /y "$(SolutionDir)\Juliet\src\Graphics\D3D12\AgilitySDK\bin\*.*" "$(SolutionDir)\bin\$(Platform)\$(Configuration)\D3D12\*.*" - Copy DX12 Agility SDK Binaries - - - - - Level3 - true - true - true - NDEBUG;JULIET_WIN32;%(PreprocessorDefinitions) - true - stdcpp20 - false - Fast - false - $(SolutionDir)Juliet\include\;$(SolutionDir)JulietApp;$(IncludePath) - - - Console - true - true - true - Juliet.lib;%(AdditionalDependencies) - $(SolutionDir)\lib\$(Platform)\$(Configuration)\ - JulietApp.def - - - - - + + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + x64-Debug + x64 + + + x64-Profile + x64 + + + x64-Release + x64 + + + x64Clang-Debug + x64 + + + x64Clang-Profile + x64 + + + x64Clang-Release + x64 + + + + + + + + + + + {1dee51ca-6c94-4f93-bc2a-7f5284b7d434} + MakeFileProj + + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + Makefile + false + v143 + $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32; + ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration) + cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration) + WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32; + ..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared; + /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 + $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\Intermediate + $(SolutionDir)\bin + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log + + + + + + + \ No newline at end of file diff --git a/JulietApp/JulietApp.vcxproj.filters b/JulietApp/JulietApp.vcxproj.filters index cf171ba..c97636f 100644 --- a/JulietApp/JulietApp.vcxproj.filters +++ b/JulietApp/JulietApp.vcxproj.filters @@ -1,33 +1,11 @@ - + - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {0a1df9b0-b5eb-4de6-b550-9c5fea30aa17} - - - {33a4c0d7-76fa-40dc-bae3-cdc6da2dea0d} - - - - - Source Files\Editor - - - - - Header Files\Editor - + + + + + + \ No newline at end of file diff --git a/JulietApp/main.cpp b/JulietApp/main.cpp index 2045816..8a45a89 100644 --- a/JulietApp/main.cpp +++ b/JulietApp/main.cpp @@ -70,11 +70,11 @@ void JulietApplication::Init() shaderCI.EntryPoint = entryPoint; // TODO: Assets management that handles path to assets or something. - String shaderPath = WrapString("../../../Assets/compiled/Triangle.vert.dxil"); + String shaderPath = WrapString("../../Assets/compiled/Triangle.vert.dxil"); shaderCI.Stage = ShaderStage::Vertex; Shader* vertexShader = CreateShader(GraphicsDevice, shaderPath, shaderCI); - shaderPath = WrapString("../../../Assets/compiled/SolidColor.frag.dxil"); + shaderPath = WrapString("../../Assets/compiled/SolidColor.frag.dxil"); shaderCI.Stage = ShaderStage::Fragment; Shader* fragmentShader = CreateShader(GraphicsDevice, shaderPath, shaderCI); @@ -207,11 +207,11 @@ void JulietApplication::Update() String entryPoint = WrapString("main"); ShaderCreateInfo shaderCI = {}; shaderCI.EntryPoint = entryPoint; - String shaderPath = WrapString("../../../Assets/compiled/Triangle.vert.dxil"); + String shaderPath = WrapString("../../Assets/compiled/Triangle.vert.dxil"); shaderCI.Stage = ShaderStage::Vertex; Shader* vertexShader = CreateShader(GraphicsDevice, shaderPath, shaderCI); - shaderPath = WrapString("../../../Assets/compiled/SolidColor.frag.dxil"); + shaderPath = WrapString("../../Assets/compiled/SolidColor.frag.dxil"); shaderCI.Stage = ShaderStage::Fragment; Shader* fragmentShader = CreateShader(GraphicsDevice, shaderPath, shaderCI); diff --git a/fbuild.bff b/fbuild.bff index e3dafd4..8ab03a1 100644 --- a/fbuild.bff +++ b/fbuild.bff @@ -7,6 +7,7 @@ //------------------------------------------------------------------------------ Settings { + .CachePath = 'C:\FASTBuild_Cache\' // Use a local SSD or network path #if __WINDOWS__ #import TMP .Environment = { "PATH=$VS_PATH$;$WINDOWS_SDK_2019_PATH$", @@ -15,6 +16,14 @@ Settings #endif } +//------------------------------------------------------------------------------ +// Global Output Paths +//------------------------------------------------------------------------------ +.BinPath = 'bin' +.OutputBase = 'Intermediate' +.CommonWinLibs = ' kernel32.lib user32.lib gdi32.lib dxguid.lib Ws2_32.lib dxgi.lib' +.ProjectConfigs = {} + //------------------------------------------------------------------------------ // Config Defines //------------------------------------------------------------------------------ @@ -22,26 +31,12 @@ Settings [ .CompilerOptions = ' -DDEBUG -DPROFILING_ENABLED' .CompilerOptionsC = .CompilerOptions - .BuildConfigName = 'Debug' - - #if !BUILDING_FROM_TESTS - // Build writable files (Perforce "Open for edit") outside of Unity - // to improve iteration times. - // - Only in Debug as this impacts performance (inlining) - // - Only when not building from tests (FASTBuild building itself) - .UnityInputIsolateWritableFiles = true - // Also not when building on CI (which builds from git). - #if CI_BUILD - .UnityInputIsolateWritableFiles = false - #endif - #endif ] .Profile_Config = [ .CompilerOptions = ' -DRELEASE -DPROFILING_ENABLED' .CompilerOptionsC = .CompilerOptions - .BuildConfigName = 'Profile' ] .Release_Config = @@ -49,7 +44,6 @@ Settings .CompilerOptions = ' -DRELEASE' .CompilerOptionsC = .CompilerOptions .CompilerOptionsDeoptimized = .CompilerOptions - .BuildConfigName = 'Release' ] @@ -140,24 +134,21 @@ Settings #endif -//------------------------------------------------------------------------------ -// -//------------------------------------------------------------------------------ -.OutputBase = 'Intermediate' - //------------------------------------------------------------------------------ // VisualStudio Project Generation //------------------------------------------------------------------------------ #if __WINDOWS__ .ProjectCommon = [ - .ProjectBuildCommand = 'cd ^$(SolutionDir)\..\..\Code\ & fbuild -vs -dist -monitor -cache ^$(ProjectName)-^$(Configuration)' - .ProjectRebuildCommand = 'cd ^$(SolutionDir)\..\..\Code\ & fbuild -vs -dist -monitor -cache -clean ^$(ProjectName)-^$(Configuration)' - .OutputDirectory = '^$(SolutionDir)\Intermediate' - .IntermediateDirectory = '^$(SolutionDir)\Intermediate' - .BuildLogFile = '^$(SolutionDir)\Intermediate\^$(ProjectName)-^$(Configuration).log' - .Platform = 'x64' - .PlatformToolset = '$VS_PlatformToolset$' + .ProjectBuildCommand = 'cd ^$(SolutionDir) & misc\fbuild -vs -dist -monitor -cache ^$(ProjectName)-^$(Configuration)' + .ProjectRebuildCommand = 'cd ^$(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean ^$(ProjectName)-^$(Configuration)' + .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)\' ] .Project_x64_Debug = [ Using( .ProjectCommon ) .SolutionPlatform = 'x64' .SolutionConfig = 'Debug' .Config = '$SolutionPlatform$-$SolutionConfig$' ] @@ -192,7 +183,6 @@ Settings ForEach( .BuildConfig in .BuildConfigs ) { Using( .BuildConfig ) - Alias( 'All-$Platform$-$BuildConfigName$' ) { .Targets = .'Targets_$Platform$_$BuildConfigName$' } } @@ -205,11 +195,7 @@ Alias( 'Exes' ) // Aliases : All-$Platform$ //------------------------------------------------------------------------------ -.Platforms = -{ - 'x64', - 'x64Clang', -} +.Platforms = { 'x64', 'x64Clang' } .PlatformConfigs_x64 = { 'Debug', 'Profile', 'Release' } .PlatformConfigs_x64Clang = { 'Debug', 'Profile', 'Release' } @@ -220,20 +206,7 @@ ForEach( .Platform in .Platforms ) .Targets = {} ForEach( .Config in .'PlatformConfigs_$Platform$' ) { - // TODO:B Exclude windows configs that don't work yet - // x64Clang Analyze config - not working yet - // x64Clang ASan config - not working yet - // x64Clang TSan config - not working yet (not supported by Clang on Windows) - // x64 ASan config - not working yet - // x64 TSan config - not working yet (not supported by MSVC on Windows) - If( !( ( .Platform == 'x64Clang' ) && ( .Config == 'Analyze' ) ) && - !( ( .Platform == 'x64Clang' ) && ( .Config == 'ASan' ) ) && - !( ( .Platform == 'x64Clang' ) && ( .Config == 'TSan' ) ) && - !( ( .Platform == 'x64' ) && ( .Config == 'ASan' ) ) && - !( ( .Platform == 'x64' ) && ( .Config == 'TSan' ) ) ) - { ^Targets + { 'All-$Platform$-$Config$' } - } } } } @@ -249,3 +222,38 @@ ForEach( .Platform in .Platforms ) } #endif +//------------------------------------------------------------------------------ +// Intuitive Aliases (msvc / clang) +//------------------------------------------------------------------------------ + +// 1. Map 'msvc' and 'clang' to the full platform builds +Alias( 'msvc' ) { .Targets = 'All-x64' } +Alias( 'clang' ) { .Targets = 'All-x64Clang' } + +// 2. Map specific compiler + config combinations +.Configs = { 'Debug', 'Profile', 'Release' } +ForEach( .Config in .Configs ) +{ + // Allows: fbuild msvc-debug, fbuild msvc-release, etc. + Alias( 'msvc-$Config$' ) { .Targets = 'All-x64-$Config$' } + + // Allows: fbuild clang-debug, fbuild clang-release, etc. + Alias( 'clang-$Config$' ) { .Targets = 'All-x64Clang-$Config$' } +} + +// 3. Map config-only aliases across both compilers +// Allows: fbuild debug, fbuild release +ForEach( .Config in .Configs ) +{ + Alias( '$Config$' ) { .Targets = { 'msvc-$Config$', 'clang-$Config$' } } +} + +// Generate solution +VSSolution( 'GenerateSolution' ) +{ + .SolutionOutput = 'Juliet.sln' + .SolutionProjects = { 'Juliet', 'Game', 'JulietApp' } + .SolutionConfigs = .ProjectConfigs + .SolutionBuildProject = 'JulietApp' +} +Alias( 'gen' ) { .Targets = 'GenerateSolution' } \ No newline at end of file diff --git a/misc/build_game.bat b/misc/build_game.bat index 521ca27..e2910e0 100644 --- a/misc/build_game.bat +++ b/misc/build_game.bat @@ -1,16 +1,46 @@ @echo off +setlocal -del /s ..\Game*.pdb > NUL 2> NUL +:: --- 1. Handle Compiler Choice --- +:: Default to Clang, but allow override via "build_game.bat msvc" +set "COMPILER_TYPE=%~1" +if "%COMPILER_TYPE%"=="" set "COMPILER_TYPE=clang" -pushd %~dp0\..\bin\x64\Debug -echo WAITING FOR PDB > lock.tmp +if /I "%COMPILER_TYPE%"=="clang" ( + set "PLATFORM=x64Clang" +) else ( + set "PLATFORM=x64" +) + +:: --- 2. Generate Random ID & Setup Paths --- +set "CONFIG=Debug" +set "GAME_BUILD_ID=%RANDOM%" +set "TARGET=Game-%PLATFORM%-%CONFIG%" +set "OUT_DIR=%~dp0..\bin\%PLATFORM%-%CONFIG%" + +echo --- Building %TARGET% (ID: %GAME_BUILD_ID%) --- + +:: --- 3. Manage Lock File --- +if not exist "%OUT_DIR%" mkdir "%OUT_DIR%" +pushd "%OUT_DIR%" +:: Clean up old DLLs/PDBs in this folder to prevent clutter +del Game-*.dll Game-*.pdb > NUL 2> NUL +echo %GAME_BUILD_ID% > lock.tmp popd -pushd %~dp0 -msbuild -p:Random=%random% /p:SolutionDir=..\ ..\Game\Game.vcxproj -popd +:: --- 4. Run FASTBuild --- +:: We pass the ID via an Environment Variable so the .bff can read it +set "GAME_BUILD_ID=%GAME_BUILD_ID%" +fbuild %TARGET% -cache -pushd %~dp0\..\bin\x64\Debug -del lock.tmp -popd +if %ERRORLEVEL% NEQ 0 ( + echo. + echo BUILD FAILED! + goto :cleanup +) +echo. +echo SUCCESS: Generated %OUT_DIR%\Game-%GAME_BUILD_ID%.dll + +:cleanup +if exist "%OUT_DIR%\lock.tmp" del "%OUT_DIR%\lock.tmp" \ No newline at end of file