From ab3272422ebaf677e538d56922d2304d7327884e Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 28 Sep 2025 02:08:42 -0400 Subject: [PATCH] Remove Visual Studio project files and update documentation for automated setup - Deleted `YAZE.sln` and `YAZE.vcxproj` files as they are now generated automatically. - Updated the Windows development guide to reflect changes in project file generation and vcpkg integration. - Enhanced troubleshooting section with common issues related to dependencies and project setup. - Modified setup script messages to clarify the new workflow for opening and building the project in Visual Studio. --- docs/windows-development-guide.md | 59 ++- scripts/generate-vs-projects.py | 3 + scripts/setup-windows-dev.ps1 | 13 +- yaze.sln | 54 --- yaze.vcxproj | 585 ------------------------------ 5 files changed, 51 insertions(+), 663 deletions(-) delete mode 100644 yaze.sln delete mode 100644 yaze.vcxproj diff --git a/docs/windows-development-guide.md b/docs/windows-development-guide.md index 5abca77a..ffdc6c6a 100644 --- a/docs/windows-development-guide.md +++ b/docs/windows-development-guide.md @@ -37,11 +37,10 @@ The easiest way to get started is to use our automated setup script: ``` This script will: -- Check for required software -- Set up vcpkg -- Install dependencies -- Generate Visual Studio project files -- Perform a test build +- Check for required software (Visual Studio 2022, Git, Python) +- Set up vcpkg and install dependencies (zlib, libpng, SDL2) +- Generate Visual Studio project files with proper vcpkg integration +- Perform a test build to verify everything works ### Manual Setup @@ -71,10 +70,17 @@ cd .. #### 3. Generate Visual Studio Project Files +The generation script creates project files with proper vcpkg integration: + ```bash python scripts/generate-vs-projects.py ``` +This creates: +- `YAZE.sln` - Visual Studio solution file +- `YAZE.vcxproj` - Visual Studio project file with vcpkg integration +- Proper vcpkg triplet settings for all platforms (x86, x64, ARM64) + #### 4. Build the Project ```bash @@ -152,20 +158,22 @@ msbuild YAZE.sln /p:Configuration=Debug /p:Platform=x64 /p:VcpkgEnabled=true /p: ``` yaze/ -├── YAZE.sln # Visual Studio solution file -├── YAZE.vcxproj # Visual Studio project file +├── YAZE.sln # Visual Studio solution file (generated) +├── YAZE.vcxproj # Visual Studio project file (generated) ├── vcpkg.json # vcpkg dependencies ├── scripts/ # Build and setup scripts │ ├── build-windows.ps1 # PowerShell build script │ ├── build-windows.bat # Batch build script -│ ├── setup-windows-dev.ps1 # Setup script -│ └── generate-vs-projects.py # Project generator +│ ├── setup-windows-dev.ps1 # Automated setup script +│ └── generate-vs-projects.py # Project file generator ├── src/ # Source code ├── incl/ # Public headers ├── assets/ # Game assets └── docs/ # Documentation ``` +**Note**: The Visual Studio project files (`YAZE.sln`, `YAZE.vcxproj`) are generated automatically and should not be edited manually. If you need to modify project settings, update the generation script instead. + ## Troubleshooting ### Common Issues @@ -193,7 +201,22 @@ yaze/ ``` - Or manually set up vcpkg as described in the manual setup section -#### 3. Python Script Execution Policy +#### 3. ZLIB or Other Dependencies Not Found + +**Error**: `Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)` + +**Solution**: +- This usually means vcpkg integration isn't working properly +- Regenerate project files with proper vcpkg integration: + ```bash + python scripts/generate-vs-projects.py + ``` +- Ensure vcpkg is installed and dependencies are available: + ```bash + .\vcpkg\vcpkg.exe install --triplet x64-windows + ``` + +#### 4. Python Script Execution Policy **Error**: `execution of scripts is disabled on this system` @@ -203,7 +226,7 @@ yaze/ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` -#### 4. Missing Dependencies +#### 5. Missing Dependencies **Error**: Linker errors about missing libraries @@ -217,7 +240,7 @@ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser python scripts/generate-vs-projects.py ``` -#### 5. Build Failures +#### 6. Build Failures **Error**: Compilation or linking errors @@ -247,15 +270,15 @@ If you encounter issues not covered here: ### Making Changes 1. Make your changes to the source code -2. Build the project: - ```powershell - .\scripts\build-windows.ps1 -Configuration Debug -Platform x64 - ``` -3. Test your changes -4. If adding new source files, regenerate project files: +2. If you added new source files, regenerate project files: ```bash python scripts/generate-vs-projects.py ``` +3. Build the project: + ```powershell + .\scripts\build-windows.ps1 -Configuration Debug -Platform x64 + ``` +4. Test your changes ### Debugging diff --git a/scripts/generate-vs-projects.py b/scripts/generate-vs-projects.py index 0bc3e597..65539729 100644 --- a/scripts/generate-vs-projects.py +++ b/scripts/generate-vs-projects.py @@ -199,6 +199,9 @@ def generate_vcxproj(): YAZE true true + x86-windows + x64-windows + arm64-windows diff --git a/scripts/setup-windows-dev.ps1 b/scripts/setup-windows-dev.ps1 index daa311dd..1b97c2e5 100644 --- a/scripts/setup-windows-dev.ps1 +++ b/scripts/setup-windows-dev.ps1 @@ -15,11 +15,11 @@ Write-Host "========================================" -ForegroundColor Cyan # Step 1: Check project directory Write-Host "Step 1: Checking project directory..." -ForegroundColor Yellow -$projectValid = Test-Path "YAZE.sln" +$projectValid = Test-Path "CMakeLists.txt" switch ($projectValid) { - $true { Write-Host "✓ YAZE.sln found" -ForegroundColor Green } + $true { Write-Host "✓ CMakeLists.txt found" -ForegroundColor Green } $false { - Write-Host "✗ YAZE.sln not found" -ForegroundColor Red + Write-Host "✗ CMakeLists.txt not found" -ForegroundColor Red Write-Host "Please run this script from the YAZE project root directory" -ForegroundColor Yellow exit 1 } @@ -208,9 +208,10 @@ Write-Host "✓ YAZE Windows development setup complete!" -ForegroundColor Green Write-Host "========================================" -ForegroundColor Cyan Write-Host "" Write-Host "Next steps:" -ForegroundColor Yellow -Write-Host "1. Open YAZE.sln in Visual Studio 2022" -ForegroundColor White -Write-Host "2. Select configuration (Debug/Release) and platform (x64/x86/ARM64)" -ForegroundColor White -Write-Host "3. Build the solution (Ctrl+Shift+B)" -ForegroundColor White +Write-Host "1. Visual Studio project files have been generated" -ForegroundColor White +Write-Host "2. Open YAZE.sln in Visual Studio 2022" -ForegroundColor White +Write-Host "3. Select configuration (Debug/Release) and platform (x64/x86/ARM64)" -ForegroundColor White +Write-Host "4. Build the solution (Ctrl+Shift+B)" -ForegroundColor White Write-Host "" Write-Host "Or use command line:" -ForegroundColor Yellow Write-Host " .\scripts\build-windows.ps1 -Configuration Release -Platform x64" -ForegroundColor White diff --git a/yaze.sln b/yaze.sln deleted file mode 100644 index 8f6352bd..00000000 --- a/yaze.sln +++ /dev/null @@ -1,54 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YAZE", "YAZE.vcxproj", "{B2C3D4E5-F6G7-8901-BCDE-F23456789012}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Debug|ARM64 = Debug|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Release|ARM64 = Release|ARM64 - RelWithDebInfo|x64 = RelWithDebInfo|x64 - RelWithDebInfo|x86 = RelWithDebInfo|x86 - RelWithDebInfo|ARM64 = RelWithDebInfo|ARM64 - MinSizeRel|x64 = MinSizeRel|x64 - MinSizeRel|x86 = MinSizeRel|x86 - MinSizeRel|ARM64 = MinSizeRel|ARM64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x64.ActiveCfg = Debug|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x64.Build.0 = Debug|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x86.ActiveCfg = Debug|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x86.Build.0 = Debug|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|ARM64.Build.0 = Debug|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x64.ActiveCfg = Release|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x64.Build.0 = Release|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x86.ActiveCfg = Release|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x86.Build.0 = Release|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|ARM64.ActiveCfg = Release|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|ARM64.Build.0 = Release|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|ARM64.ActiveCfg = RelWithDebInfo|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.RelWithDebInfo|ARM64.Build.0 = RelWithDebInfo|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|x86.Build.0 = MinSizeRel|x86 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|ARM64.ActiveCfg = MinSizeRel|ARM64 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012}.MinSizeRel|ARM64.Build.0 = MinSizeRel|ARM64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} - EndGlobalSection -EndGlobal \ No newline at end of file diff --git a/yaze.vcxproj b/yaze.vcxproj deleted file mode 100644 index d7bd55bb..00000000 --- a/yaze.vcxproj +++ /dev/null @@ -1,585 +0,0 @@ - - - - - Debug - x64 - - - Debug - x86 - - - Debug - ARM64 - - - Release - x64 - - - Release - x86 - - - Release - ARM64 - - - RelWithDebInfo - x64 - - - RelWithDebInfo - x86 - - - RelWithDebInfo - ARM64 - - - MinSizeRel - x64 - - - MinSizeRel - x86 - - - MinSizeRel - ARM64 - - - - 17.0 - {B2C3D4E5-F6G7-8901-BCDE-F23456789012} - Win32Proj - YAZE - 10.0 - YAZE - true - true - - - - Application - true - v143 - Unicode - - - Application - true - v143 - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - true - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - true - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Configuration)\ - $(SolutionDir)build\obj\$(Configuration)\ - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDebugDLL - - - Console - true - false - false - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDebugDLL - - - Console - true - false - false - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDebugDLL - - - Console - true - false - false - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - true - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - false - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - false - true - true - - - - - Level3 - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - $(ProjectDir)src;$(ProjectDir)incl;$(ProjectDir)src\lib;$(ProjectDir)src\lib\asar\src;$(ProjectDir)src\lib\asar\src\asar;$(ProjectDir)src\lib\asar\src\asar-dll-bindings\c;$(ProjectDir)src\lib\imgui;$(ProjectDir)src\lib\imgui_test_engine;%(AdditionalIncludeDirectories) - stdcpp23 - true - true - MultiThreadedDLL - - - Console - false - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file