Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-platform support #4

Open
roh1th-s opened this issue Oct 16, 2024 · 15 comments
Open

Cross-platform support #4

roh1th-s opened this issue Oct 16, 2024 · 15 comments
Assignees
Labels
Bounty: 500 enhancement New feature or request good first issue Good for newcomers hacknight-2024 Hacknight 2024 issue hacktoberfest Hacktoberfest issue

Comments

@roh1th-s
Copy link
Collaborator

roh1th-s commented Oct 16, 2024

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 #ifdef etc) for OS specific stuff.
  • You need to link to different libraries depending on the platform, eg. -lGLU -lGL -lm is 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
@roh1th-s roh1th-s added enhancement New feature or request good first issue Good for newcomers hacktoberfest Hacktoberfest issue labels Oct 16, 2024
@roh1th-s roh1th-s changed the title Extend Makefile to support other platforms Cross-platform support Oct 16, 2024
@roh1th-s roh1th-s added hacknight-2024 Hacknight 2024 issue Bounty: 500 labels Oct 16, 2024
@Viprakshi
Copy link

can you assign me this issue @roh1th-s

@roh1th-s
Copy link
Collaborator Author

!assign @Viprakshi

@Viprakshi
Copy link

can you assign me this issue @roh1th-s

@roh1th-s
Copy link
Collaborator Author

!assign @Viprakshi

@roh1th-s
Copy link
Collaborator Author

@Viprakshi if you want to work on this go ahead, the bot seems to be having issues rn

@Viprakshi
Copy link

can you please deassign me here

@roh1th-s
Copy link
Collaborator Author

!deassign

@roh1th-s
Copy link
Collaborator Author

@Viprakshi I'm not sure if the bot is doing anything since it's not replying. If you're trying to work on another issue and they're not able to assign you its probably because of the bot.

@srijan-nodes
Copy link

can I get this?

@roh1th-s
Copy link
Collaborator Author

roh1th-s commented Oct 18, 2024

@srijan-nodes withdraw from this issue first

@srijan-nodes
Copy link

done...that has been completed

@roh1th-s
Copy link
Collaborator Author

!assign @srijan-nodes

@srijan-nodes
Copy link

thanks

@bunsamosa-bot
Copy link

bunsamosa-bot bot commented Oct 18, 2024

Hey @roh1th-s! The timer for the @srijan-nodes to work on the issue has finished, deassign and assign a new contributor or extend the current timer. Contact maintainer leads if inactive @DedLad @polarhive @achyuthcodes30

@srijan-nodes
Copy link

made a pr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bounty: 500 enhancement New feature or request good first issue Good for newcomers hacknight-2024 Hacknight 2024 issue hacktoberfest Hacktoberfest issue
Projects
None yet
Development

No branches or pull requests

3 participants