Regression: iOS multi-arch build doesn't work unless CMAKE_APPLE_ARCH_SYSROOTS is set
It looks like the fix made by @brad.king in https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4583 didn't fully fix the issue. The following iOS project worked fine in CMake 3.16: CMakeLists.txt: ``` project (ios-sample C) set(SOURCES helloworld.c ) add_library (ios-sample SHARED ${SOURCES} ${HEADERS}) ``` helloworld.c: ``` #include <stdio.h> int32_t HelloWorld() { return 0; } ``` Configuring the build with the following CMake command still results in the "No SDK found for architecture" messages mentioned in https://gitlab.kitware.com/cmake/cmake/-/issues/20534 (interestingly the configure step returns exit code 0, this sounds like another issue): ``` $ cmake <source dir> -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="armv7;armv7s" -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 CMake Warning at /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake:204 (message): No SDK found for architecture 'armv7' Call Stack (most recent call first): /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake:213 (_apple_resolve_multi_arch_sysroots) /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/iOS-Initialize.cmake:1 (include) /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake:21 (include) CMakeLists.txt:2 (project) CMake Warning at /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake:204 (message): No SDK found for architecture 'armv7s' Call Stack (most recent call first): /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/Darwin-Initialize.cmake:213 (_apple_resolve_multi_arch_sysroots) /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/Platform/iOS-Initialize.cmake:1 (include) /Volumes/cmake-3.17.20200414-ge565489-Darwin-x86_64/CMake.app/Contents/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake:21 (include) CMakeLists.txt:2 (project) -- The C compiler identification is AppleClang 11.0.0.11000033 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Configuring done -- Generating done -- Build files have been written to: /Users/alexander/dev/test/ios_arm_repro/build ``` If I pass `-DCMAKE_APPLE_ARCH_SYSROOTS="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/;/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/"` I can workaround the issue but this shouldn't be necessary.
issue