Xcode iOS: Enabling "bitcode" breaks build
iOS toolchain:
# toolchain.cmake
set(CMAKE_OSX_SYSROOT "iphoneos" CACHE STRING "" FORCE)
set(CMAKE_MACOSX_BUNDLE YES)
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer")
set(MACOSX_BUNDLE_GUI_IDENTIFIER "com.example")
set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH NO)
CMake project:
# CMakeLists.txt
cmake_minimum_required(VERSION 3.9)
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/toolchain.cmake")
project(foo)
add_library(foo SHARED foo.cpp)
Build without "bitcode" works fine:
> rm -rf _builds
> cmake -H. -B_builds -GXcode
> cmake --build _builds --config Release
Build with "bitcode" stops with error:
> rm -rf _builds
> cmake -H. -B_builds -GXcode -DCMAKE_XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE=bitcode
> cmake --build _builds --config Release
/.../Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
-create
/.../_builds/foo.build/Release-iphoneos/foo.build/Objects-normal/armv7/libfoo.dylib
/.../_builds/foo.build/Release-iphoneos/foo.build/Objects-normal/arm64/libfoo.dylib
-output /.../_builds/Release-iphoneos/libfoo.dylib
fatal error: /.../Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo:
can't create temporary output file:
/.../_builds/Release-iphoneos/libfoo.dylib.lipo
(Not a directory)
Seems that on some step file with name /.../_builds/Release-iphoneos
created instead of directory.
- Xcode 7.3.1
- CMake 3.9.1