-
Notifications
You must be signed in to change notification settings - Fork 855
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
enable shared/static builds #906
enable shared/static builds #906
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I don't think I have a problem with exporting all symbols on Windows if that simplifies things and doesn't introduce any issues.
The two funny things I'm doing which might get effected with static / shared builds is the font stuff which it looks like you've tested, and also registering video drivers (eg. https://github.com/stevenlovegrove/Pangolin/blob/master/components/pango_video/CMakeLists.txt#L31) so you could perhaps do a quick check by running VideoViewer test://
thanks!
Alright. |
This adds build configurations for testing shared and static builds (
BUILD_SHARED_LIBS
ON
orOFF
) for all targets in the CI.The most notable change here is that I had to remove the export header generation via
GenerateExportHeader
and export all symbols on Windows viaCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
. Without this, it is not possible to build a shared Pangolin library as a lot of symbols cannot be resolved with the MSVC compiler.I am not familiar with development with the MSVC compiler on windows. But I guess the proper solution would be to properly export those symbols by adding
PANGOLIN_EXPORT
to them.LNK2019 errors:
LNK2001 errors:
Also Fixes #760.