summaryrefslogtreecommitdiffstats
path: root/contrib/cmake
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-04 13:00:48 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-04 13:00:48 (GMT)
commit791c99ed223c8491c9da2c9863da07cc84122514 (patch)
tree69154cf6e91fc8e6dc1993fa928a957803ede9ab /contrib/cmake
parentf0e9ecf5bc708f57270f8b7e3abb50538224c3ef (diff)
downloaduscxml-791c99ed223c8491c9da2c9863da07cc84122514.zip
uscxml-791c99ed223c8491c9da2c9863da07cc84122514.tar.gz
uscxml-791c99ed223c8491c9da2c9863da07cc84122514.tar.bz2
Polished iOS builds and docs
Diffstat (limited to 'contrib/cmake')
-rw-r--r--contrib/cmake/CrossCompile-iOS-Sim.cmake18
-rw-r--r--contrib/cmake/CrossCompile-iOS.cmake31
2 files changed, 32 insertions, 17 deletions
diff --git a/contrib/cmake/CrossCompile-iOS-Sim.cmake b/contrib/cmake/CrossCompile-iOS-Sim.cmake
index 5a11761..7ed22fb 100644
--- a/contrib/cmake/CrossCompile-iOS-Sim.cmake
+++ b/contrib/cmake/CrossCompile-iOS-Sim.cmake
@@ -2,9 +2,7 @@
# build$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cmake/CrossCompile-iOS-Sim.cmake
SET(CMAKE_SYSTEM_NAME Generic)
-if ("$ENV{IOS_SDK_VERSION}" STREQUAL "")
- SET(CMAKE_SYSTEM_VERSION 6.1)
-else()
+if (NOT "$ENV{IOS_SDK_VERSION}" STREQUAL "")
SET(CMAKE_SYSTEM_VERSION $ENV{IOS_SDK_VERSION})
endif()
SET(CMAKE_SYSTEM_PROCESSOR i386)
@@ -12,6 +10,7 @@ SET(CMAKE_SYSTEM_PROCESSOR i386)
SET(ARCHS "-arch i386")
SET(CMAKE_CROSSCOMPILING_TARGET IOS)
SET(CMAKE_OSX_ARCHITECTURES "i386")
+SET(IOS_MINPHONE_OS "4.3")
SET(IOS ON)
SET(IOSSIM ON)
SET(UNIX ON)
@@ -44,6 +43,10 @@ if (IOS6_OR_LATER)
# we have to use clang - llvm will choke on those __has_feature macros?
SET (CMAKE_C_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang")
SET (CMAKE_CXX_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++")
+ SET (CMAKE_AR "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_NM "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_STRIP "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip" CACHE FILEPATH "" FORCE)
if ($ENV{MACOSX_DEPLOYMENT_TARGET})
message(FATAL_ERROR "llvm will croak with MACOSX_DEPLOYMENT_TARGET environment variable set when building for ios - unset MACOSX_DEPLOYMENT_TARGET")
@@ -68,15 +71,16 @@ set(CMAKE_SYSTEM_FRAMEWORK_PATH
/System/Library/Frameworks)
# force compiler and linker flags
-SET(CMAKE_C_LINK_FLAGS ${ARCHS})
-SET(CMAKE_CXX_LINK_FLAGS ${ARCHS})
-SET(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} --sysroot=${SDKROOT}")
-SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} --sysroot=${SDKROOT}")
+SET(CMAKE_C_LINK_FLAGS "${ARCHS} --sysroot=${SDKROOT} -miphoneos-version-min=${IOS_MINPHONE_OS}")
+SET(CMAKE_CXX_LINK_FLAGS "${ARCHS} --sysroot=${SDKROOT} -miphoneos-version-min=${IOS_MINPHONE_OS}")
+# SET(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} --sysroot=${SDKROOT}")
+# SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} --sysroot=${SDKROOT}")
# SET(CMAKE_C_FLAGS ${ARCHS}) # C_FLAGS wont stick, use ADD_DEFINITIONS instead
# SET(CMAKE_CXX_FLAGS ${ARCHS})
ADD_DEFINITIONS(${ARCHS})
ADD_DEFINITIONS("--sysroot=${SDKROOT}")
+ADD_DEFINITIONS("-miphoneos-version-min=${IOS_MINPHONE_OS}")
# ios headers
INCLUDE_DIRECTORIES(SYSTEM "${SDKROOT}/usr/include")
diff --git a/contrib/cmake/CrossCompile-iOS.cmake b/contrib/cmake/CrossCompile-iOS.cmake
index 6d8bf7d..3e67c79 100644
--- a/contrib/cmake/CrossCompile-iOS.cmake
+++ b/contrib/cmake/CrossCompile-iOS.cmake
@@ -2,9 +2,7 @@
# build$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cmake/CrossCompile-iOS.cmake
SET(CMAKE_SYSTEM_NAME Generic)
-if ("$ENV{IOS_SDK_VERSION}" STREQUAL "")
- SET(CMAKE_SYSTEM_VERSION 6.1)
-else()
+if (NOT "$ENV{IOS_SDK_VERSION}" STREQUAL "")
SET(CMAKE_SYSTEM_VERSION $ENV{IOS_SDK_VERSION})
endif()
SET(CMAKE_SYSTEM_PROCESSOR arm)
@@ -31,29 +29,42 @@ else()
SET(DEVROOT "/Developer/Platforms/iPhoneOS.platform/Developer")
endif()
+set(IOS6_OR_LATER OFF)
+if (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "5.0" OR ${CMAKE_SYSTEM_VERSION} VERSION_GREATER "5.0")
+ SET(CMAKE_OSX_ARCHITECTURES armv6 armv7)
+ SET(ARCHS "-arch armv6 -arch armv7")
+endif()
+
if (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "6.0" OR ${CMAKE_SYSTEM_VERSION} VERSION_GREATER "6.0")
set(IOS6_OR_LATER ON)
-else()
- set(IOS6_OR_LATER OFF)
+ SET(CMAKE_OSX_ARCHITECTURES armv7 armv7s)
+ SET(ARCHS "-arch armv7 -arch armv7s")
endif()
-if (IOS6_OR_LATER)
- # no armv6 support in ios6 - armv7s was added, but we did no compile our dependencies for it
+if (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "7.0" OR ${CMAKE_SYSTEM_VERSION} VERSION_GREATER "7.0")
+ set(IOS6_OR_LATER ON)
SET(CMAKE_OSX_ARCHITECTURES armv7 armv7s)
SET(ARCHS "-arch armv7 -arch armv7s")
+ # SET(CMAKE_OSX_ARCHITECTURES armv7 armv7s arm64)
+ # SET(ARCHS "-arch armv7 -arch armv7s -arch arm64")
+endif()
+
+if (IOS6_OR_LATER)
+ # no armv6 support in ios6 - armv7s was added, but we did no compile our dependencies for it
# we have to use clang - llvm will choke on those __has_feature macros?
SET (CMAKE_C_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang")
SET (CMAKE_CXX_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++")
+ SET (CMAKE_AR "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_NM "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm" CACHE FILEPATH "" FORCE)
+ SET (CMAKE_STRIP "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip" CACHE FILEPATH "" FORCE)
if ($ENV{MACOSX_DEPLOYMENT_TARGET})
message(FATAL_ERROR "llvm will croak with MACOSX_DEPLOYMENT_TARGET environment variable set when building for ios - unset MACOSX_DEPLOYMENT_TARGET")
endif()
else()
- SET(CMAKE_OSX_ARCHITECTURES armv6 armv7)
- SET(ARCHS "-arch armv6 -arch armv7")
-
SET (CMAKE_C_COMPILER "${DEVROOT}/usr/bin/gcc")
SET (CMAKE_CXX_COMPILER "${DEVROOT}/usr/bin/g++")