Skip to content

Conversation

@killerdevildog
Copy link

🐧 Add Experimental Linux Build Support
This PR implements Linux build support for ArcGameEngine, enabling compilation on Linux systems while maintaining Windows as the primary development platform.

🔧 Technical Fixes
GLFW X11 Platform Issues:

Fixed missing setWindowTitleBar function pointer in X11 platform structure initialization
Added _glfwSetWindowTitlebarX11 wrapper function to maintain platform API consistency
Added proper function declaration in x11_platform.h
Resolved function pointer type mismatches causing compilation errors
JoltPhysics Type Definitions:

Added missing #include to JoltPhysics Core.h
Fixes undefined uint32_t type errors when compiling with Clang 18.1.3
📚 Documentation Updates
README Enhancements:

Added comprehensive Linux build section with clear experimental status
Documented dependency installation instructions for Ubuntu/Debian systems
Provided step-by-step build commands using Premake5 + Make
Updated platform badge to reflect Windows (Primary) | Linux (Experimental)
Added maintenance disclaimer explaining ongoing support requirements
✅ Build Verification
Successfully Tested On:

Ubuntu/Debian with Clang 18.1.3
Dependencies: build-essential, clang, libc++-dev, libstdc++-14-dev
All vendor libraries compile without errors (Box2D, GLFW, JoltPhysics, ImGui, etc.)
Arc Engine core library builds successfully
Arc-Editor executable generates correctly

- 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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant