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

Allow static library linkage. #135

Merged
merged 12 commits into from
Jul 17, 2024
Merged

Allow static library linkage. #135

merged 12 commits into from
Jul 17, 2024

Conversation

crud89
Copy link
Owner

@crud89 crud89 commented Jul 17, 2024

Describe the pull request

This PR allows to statically link the engine libraries, which increases executable file size, but reduces overall file size as well as some performance overhead. Keep in mind that some dependencies cannot be statically linked (e.g., the d3d12 libraries and the Vulkan loader). Also this does not statically link the CRT.

Alongside some changes to the overall build system have been made. The overlay port configuration has been removed from the CMake script into a vcpkg configuration file. Also overlay triplets have been introduced, that are used for proper library linkage setup and allow to restrict builds to only build release versions of dependencies, which should speed up CI builds.

Related issues

This partially addresses issue #101.

@crud89 crud89 added Type: Requirement An implementation is required before the next release. Module: Build 🛠 Issues that involve the build process. labels Jul 17, 2024
@crud89 crud89 added this to the Alpha #04 milestone Jul 17, 2024
@crud89 crud89 self-assigned this Jul 17, 2024
@crud89 crud89 marked this pull request as ready for review July 17, 2024 17:26
@crud89 crud89 merged commit 9cbc969 into main Jul 17, 2024
@crud89 crud89 deleted the static-linking branch July 17, 2024 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Module: Build 🛠 Issues that involve the build process. Type: Requirement An implementation is required before the next release.
Projects
Status: v0.4.1
Development

Successfully merging this pull request may close these issues.

1 participant