-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[cmake] Install runtime swiftDemangle pieces. #27843
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
[cmake] Install runtime swiftDemangle pieces. #27843
Conversation
In DLL environments (Windows) a library RUNTIME piece will be the DLL itself (while the .lib will be the LIBRARY piece). Adding a RUNTIME destination install swiftDemangle.dll correctly in its expected place. This was avoiding some tests from running in the Windows CI machines. It should also allow people use tools like swift-demangle.
The @swift-ci please test Windows platform |
@swift-ci please smoke test |
Maybe you've configured Windows differently, but |
The test that links against this library is the In theory #27844 should also apply to this case and make this work, but since there was a I double-checked in my Linux build and it seems that it is also being installed for Linux, and it does also appear in the official toolchains for Ubuntu. It seems that #12705 removed the restriction of not being build for non-Apple targets. |
(Just to be clear, this patch is fine for the situation as is, and don't take my questions as reasons to stop committing it.) Could the unit tests also link against the static variant? |
I think there's two set of tests: I will wait until Saleem answer. I think if we intend to install the library, we might need to provide headers, which as far as I see right now, are not installed at all (which makes the library useless). |
This should be installed - it is so that users have a way to use the APIs to actually detangle the symbol from a given distribution of the toolchain without having to resort to |
Sure, but you can do that with the static library, and then tools linking against libswiftDemangle won't be subject to breakage in libswiftDemangle's unstable API. The fact that it shipped as a dynamic library on Apple platforms is an accident. |
In DLL environments (Windows) a library RUNTIME piece will be the
DLL itself (while the .lib will be the LIBRARY piece). Adding a RUNTIME
destination install swiftDemangle.dll correctly in its expected place.
This was avoiding some tests from running in the Windows CI machines. It
should also allow people use tools like swift-demangle.
The error appeared something like:
/cc @xiaobai (I cannot find you as a reviewer)