Commit Graph

2442 Commits

Author SHA1 Message Date
scawful
1cce652cf4 Update build instructions for Visual Studio project generation and vcpkg integration
- Changed the project file generation command from PowerShell to Python for better integration with vcpkg.
- Enhanced documentation to clarify automatic vcpkg dependency management for zlib, libpng, and SDL2.
- Added note that generated project files will remain in sync with CMake configuration.
2025-09-28 02:09:16 -04:00
scawful
ab3272422e 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.
2025-09-28 02:08:42 -04:00
scawful
f59af42555 Update vcpkg commit ID across release workflows and add comprehensive documentation for release processes
- Updated the vcpkgGitCommitId to '2024.12.12' in release-complex.yml, release-simplified.yml, and release.yml for consistency.
- Added a new documentation file B4-release-workflows.md detailing the different release workflows, their purposes, features, and use cases.
- Updated index.md to include a link to the new release workflows documentation.
2025-09-28 01:52:17 -04:00
scawful
a0a2a40b47 Update LoadSystemFonts function to clarify Linux compatibility
- Added a comment to indicate that the LoadSystemFonts function is intended for loading Linux system fonts into ImGui.
- Maintained the function for compatibility while ensuring it does not perform any operations on Linux, as system font loading is now handled by NFD (Native File Dialog).
2025-09-28 01:49:04 -04:00
scawful
04b46f1461 Remove unused Abseil internal modules from CMake configuration to streamline dependencies and improve build clarity. 2025-09-28 01:47:56 -04:00
scawful
abdf7434d6 Update vcpkg configuration and remove GLEW dependencies for improved compatibility
- Updated the builtin-baseline in vcpkg.json to the latest version.
- Removed GLEW references from CMake files to avoid MSYS2 issues and streamline the build process.
- Adjusted include and link directories in z3ed.cmake to reflect the removal of GLEW.
2025-09-28 01:47:21 -04:00
scawful
ff0e9c0cc3 Refactor font loading for Windows and Linux compatibility
- Removed Windows-specific font loading code to streamline the font loading process.
- Updated the LoadSystemFonts function to indicate that system font loading is now handled by NFD (Native File Dialog) for Linux.
- Maintained the function for compatibility while ensuring it does not perform any operations on Linux.
2025-09-28 01:46:14 -04:00
scawful
2a39cc644e Enhance Abseil integration and improve Windows font loading functionality
- Added additional Abseil flags modules to the CMake configuration for better support.
- Refactored Windows-specific font loading code to avoid namespace conflicts by using the `::` prefix for Windows API calls.
- Improved error handling and ensured proper memory management when retrieving font paths from the Windows registry.
2025-09-28 01:42:46 -04:00
scawful
5aa9fde4a4 Update workflow names for clarity: changed 'Release' to 'Release-Complex' in release-complex.yml and 'Release' to 'Release-Simplified' in release-simplified.yml. 2025-09-28 01:35:51 -04:00
scawful
e1cc58bcdb Remove Abseil dependency from vcpkg.json and clear overrides section to simplify project configuration. 2025-09-28 01:35:00 -04:00
scawful
b8a3bfb738 Remove Boost dependencies from vcpkg.json to streamline project requirements. This change excludes boost-system, boost-filesystem, and boost-thread from the list of dependencies, maintaining compatibility with non-UWP platforms. 2025-09-28 01:08:41 -04:00
scawful
52ae0e864a Add simple Visual Studio project generator script for YAZE
- Introduced a new Python script, `generate-vs-projects-simple.py`, to create Visual Studio project files without complex CMake dependencies.
- The script generates both `.vcxproj` and `.sln` files, consolidating source and header files for the YAZE project.
- Updated the Windows development setup script to utilize the new generator, providing fallback to the original if the simple generator fails.
- Enhanced user instructions for building the project in Visual Studio.
2025-09-28 01:07:16 -04:00
scawful
8205de84f9 Refactor Windows development setup script to a sequential approach for improved clarity and user experience
- Transitioned from a function-based structure to a sequential approach, simplifying the script flow.
- Enhanced user feedback with clear status messages for each setup step, including checks for project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for missing dependencies, ensuring a smoother setup process.
- Streamlined the process for generating Visual Studio project files and testing builds, making it more user-friendly.
2025-09-28 00:59:43 -04:00
scawful
e008bc2766 Refactor Windows development setup script to a function-based structure for improved readability and maintainability
- Transitioned to a function-based approach, reducing complex conditional statements.
- Enhanced user feedback with a consistent messaging function for status updates.
- Modularized setup steps for checking project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for each setup step, ensuring a clearer user experience.
2025-09-28 00:56:55 -04:00
scawful
99a5f6e4f4 Refactor Windows development setup script for clarity and improved user feedback
- Simplified the script structure by removing complex conditional statements.
- Enhanced output messages for each setup step, providing clearer guidance on the status of checks for project files, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and user instructions for missing dependencies and setup steps.
- Streamlined the process for generating Visual Studio project files and testing builds, ensuring a more user-friendly experience.
2025-09-28 00:51:51 -04:00
scawful
50bf1f9d71 Enhance Windows build scripts for improved functionality and user experience
- Refactored batch and PowerShell build scripts to streamline argument parsing and enhance error handling.
- Added support for cleaning build directories and improved feedback for missing dependencies.
- Updated project file generation logic to handle missing configuration files more gracefully.
- Introduced a new validation script to ensure the build environment is correctly set up before building.
- Removed obsolete setup scripts to simplify the repository structure.
2025-09-28 00:47:16 -04:00
scawful
9a51c1d5a7 Refactor Windows development setup script for improved error handling and dependency checks
- Enhanced Git and Python checks to ensure proper installation before proceeding with setup.
- Updated vcpkg cloning logic to verify Git availability and provide clearer error messages.
- Improved project file generation and build testing sections with additional user feedback and error handling.
- Removed obsolete PowerShell syntax test script to streamline the repository.
2025-09-28 00:42:28 -04:00
scawful
5020980c7b Add new dependencies to vcpkg.json for GLEW and Boost libraries
- Included GLEW, boost-system, boost-filesystem, and boost-thread as dependencies.
- Specified platform compatibility to exclude UWP for these libraries.
2025-09-28 00:37:58 -04:00
scawful
820720cffe Remove obsolete PowerShell script for generating Visual Studio projects and add a new script for testing PowerShell syntax. The new script verifies basic constructs used in build scripts, ensuring proper syntax and functionality. 2025-09-28 00:37:48 -04:00
scawful
77b4e8cd40 Refactor Visual Studio solution and project files for improved organization and support
- Removed obsolete project entries from the solution file to streamline structure.
- Updated YAZE project configuration to enable vcpkg integration and multi-architecture support.
- Enhanced build scripts for Windows, including automated setup and testing processes.
- Added new documentation for Windows development setup and build instructions.
2025-09-28 00:34:20 -04:00
scawful
8b659e991c Enhance project reference validation in Visual Studio scripts
- Updated batch and PowerShell scripts to check for proper references to YAZE.vcxproj in the solution file.
- Added verification for project configurations, providing user feedback on their status.
- Improved messaging for error states to guide users in ensuring correct project setup.
2025-09-28 00:20:37 -04:00
scawful
b568559efb Add YAZE project to Visual Studio solution with multi-architecture support 2025-09-28 00:20:19 -04:00
scawful
bec691da69 Refactor Visual Studio project configuration scripts for clarity and usability
- Updated batch and PowerShell scripts to improve the configuration process for Visual Studio projects.
- Enhanced user feedback by checking for existing solution files and verifying project references.
- Added help options in the PowerShell script to guide users on available parameters and usage examples.
- Improved messaging for success and error states to facilitate troubleshooting and user experience.
2025-09-28 00:11:21 -04:00
scawful
da4057cb71 Improve Windows build setup in GitHub Actions workflow
- Enhanced the installation process for build tools and dependencies using Chocolatey, with error handling for individual package installations.
- Added verification steps to confirm successful installation of CMake, Ninja, Git, and Python3.
- Updated environment setup to ensure a minimal build configuration and improved user feedback during the setup process.
2025-09-28 00:02:29 -04:00
scawful
ed299300e3 Update build instructions and enhance Windows development setup
- Revised build instructions to include comprehensive Windows support with automated setup scripts and Visual Studio integration.
- Added detailed sections for Windows development, including recommended setup scripts and manual options for vcpkg integration.
- Improved clarity on build commands and troubleshooting steps for CMake and Visual Studio issues.
- Introduced new scripts for testing CMake configuration and streamlined project generation processes.
2025-09-28 00:00:12 -04:00
scawful
3af69c5ae2 Enhance CMake configuration and project generation scripts
- Added policies for submodule compatibility and suppressed deprecation warnings in CMakeLists.txt.
- Updated Visual Studio project generation scripts to include new CMake arguments for policy versions and thread handling.
- Introduced a new PowerShell script to test CMake configuration, ensuring successful setup and providing user feedback.
2025-09-27 23:58:08 -04:00
scawful
188084b59e Add CMake availability checks and installation in project generation scripts
- Implemented checks for CMake in both batch and PowerShell scripts to ensure it is available before proceeding.
- Added logic to attempt installation of CMake via Chocolatey if not found, with appropriate user feedback.
- Enhanced user experience by providing instructions for manual installation if Chocolatey is not present.
- Included verification steps to confirm successful installation of CMake after the installation attempt.
- Introduced a new setup script for Windows development environment, automating the installation of essential tools like Git, Ninja, and Python 3, along with checks for Visual Studio.
2025-09-27 23:33:13 -04:00
scawful
385500120a Refactor Visual Studio solution and project files for improved organization and support
- Restructured the solution file to better categorize projects, including new entries for Documentation, Scripts, and CMake.
- Updated project configurations to support multiple architectures (x86, x64, ARM64) and added new build types (RelWithDebInfo, MinSizeRel).
- Introduced new scripts for generating Visual Studio project files, enhancing the build process for Windows users.
- Removed obsolete project entries and streamlined the solution structure for clarity and maintainability.
2025-09-27 23:29:16 -04:00
scawful
1d28872499 Enhance GitHub Actions workflow for Windows builds
- Added cleanup step for vcpkg state to prevent potential issues during builds.
- Implemented debugging step to provide detailed information if vcpkg setup fails.
- Introduced fallback mechanism to manually install dependencies if vcpkg fails.
- Updated CMake configuration to check vcpkg availability and adjust build settings accordingly.
- Added verification step for CMake configuration to ensure successful setup.
2025-09-27 23:20:02 -04:00
scawful
f82bfbab5d Update abseil version in vcpkg.json from 20240116.2 to 20220623.1 for compatibility 2025-09-27 23:10:08 -04:00
scawful
2374c5e524 Refactor GitHub Actions release workflow for improved artifact handling and error reporting
- Updated tag validation step to correctly output the validated tag name.
- Enhanced packaging commands to use Unix-style commands for better compatibility and error handling.
- Added verification step for build artifacts to ensure successful creation before packaging.
- Improved output messages for clarity during the build and packaging processes.
2025-09-27 23:02:18 -04:00
scawful
dbcfdab19f Enhance Visual Studio solution structure and configuration
- Added multiple project entries for source, application, API, CLI, library, utilities, and testing components in the solution file.
- Included documentation and asset directories with relevant files for better organization and accessibility.
- Updated solution configurations to support ARM64 architecture alongside existing x64 and x86 configurations, ensuring comprehensive build support.
2025-09-27 22:54:06 -04:00
scawful
bca75ac660 Standardize shell usage in GitHub Actions release workflow to always use bash for packaging step, ensuring consistency across environments. 2025-09-27 22:51:48 -04:00
scawful
1515c452ea Enhance GitHub Actions workflow for cross-platform executable testing
- Added separate steps for testing executable functionality on Windows, macOS, and Linux, improving clarity and organization.
- Streamlined the executable path determination for Windows and implemented similar logic for macOS and Linux.
- Enhanced error handling and output messages for better debugging during the testing process.
2025-09-27 22:51:22 -04:00
scawful
f76fe312fb Refactor font loading logic in LoadSystemFonts function
- Improved buffer size calculations for font name and data to enhance safety and prevent overflow.
- Streamlined the maximum font loading limit to ensure efficient font management while maintaining clarity in the code.
2025-09-27 22:35:27 -04:00
scawful
3040302247 Enhance Windows build configuration and architecture detection
- Added architecture detection in CMakeLists.txt for Windows, defining appropriate compile flags for ARM64, x64, and x86 platforms.
- Updated yaze.vcxproj to include Debug and Release configurations for ARM64, ensuring proper setup for ARM64 builds.
- Modified GitHub Actions workflow to support packaging for Windows ARM64, creating artifacts for both x64 and ARM64 builds.
2025-09-27 22:22:51 -04:00
scawful
77b9f79755 Update GitHub Actions workflow to standardize shell usage for packaging
- Changed the shell used in the packaging step of the release workflow to always use bash, ensuring consistency across different environments.
2025-09-27 22:12:25 -04:00
scawful
7d87c6bed8 Enhance CMake configuration and library management
- Added `_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS` definition to suppress all C++23 deprecation warnings in CMakeLists.txt for both MSVC and GCC/Clang.
- Updated `yaze.vcxproj` to remove unnecessary `absl::numeric` from AdditionalLibraryDirectories, streamlining library paths.
- Modified `absl.cmake` to conditionally include `absl::int128` only on non-Windows platforms, avoiding C++23 deprecation issues and improving cross-platform compatibility.
2025-09-27 22:09:45 -04:00
scawful
505c91a97d Refactor GitHub Actions workflow for packaging and improve error handling
- Updated packaging commands in the release workflow to use Windows-compatible commands for copying files.
- Enhanced error handling for missing files and directories during the packaging process.
- Improved formatting of the Info.plist generation for better readability.
- Adjusted the shell used in the packaging step to be platform-specific, ensuring compatibility across different operating systems.
2025-09-27 22:09:06 -04:00
scawful
6dfc446e23 Refactor font initialization in LoadPackageFonts function
- Updated font configuration to include proper ImFontConfig initialization for each font entry in the font registry.
- Enhanced code clarity by adding comments to describe the initialization process.
2025-09-27 22:04:59 -04:00
scawful
660c3fd46f Enhance CMake configuration and improve string safety in source files
- Updated CMakeLists.txt to silence C++23 deprecation warnings and added definitions for intrinsic int128 support.
- Modified GitHub Actions workflow to handle missing asset directories gracefully and ensure correct versioning in Info.plist.
- Refactored string handling in multiple source files to use std::memcpy for safer string copying, preventing potential buffer overflows.
- Improved font loading logic and ensured consistent handling of theme properties in the editor.
2025-09-27 22:03:03 -04:00
scawful
332f050cf6 Update library directories and improve string handling in source files
- Added 'absl::numeric' to the AdditionalLibraryDirectories in yaze.vcxproj for enhanced functionality.
- Refactored string handling in multiple source files to use std::strncpy for safer string copying and prevent buffer overflows.
- Cleaned up unnecessary whitespace and improved code readability across various files.
2025-09-27 21:55:01 -04:00
scawful
a9f1a1637d Refactor font loading and enhance Windows font management
- Removed unused includes and improved code readability by renaming variables for clarity.
- Updated font size constants to use uppercase 'F' for consistency.
- Implemented helper functions for better handling of font paths and normalization.
- Enhanced the LoadSystemFonts function to load essential Windows fonts and added error handling for font loading failures.
- Streamlined the registry font loading process to ensure safer and more efficient font management.
2025-09-27 21:50:49 -04:00
scawful
faca7cfafe Enhance CMake and file dialog functionality
- Updated CMakeLists.txt to include additional MSVC compiler options for better compatibility and performance, such as support for large object files and UTF-8 encoding.
- Modified absl.cmake to add support for absl::int128.
- Refactored file dialog implementation in file_dialog.cc to utilize a feature flag for native file dialog support, improving cross-platform compatibility and maintainability. Added placeholder implementations for CI/CD environments.
2025-09-27 21:47:01 -04:00
scawful
d244fc37c0 Add vcpkg triplet setup documentation for Windows
- Created a new document detailing the installation and configuration of the `x64-windows` triplet for building YAZE on Windows.
- Included multiple methods for triplet installation, common issues and solutions, and alternative triplet options.
- Provided verification steps and instructions for building YAZE using the configured triplet, enhancing clarity for developers.
2025-09-27 21:36:20 -04:00
scawful
d848a8d7d1 Add pre-build event to generate yaze_config.h from template
- Introduced a pre-build event in yaze.vcxproj to automate the generation of yaze_config.h from yaze_config.h.in, replacing version placeholders with actual values.
- Updated the CI/CD workflow to include a step for generating yaze_config.h during Windows builds, ensuring consistency across environments.
2025-09-27 21:33:59 -04:00
scawful
842878eeb3 Remove vcpkg.json.backup and streamline CI/CD workflow
- Deleted the vcpkg.json.backup file to eliminate redundancy in project configuration.
- Updated the CI/CD workflow to simplify the fallback mechanism for dependency installation on Windows, ensuring a more efficient build process.
2025-09-27 21:29:05 -04:00
scawful
0fbb711177 Add vcpkg.json.backup for Yaze project configuration
- Created a backup of the vcpkg.json file, detailing project dependencies including zlib, libpng, sdl2, and abseil, with platform exclusions for UWP.
- Specified a builtin-baseline and provided version overrides for abseil, ensuring consistent dependency management.
2025-09-27 21:28:43 -04:00
scawful
51081c1bd0 Organize project structure in yaze.vcxproj by adding filters for various components and assets, improving clarity and maintainability. Updated asset inclusion to reflect new filter organization. 2025-09-27 21:28:29 -04:00
scawful
22cf394e72 Update yaze.vcxproj to include additional library directories and organize source files into filters for improved project structure and clarity 2025-09-27 21:27:02 -04:00