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

Build the plug-ins as CMake modules. #144

Merged
merged 2 commits into from May 4, 2024

Conversation

MaddTheSane
Copy link
Contributor

This causes the level scripts/plugins to be built, on macOS, as a mach bundle (doesn't have an install name) instead of a library.
This also includes a hack to make the created modules for macOS match the old (pre-patch) file extension, otherwise they would have the extension of ".so" by CMake.

@Lgt2x
Copy link
Collaborator

Lgt2x commented Apr 23, 2024

I don't really get it, what's the actual benefit of the mach bundle instead of a library? What advantage to we get to use MODULE instead of SHARED ?

@winterheart
Copy link
Collaborator

I think these changes are intended to allow regenerate d3-linux.hog for macOS.

@MaddTheSane
Copy link
Contributor Author

MaddTheSane commented Apr 23, 2024

Mach bundles are designed to be loaded at runtime, as opposed to dynamic libraries, which are designed to be loaded at link time.

I will admit that changing MODULE to SHARED is a very low-priority issue.

@JeodC JeodC requested review from Arcnor and jcoby April 25, 2024 18:11
@JeodC
Copy link
Member

JeodC commented Apr 25, 2024

This is going to make components load at runtime instead of link time right? Will this break any compatibility with the older systems the game was originally built for? If so, this might be a modernization to push back for later.

@MaddTheSane
Copy link
Contributor Author

No, Descent 3 already loads these files at runtime.

@Lgt2x
Copy link
Collaborator

Lgt2x commented Apr 28, 2024

@Arcnor @jcoby has this PR been tested? Can we merge?

@Arcnor
Copy link
Collaborator

Arcnor commented Apr 28, 2024

I tested it and it fails on Mac Intel at least. I cannot say if it fails because of it or because of something merged just before it, though

@Lgt2x
Copy link
Collaborator

Lgt2x commented Apr 28, 2024

I tested it and it fails on Mac Intel at least. I cannot say if it fails because of it or because of something merged just before it, though

please investigate and report back =)

@JeodC
Copy link
Member

JeodC commented Apr 29, 2024

From discord user thunderbird: The current main branch requires zlib1.dll in the Descent3 install directory, this PR removes the need.

@winterheart
Copy link
Collaborator

From discord user thunderbird: The current main branch requires zlib1.dll in the Descent3 install directory, this PR removes the need.

Probably this is another story and another issue. We should bundle libraries into artifacts to fix this.

Copy link
Contributor

@Jayman2000 Jayman2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this change makes sense, and I was able to verify that it works on NixOS 23.11. The commit that this PR is based on is broken on my system, but when I rebased this PR on main, it worked fine.

@Lgt2x
Copy link
Collaborator

Lgt2x commented May 3, 2024

Any mac user can test this one again rebased on master @jcoby @Arcnor ? I'd love this merged, especially with #275 around

@MaddTheSane
Copy link
Contributor Author

Just rebased.

@JeodC
Copy link
Member

JeodC commented May 4, 2024

Just rebased.

Once the conflict is resolved I'll merge. Sorry it's taken so long.

@MaddTheSane
Copy link
Contributor Author

Rebased again.

@JeodC JeodC merged commit bea6bec into DescentDevelopers:main May 4, 2024
10 checks passed
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.

None yet

6 participants