-
Notifications
You must be signed in to change notification settings - Fork 122
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 building on msys/clang64 #276
Conversation
7874265
to
61124d3
Compare
61124d3
to
b1296f9
Compare
Hmm -- looks like there's a problem with exception interop when using libc++ instead of libstdc++ (see https://www.msys2.org/docs/environments/). The following tests fail:
|
6db2aa4
to
922c89e
Compare
@davidchisnall ok - so it seems the The only test which still fails on the msys2/clang environment (i.e. with libc++) is the unexpected exception handler. Looks like Does get us down to only one failing test, though:
|
Upstream libobjc2 now has clang64 support (via gnustep/libobjc2#276). Cherry-pick that commit and add clang64 to the build matrix for libobjc2. This cherry-picked commit also fixes the ".dll.a" suffix for library objects.
Upstream libobjc2 now has clang64 support (via gnustep/libobjc2#276). Cherry-pick that commit and add clang64 to the build matrix for libobjc2. This cherry-picked commit also fixes the ".dll.a" suffix for library objects.
Upstream libobjc2 now has clang64 support (via gnustep/libobjc2#276). Cherry-pick that commit and add clang64 to the build matrix for libobjc2. This cherry-picked commit also fixes the ".dll.a" suffix for library objects.
* Support building on msys/clang64 * Support libc++
For some reason,
CMAKE_OBJCXX_IMPLICIT_INCLUDE_DIRECTORIES
was not set when compiling on MSYS, which would cause CMake to add-isystem C:/msys64/clang64/include
when compilingarc.mm
.That, in turn, resulted in build warnings like this:
This PR:
CMAKE_OBJCXX_IMPLICIT_INCLUDE_DIRECTORIES
to matchCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
to avoid cmake injecting the-isystem
argumentCMAKE_LINK_LIBRARY_SUFFIX
andCMAKE_SHARED_LIBRARY_PREFIX
, to avoid trying to add linking with c++ via-lc++.lib
(the link library name on msys is libc++.dll.a)CMAKE_IMPORT_LIBRARY_SUFFIX
to generatelibobjc.dll.a
(in line with the msys naming convention)CMAKE_INSTALL_BINDIR
if not set