-
-
Notifications
You must be signed in to change notification settings - Fork 50
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
Windows CI with GitHub actions #894
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mgautierfr
force-pushed
the
libzim_github_ci_windows
branch
6 times, most recently
from
June 7, 2024 13:08
f1bea40
to
cb78cc2
Compare
`static_linkage` is about how we link with dependency libraries. We must set `LIBZIM_EXPORT_DLL` depending of how we build libzim library.
mgautierfr
force-pushed
the
libzim_github_ci_windows
branch
from
June 7, 2024 16:31
cb78cc2
to
0f10522
Compare
mgautierfr
force-pushed
the
libzim_github_ci_windows
branch
3 times, most recently
from
June 14, 2024 14:41
465754b
to
4d536ce
Compare
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.
LGTM. Rebase & fixup is the next and last step before merging.
While they are internal (and not part of public API), unittest are testing them and so we need to link to them.
On Windows, static members are not exported in dll. So we must not use them in inlined method/constructor.
On Windows, if we declare a exported class, the implementation of this class is expected in the dll. When compiling without xapian we must not include headers for which we don't compile the implementation.
MSVC throw a lot of warning because we also must re-export stl symbols used in our exported class. See [1] and [2] (and links inside) for more information. Especially [3] which seems to say that we should have issue at link time if it compatibility issue occurs (and so easily catchable). So I just remove the `werror=true` for now. [1] https://stackoverflow.com/questions/16419318/one-way-of-eliminating-c4251-warning-when-using-stl-classes-in-the-dll-interface [2] https://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstrin [3] https://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstrin#comment66255284_4563701
mgautierfr
force-pushed
the
libzim_github_ci_windows
branch
from
June 14, 2024 15:58
4d536ce
to
0a1d2c3
Compare
Done. Commit message about adding |
veloman-yunkan
approved these changes
Jun 15, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #891
This PR mainly:
This current version generate a lot of warning on windows at compilation about stl structure not exported. As said in the commit message, it seems we may ignore them. @veloman-yunkan, your input would be valuable on this.
Note that we still compile libzim without xapian (the current status on this is that we succeed to compile xapian on windows but unit-tests are failing)
(This PR is mostly the same than #892 but with a branch named as it sister branch on kiwix-build. This way we use its dev dependency archive)