forked from roh1th-s/chess-opengl
-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
Bounty: 500enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacknight-2024Hacknight 2024 issueHacknight 2024 issuehacktoberfestHacktoberfest issueHacktoberfest issue
Description
This project in its current state works exclusively on Windows. To make it more accessible, we need to support other platforms, starting with Linux and potentially extending to MacOS. This will likely require minor code modifications to accommodate OS-specific APIs and headers. Also, the Makefile provided is configured for Windows (MSYS2/MinGW) only - it needs to be extended to other platforms.
Make sure you can test build on the platforms you're adding support for.
- Use conditional compilation (i.e with
#ifdefetc) for OS specific stuff. - You need to link to different libraries depending on the platform, eg.
-lGLU -lGL -lmis required on Linux. - The libraries provided in /lib were built for x64 Windows in an MSYS2 environment. You will need to obtain equivalent binaries for other platforms.
- Support for Linux is essential, bonus points if you can get it to work on MacOS.
- Helpful snippet for OS detection in a Makefile:
ifeq ($(OS),Windows_NT) # OS is a preexisting environment variable on Windows OS = windows else UNAME := $(shell uname -s) ifeq ($(UNAME),Darwin) OS = macos else ifeq ($(UNAME),Linux) OS = linux else $(error OS not supported by this Makefile) endif endif
Metadata
Metadata
Assignees
Labels
Bounty: 500enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacknight-2024Hacknight 2024 issueHacknight 2024 issuehacktoberfestHacktoberfest issueHacktoberfest issue