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

Support shared library build #686

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

uilianries
Copy link

@uilianries uilianries commented Jul 14, 2023

So far is only possible to build Unity as static library, but actually it would be nice if was possible to not enforce only static, but enabling both configurations.

This pull request removes the STATIC directive from add_library and exports all symbols when building on Windows, only when as shared.

Plus, I added an entire workflow to validate Unity with CMake, building as static and shared library.

Latest build result (commit 11e95e2): https://github.com/uilianries/Unity/actions/runs/5553214628

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
target_compile_definitions(${PROJECT_NAME}
PRIVATE
# Enable shared library
$<$<BOOL:${BUILD_SHARED_LIBS}>:UNITY_SKIP_DEFAULT_RUNNER>
Copy link
Contributor

Choose a reason for hiding this comment

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

What about adding option for BUILD_SHARED_LIBS, as described in cmake docs?

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

2 participants