Browse Source

iOS: Add IOS variable

Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting
`CMAKE_SYSTEM_NAME` to `iOS`.  Existing iOS toolchain files already
set `IOS` as a short-hand variable, so do the same here.
Ruslan Baratov 6 years ago
parent
commit
e427c7c1d8

+ 1 - 0
Help/manual/cmake-variables.7.rst

@@ -259,6 +259,7 @@ Variables that Describe the System
    /variable/CMAKE_SYSTEM_VERSION
    /variable/CMAKE_SYSTEM_VERSION
    /variable/CYGWIN
    /variable/CYGWIN
    /variable/GHS-MULTI
    /variable/GHS-MULTI
+   /variable/IOS
    /variable/MINGW
    /variable/MINGW
    /variable/MSVC
    /variable/MSVC
    /variable/MSVC10
    /variable/MSVC10

+ 4 - 0
Help/variable/IOS.rst

@@ -0,0 +1,4 @@
+IOS
+---
+
+Set to ``1`` when the target system (:variable:`CMAKE_SYSTEM_NAME`) is ``iOS``.

+ 2 - 0
Modules/Platform/iOS-Initialize.cmake

@@ -4,4 +4,6 @@ if(NOT _CMAKE_OSX_SYSROOT_PATH MATCHES "/iPhone(OS|Simulator)")
   message(FATAL_ERROR "${CMAKE_OSX_SYSROOT} is not an iOS SDK")
   message(FATAL_ERROR "${CMAKE_OSX_SYSROOT} is not an iOS SDK")
 endif()
 endif()
 
 
+set(IOS 1)
+
 set(_CMAKE_FEATURE_DETECTION_TARGET_TYPE STATIC_LIBRARY)
 set(_CMAKE_FEATURE_DETECTION_TARGET_TYPE STATIC_LIBRARY)

+ 4 - 0
Tests/RunCMake/XcodeProject/XcodeIOSInstallCombined.cmake

@@ -6,6 +6,10 @@ if(XCODE_VERSION VERSION_GREATER_EQUAL 9)
   set(CMAKE_OSX_DEPLOYMENT_TARGET 10)
   set(CMAKE_OSX_DEPLOYMENT_TARGET 10)
 endif()
 endif()
 
 
+if(NOT IOS)
+  message(FATAL_ERROR "IOS variable is not set")
+endif()
+
 set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
 set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
 set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
 set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
 set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
 set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")