blob: 4dab97d38b6e98bd0e8703403e96c292e7748598 [file]
enable_language(C)
# using Xcode 7.1 SDK versions for deployment targets
if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
if(XCODE_VERSION VERSION_GREATER_EQUAL 27)
set(CMAKE_OSX_DEPLOYMENT_TARGET "15")
set(EXPECT_VERSION "__IPHONE_15_0")
else()
set(CMAKE_OSX_DEPLOYMENT_TARGET "9.1")
set(EXPECT_VERSION "__IPHONE_9_1")
endif()
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
elseif(CMAKE_SYSTEM_NAME STREQUAL "visionOS")
set(CMAKE_OSX_DEPLOYMENT_TARGET "1.0")
set(EXPECT_VERSION "__VISIONOS_1_0")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES")
elseif(CMAKE_SYSTEM_NAME STREQUAL "watchOS")
if(XCODE_VERSION VERSION_GREATER_EQUAL 27)
set(CMAKE_OSX_DEPLOYMENT_TARGET "9")
set(EXPECT_VERSION "__WATCHOS_9_0")
else()
set(CMAKE_OSX_DEPLOYMENT_TARGET "2.0")
set(EXPECT_VERSION "__WATCHOS_2_0")
endif()
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES")
elseif(CMAKE_SYSTEM_NAME STREQUAL "tvOS")
if(XCODE_VERSION VERSION_GREATER_EQUAL 27)
set(CMAKE_OSX_DEPLOYMENT_TARGET "15")
set(EXPECT_VERSION "__TVOS_15_0")
else()
set(CMAKE_OSX_DEPLOYMENT_TARGET "9.0")
set(EXPECT_VERSION "__TVOS_9_0")
endif()
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES")
else()
if(XCODE_VERSION VERSION_GREATER_EQUAL 27)
set(CMAKE_OSX_DEPLOYMENT_TARGET "12")
set(EXPECT_VERSION "__MAC_12_0")
else()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.11")
set(EXPECT_VERSION "__MAC_10_11")
endif()
endif()
add_library(myFramework STATIC DeploymentTarget.c)
target_compile_definitions(myFramework PRIVATE EXPECT_VERSION=${EXPECT_VERSION})
set_target_properties(myFramework PROPERTIES FRAMEWORK TRUE)