-
Notifications
You must be signed in to change notification settings - Fork 27
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
Xcode 13(.1) support - CMake pre-build phase #1196
Comments
@Hsilgos, do we have the same issue for internal Xcode builds? |
Hi @turekj , thank you for your interest. We didn't see such issue with Xcode 13(.1) so far. Which cmake do you use? May be you can provide small example? Unfortunately we don't run those tests on CI because it takes too long for Xcode. You may also specify filter to run only your test with environment variable CTEST_FILTER="regex-filter". |
@Hsilgos We're currently on cmake Unfortunately, it's unlikely that I'm able to provide a small example. The problem is that:
What I can offer is:
@Hsilgos thank you for pointing me how to run the tests, that's greatly appreciated and will help me do a meaningful contribution. 🌮
|
@turekj , do you have any update regarding this issue? Do you still have it in latest Xcodes? |
@Hsilgos thank you for following up. We have not resolved the issue. However, we can no longer reproduce it as we had to alter the project architecture. Yet another issue popped up with our original approach and forced us to do the switch. The original approach was:
so that the framework was built alongside the main target of the application. However, with recent build optimizations at Xcode, we encountered two major issues:
I tried various approaches for the As a result, I decided to migrate the C++ framework target to be independently built as a
This approach resolves all the issues:
I'll close this issue as I have no insight on how to make the original architecture work. |
Hello everyone!
We've been using
gluecodium
successfully for our iOS/Android project up to the point when Xcode 13 was released. Our setup is that we generate the iOS framework containing C++ sources andgluecodium
generated Swift interfaces for that. The cmake generated project (withgluecodium
steps) is later added as a subproject to the main project.Xcode 13 introduced a new regression (feature?) that causes all code-generation libraries to malfunction. In short, the build indexing for Xcode (that's running in parallel to the regular build) now triggers all the build phases, causing the regular builds to fail if indexing is happening at the same time. More details can be found here.
The solution to this problem is to check the environment variables for the value of
$ACTION
. The value ofindexbuild
means that the step was run as a part of the indexing mechanism, thus we shouldn't generate the code.I think that
gluecodium
should have a similar check implemented. I'd like to contribute to building this. However, I'm not sure what's the best place to have that check implemented.Initially, I thought about the gluecodium main function. However,
runGenerate.cmake
also seems like a viable option and fits the scheme even better since it's a part of the build phase script that's executed.Can you please help me figure out where this check fits and also how do you expect me to test whether this is working properly? Any help is much appreciated.
The text was updated successfully, but these errors were encountered: