Add Windows support for shared libraries #1043
Open
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.
The package compiles a library, but does not expose any symbol on Windows, so if the CMake project is compiled with
-DBUILD_SHARED_LIBS:BOOL=ON
on Windows, no library is actually generated.On Linux and macOS, everything compiles fine with
-DBUILD_SHARED_LIBS:BOOL=ON
as by default all the symbols are visible. We can achieve exactly the same behavior in Windows by setting toON
theCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
CMake variable, so this PR sets theCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
variable toON
, to ensure that the compilation with-DBUILD_SHARED_LIBS:BOOL=ON
works fine on Windows.