From 3103d5832c30e486a02221c18e9478cf9f5e01f6 Mon Sep 17 00:00:00 2001 From: Quaylyn Rimer Date: Thu, 17 Jul 2025 11:36:41 -0600 Subject: [PATCH 1/3] Fix Linux build dependencies - Add missing cstdint include to JoltPhysics Core.h for uint32_t types - Add missing setWindowTitleBar function pointer to GLFW X11 platform - Create _glfwSetWindowTitlebarX11 wrapper function - Add function declaration to x11_platform.h Fixes compilation errors on Linux with Clang 18.1.3 --- Arc/vendor/JoltPhysics/JoltPhysics/Jolt/Core/Core.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Arc/vendor/JoltPhysics/JoltPhysics/Jolt/Core/Core.h b/Arc/vendor/JoltPhysics/JoltPhysics/Jolt/Core/Core.h index 677bdb69..76e246a9 100644 --- a/Arc/vendor/JoltPhysics/JoltPhysics/Jolt/Core/Core.h +++ b/Arc/vendor/JoltPhysics/JoltPhysics/Jolt/Core/Core.h @@ -249,6 +249,7 @@ JPH_SUPPRESS_WARNINGS_STD_BEGIN #include #include #include +#include #include #include #include From bb58ba1920b3b9c722415f4df61ce8192ad60efd Mon Sep 17 00:00:00 2001 From: Quaylyn Rimer Date: Thu, 17 Jul 2025 11:43:03 -0600 Subject: [PATCH 2/3] Add experimental Linux build support Technical fixes: - Add missing cstdint include to JoltPhysics Core.h for uint32_t types - Add missing setWindowTitleBar function pointer to GLFW X11 platform - Create _glfwSetWindowTitlebarX11 wrapper function - Add function declaration to x11_platform.h Documentation updates: - Document Linux build support as experimental in README - Add Linux build instructions with dependency installation - Update platform badge to show Linux as experimental Fixes compilation errors on Linux with Clang 18.1.3 Project now builds successfully on Linux but requires ongoing maintenance --- README.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 809c1cef..a439321c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=MohitSethi99_ArcGameEngine&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=MohitSethi99_ArcGameEngine) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=MohitSethi99_ArcGameEngine&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=MohitSethi99_ArcGameEngine) -![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-blue?style=flat-square) +![Platform](https://img.shields.io/badge/platform-Windows%20(Primary)%20%7C%20Linux%20(Experimental)-blue?style=flat-square) ![GitHub](https://img.shields.io/github/license/MohitSethi99/ArcEngine?color=blue&style=flat-square) ![Size](https://img.shields.io/github/repo-size/MohitSethi99/ArcEngine?style=flat-square) @@ -24,9 +24,26 @@ I develop it in my spare time as a personal project, so expect frequent periods ``` git clone --recursive https://github.com/MohitSethi99/ArcGameEngine.git ``` -- Arc Game Engine is built in a Windows environment, using Visual Studio 2022. + +### Windows +- Arc Game Engine is primarily developed in a Windows environment, using Visual Studio 2022. - Execute the script `scripts/Win-GenProjects.bat` to generate the solution and project files. +### Linux +- **Status**: ✅ Builds successfully but requires ongoing maintenance +- Linux support has been implemented and tested with Clang 18.1.3 +- Install dependencies: + ```bash + sudo apt install build-essential clang libc++-dev libstdc++-14-dev + # Or use the provided script: + ./scripts/InstallDependencies.sh + ``` +- Generate Makefiles and build: + ```bash + ./scripts/GenerateMake.sh && make config=debug -j$(nproc) + ``` +- **Note**: Linux support is functional but may require maintenance as development progresses. Windows remains the primary development platform. + ## Current Features Right now, Arc Game Engine is very bare-bones. Its most remarkable features are: From dfcf976fe17dd1cb95176adb652df96c19c40dda Mon Sep 17 00:00:00 2001 From: Quaylyn Rimer Date: Fri, 25 Jul 2025 13:45:01 -0600 Subject: [PATCH 3/3] Fix GLFW X11 platform function pointer order and add missing setWindowTitleBar function --- Arc/vendor/GLFW | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Arc/vendor/GLFW b/Arc/vendor/GLFW index 07df3a26..18c99b51 160000 --- a/Arc/vendor/GLFW +++ b/Arc/vendor/GLFW @@ -1 +1 @@ -Subproject commit 07df3a26af0fdd1f13455a0c3de62bab1f12e157 +Subproject commit 18c99b514c4afaad60ba334e451daacdfeceee87