Henrik Rydgård
2018-02-10 19:09:12 UTC
Is there an ETA on the fix to only gradle sync one config, or at least an
open issue to track? It's not only for every ABI and debug/release but also
for every flavor so there's a combinatorial explosion that in my case
results in a 10 minute gradle sync, which is rather annoying when trying to
use git bisect when there are changes to the CMakeLists.txt...
open issue to track? It's not only for every ABI and debug/release but also
for every flavor so there's a combinatorial explosion that in my case
results in a 10 minute gradle sync, which is rather annoying when trying to
use git bisect when there are changes to the CMakeLists.txt...
The gradle sync step runs cmake so it can learn things like what
compilation flags you're using aiui (needed for IDE features). Right now it
does that for all of your supported ABIs, for both debug and release. This
is going to get fixed in the future so it only syncs one config instead.
I'm not sure, but you may be able to mitigate this a bit by changing your
abiFilters to only a single target during development and then put it back
once you're ready to test other ABIs.
FYI, this only results in abysmally slow behavior on Windows because
CreateProcess takes so much longer than fork (at least, that's what appears
to be the difference). If it's an option for you, using Linux or Mac (even
in a VM) would speed things up significantly.
compilation flags you're using aiui (needed for IDE features). Right now it
does that for all of your supported ABIs, for both debug and release. This
is going to get fixed in the future so it only syncs one config instead.
I'm not sure, but you may be able to mitigate this a bit by changing your
abiFilters to only a single target during development and then put it back
once you're ready to test other ABIs.
FYI, this only results in abysmally slow behavior on Windows because
CreateProcess takes so much longer than fork (at least, that's what appears
to be the difference). If it's an option for you, using Linux or Mac (even
in a VM) would speed things up significantly.
I have a rather large CMake setup for my game engine that takes a minute
or so to configure due to all the feature detection CMake needs to do. For
other platforms, this isn't really a big deal since I generally only need
to configure once even if I'm adding new files. I've set up a new Android
Studio project that links to my existing CMakeLists.txt to build a shared
library, and it does work eventually, however it's taking a long long
time. For whatever reason, gradle/Android Studio is running the CMake
configure about 10 times back to back before it even starts compiling
anything. So just making a minute change to CMakeLists.txt or one of it's
sub projects can eat up about 15 minutes of time just configuring over and
over again.
My theory is that gradle is configuring CMake for every build task in the
default gradle setup, but I have no knowledge of how to tell if that's the
case let alone fix it.
Is anyone else seeing this problem or know how to fix it?
--
You received this message because you are subscribed to the Google Groups
"android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an
<javascript:>.
Visit this group at https://groups.google.com/group/android-ndk.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-ndk/ada0bf2b-eb4a-4661-9889-0b4eb8dde0bc%40googlegroups.com
<https://groups.google.com/d/msgid/android-ndk/ada0bf2b-eb4a-4661-9889-0b4eb8dde0bc%40googlegroups.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.
or so to configure due to all the feature detection CMake needs to do. For
other platforms, this isn't really a big deal since I generally only need
to configure once even if I'm adding new files. I've set up a new Android
Studio project that links to my existing CMakeLists.txt to build a shared
library, and it does work eventually, however it's taking a long long
time. For whatever reason, gradle/Android Studio is running the CMake
configure about 10 times back to back before it even starts compiling
anything. So just making a minute change to CMakeLists.txt or one of it's
sub projects can eat up about 15 minutes of time just configuring over and
over again.
My theory is that gradle is configuring CMake for every build task in the
default gradle setup, but I have no knowledge of how to tell if that's the
case let alone fix it.
Is anyone else seeing this problem or know how to fix it?
--
You received this message because you are subscribed to the Google Groups
"android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an
<javascript:>.
Visit this group at https://groups.google.com/group/android-ndk.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-ndk/ada0bf2b-eb4a-4661-9889-0b4eb8dde0bc%40googlegroups.com
<https://groups.google.com/d/msgid/android-ndk/ada0bf2b-eb4a-4661-9889-0b4eb8dde0bc%40googlegroups.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk+***@googlegroups.com.
To post to this group, send email to android-***@googlegroups.com.
Visit this group at https://groups.google.com/group/android-ndk.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-ndk/49ee776f-28fe-48b6-9334-c519ee38c802%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk+***@googlegroups.com.
To post to this group, send email to android-***@googlegroups.com.
Visit this group at https://groups.google.com/group/android-ndk.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-ndk/49ee776f-28fe-48b6-9334-c519ee38c802%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.