Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
prism/platforms/ios/CMakeLists.txt

106 lines
3 KiB
Text
Raw Normal View History

2020-08-11 12:07:21 -04:00
cmake_minimum_required (VERSION 3.7)
include(BundleUtilities)
set(APP_HEADER_FILES
2022-02-12 19:58:51 -05:00
${CMAKE_CURRENT_SOURCE_DIR}/AppDelegate.h
2020-08-11 12:07:21 -04:00
)
set(APP_SOURCE_FILES
2022-02-12 19:58:51 -05:00
${CMAKE_CURRENT_SOURCE_DIR}/AppDelegate.m
${CMAKE_CURRENT_SOURCE_DIR}/main.m
2020-08-11 12:07:21 -04:00
)
set(RESOURCES
2022-02-12 19:58:51 -05:00
${CMAKE_CURRENT_SOURCE_DIR}/Main.storyboard
${CMAKE_CURRENT_SOURCE_DIR}/LaunchScreen.storyboard
${CMAKE_SOURCE_DIR}/data
${CMAKE_BINARY_DIR}/shaders
2020-08-11 12:07:21 -04:00
)
include(../../cmake/AddPlatformExecutable.cmake)
find_library(UIKIT UIKit)
find_library(FOUNDATION Foundation)
find_library(MOBILECORESERVICES MobileCoreServices)
find_library(CFNETWORK CFNetwork)
find_library(SYSTEMCONFIGURATION SystemConfiguration)
find_library(GAMECONTROLLER GameController)
find_library(QUARTZ QuartzCore)
add_platform(
2022-02-12 19:58:51 -05:00
MAIN_FILE
ViewController.mm.in
SRC
MACOSX_BUNDLE
${APP_HEADER_FILES}
${APP_SOURCE_FILES}
${RESOURCES}
${CMAKE_CURRENT_SOURCE_DIR}/file.mm
EXECUTABLE_PROPERTIES
MACOSX_BUNDLE ON
LINK_LIBRARIES
Core
${UIKIT}
${FOUNDATION}
${MOBILECORESERVICES}
${CFNETWORK}
${SYSTEMCONFIGURATION}
${GAMECONTROLLER}
${QUARTZ}
GFXVulkan
COMPILE_OPTIONS
2020-08-11 12:07:21 -04:00
)
function(add_platform_commands APP_NAME)
2022-02-12 19:58:51 -05:00
# you should set these as cmake options as these reset on cmake reconfigure
#set(APP_BUNDLE_IDENTIFIER "your app bundle id here, such as com.redstrate.prismtest")
#set(CODE_SIGN_IDENTITY "iPhone Developer")
#set(DEVELOPMENT_TEAM_ID "your dev team id here")
set(DEPLOYMENT_TARGET 13.5)
set(DEVICE_FAMILY "1,2")
# plist values
set(PRODUCT_NAME ${APP_NAME})
set(EXECUTABLE_NAME ${APP_NAME})
set(MACOSX_BUNDLE_EXECUTABLE_NAME ${APP_NAME})
set(MACOSX_BUNDLE_INFO_STRING ${APP_BUNDLE_IDENTIFIER})
set(MACOSX_BUNDLE_GUI_IDENTIFIER ${APP_BUNDLE_IDENTIFIER})
set(MACOSX_BUNDLE_BUNDLE_NAME ${APP_BUNDLE_IDENTIFIER})
set(MACOSX_BUNDLE_ICON_FILE "")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "1.0")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0")
set(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
set(MACOSX_BUNDLE_COPYRIGHT "Copyright lololol")
set(MACOSX_DEPLOYMENT_TARGET ${DEPLOYMENT_TARGET})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fobjc-arc")
configure_file(${PROJECT_SOURCE_DIR}/platforms/ios/plist.in ${CMAKE_BINARY_DIR}/${add_platform_executable_TARGET}Info.plist)
2022-02-12 19:58:51 -05:00
set_target_properties(${APP_NAME} PROPERTIES
XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
RESOURCE "${RESOURCES}"
XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES"
XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET ${DEPLOYMENT_TARGET}
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${CODE_SIGN_IDENTITY}
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${DEVELOPMENT_TEAM_ID}
XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY ${DEVICE_FAMILY}
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_BINARY_DIR}/${APP_NAME}Info.plist"
XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES
XCODE_ATTRIBUTE_COMBINE_HIDPI_IMAGES NO
XCODE_ATTRIBUTE_INSTALL_PATH "$(LOCAL_APPS_DIR)"
XCODE_ATTRIBUTE_ENABLE_TESTABILITY YES
XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
)
set_target_properties(
${APP_NAME}
PROPERTIES
XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS
"@executable_path/Frameworks"
)
2020-08-11 12:07:21 -04:00
endfunction()