FindIconv: does not work for visionOS
FindIconv.cmake does not work properly when targeting visionOS (Using support added in !8581 (merged))
cmake_minimum_required(VERSION 3.27)
project(iconv_test)
find_package(Iconv REQUIRED)
add_executable(test main.c)
target_link_libraries(test PUBLIC Iconv::Iconv)
#include <iconv.h>
int main(){
iconv_open(NULL, NULL);
}
Steps to reproduce
- Download the attached minimal sample: iconvtest.zip
- Compile for macos by running
mkdir build_mac ; cd build_mac ; cmake -G "Xcode" .. ; cmake --build . --target test
from the sample root directory - Compile for visionOS by running
mkdir build_visionOS ; cd build_visionOS ; cmake -G "Xcode" -DCMAKE_SYSTEM_NAME=visionOS .. ; cmake --build . --target test
Result on macOS: Builds successfully. Result on visionOS:
ld: warning: ignoring file '/Applications/Xcode-beta.app/Contents/Developer/Platforms/XROS.platform/Developer/SDKs/XROS.sdk/usr/lib/libiconv.2.tbd': tapi error: missing required architecture x86_64 in file /Applications/Xcode-beta.app/Contents/Developer/Platforms/XROS.platform/Developer/SDKs/XROS.sdk/usr/lib/libiconv.2.tbd (2 slices)
ld: Undefined symbols:
_iconv_open, referenced from:
_main in main.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)