-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
[vcpkg-ci-cmake-toolchain-file] Validate toolchain file #43527
base: master
Are you sure you want to change the base?
Conversation
What exactly is the mess? Seems like android is missing it up? |
I don't think android will take the blame. The combination of vcpkg's chosen chainloaded toolchain together with This: vcpkg/scripts/buildsystems/vcpkg.cmake Lines 435 to 452 in fc97d3e
leads to that:
leads to that:
NB:
IMHO there should be much less directories in the default path. |
why is /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64 a valid search path ? |
The NDK's toolchain file (recommended = "legacy") puts the NDK dir into The test port comes with an independent CMake project. Building the test project with plain NDK and official CMake toolchain instructions shows the same issue. So yes, it is a NDK issue. But vcpkg might want a mitigation now. |
This would also change |
Well, with list(APPEND CMAKE_IGNORE_PREFIX_PATH "${ANDROID_TOOLCHAIN_ROOT}/lib") |
BTW there is also a wrong suffix order for static CRT linkage. |
This isn't easy to change. (CMAKE_FIND_LIBRARY_SUFFIXES is set after the toolchain file. Sigh.) And changing it doesn't help for Android because the dir with the shared libs is visited before the dir with static libs. (The suffixes are handled with pattern matching, unlike NAMES, which require NAMES_PER_DIR for that behavior. Sigh.) |
33c2f82
to
cb49706
Compare
WIP. Exposing toolchain bug for android, seen in #43504, #41905.