CMakeLists.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. cmake_minimum_required(VERSION 3.8)
  2. set(CMAKE_SYSTEM_NAME iOS)
  3. set(APP_NAME "pushGold" CACHE STRING "Project Name")
  4. project(${APP_NAME} CXX)
  5. include(${CMAKE_CURRENT_LIST_DIR}/../common/CMakeLists.txt)
  6. set(LIB_NAME ${APP_NAME}-mobile)
  7. set(UI_RESOURCES)
  8. set(PROJ_SOURCES)
  9. set(PROJ_COMMON_SOURCES
  10. ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.h
  11. ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.cpp
  12. )
  13. if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/jsb_module_register.cpp)
  14. file(COPY "${COCOS_X_PATH}/cocos/bindings/manual/jsb_module_register.cpp"
  15. DESTINATION ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/)
  16. endif()
  17. list(APPEND PROJ_COMMON_SOURCES ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/jsb_module_register.cpp)
  18. set(UI_RESOURCES
  19. ${CMAKE_CURRENT_LIST_DIR}/LaunchScreenBackground.png
  20. ${CMAKE_CURRENT_LIST_DIR}/Images.xcassets
  21. ${CMAKE_CURRENT_LIST_DIR}/Base.lproj/Localizable.strings
  22. ${CMAKE_CURRENT_LIST_DIR}/Base.lproj/LaunchScreen.storyboard
  23. )
  24. # -------------- SRART ---------------
  25. # USED BY COCOS SERVICE, DON'T REMOVE!
  26. if(EXISTS ${RES_DIR}/proj/service.cmake)
  27. set(SERVICE_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR})
  28. include(${RES_DIR}/proj/service.cmake)
  29. endif()
  30. # -------------- END ----------------
  31. list(APPEND PROJ_SOURCES
  32. ${CMAKE_CURRENT_LIST_DIR}/AppDelegate.mm
  33. ${CMAKE_CURRENT_LIST_DIR}/AppDelegate.h
  34. ${CMAKE_CURRENT_LIST_DIR}/service/SDKWrapper.m
  35. ${CMAKE_CURRENT_LIST_DIR}/service/SDKWrapper.h
  36. ${CMAKE_CURRENT_LIST_DIR}/main.m
  37. ${CMAKE_CURRENT_LIST_DIR}/ViewController.mm
  38. ${CMAKE_CURRENT_LIST_DIR}/ViewController.h
  39. ${UI_RESOURCES}
  40. )
  41. include_resources(${RES_DIR}/assets)
  42. add_executable(${LIB_NAME} ${PROJ_SOURCES} ${ASSET_FILES} ${PROJ_COMMON_SOURCES})
  43. source_group(TREE ${RES_DIR}/assets PREFIX "Resources" FILES ${ASSET_FILES})
  44. source_group(TREE ${CMAKE_CURRENT_LIST_DIR} PREFIX "Source Files" FILES ${PROJ_SOURCES})
  45. source_group(TREE ${CMAKE_CURRENT_LIST_DIR}/../common PREFIX "Source Files" FILES ${PROJ_COMMON_SOURCES})
  46. # -------------- SRART ---------------
  47. # USED BY COCOS SERVICE, DON'T REMOVE!
  48. if(COMMAND service_insert_library)
  49. service_insert_library()
  50. endif()
  51. # -------------- END ----------------
  52. target_link_libraries(${LIB_NAME} cocos2d)
  53. target_include_directories(${LIB_NAME} PRIVATE
  54. ${CMAKE_CURRENT_LIST_DIR}/../common/Classes
  55. ${CMAKE_CURRENT_LIST_DIR}/service
  56. )
  57. set(EXECUTABLE_NAME ${LIB_NAME}) # referenced in Info.plist
  58. set(PRODUCT_NAME ${APP_NAME})
  59. set_target_properties(${LIB_NAME} PROPERTIES
  60. MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_LIST_DIR}/Info.plist"
  61. MACOSX_BUNDLE 1
  62. RESOURCE "${UI_RESOURCES}"
  63. OSX_ARCHITECTURES "arm64;x86_64"
  64. MACOSX_DEPLOYMENT_TARGET ${TARGET_IOS_VERSION}
  65. XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "${DEVELOPMENT_TEAM}"
  66. XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
  67. XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon"
  68. XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_LAUNCHSTORYBOARD_NAME "LaunchScreen"
  69. XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET ${TARGET_IOS_VERSION}
  70. XCODE_ATTRIBUTE_ENABLE_BITCODE NO
  71. XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH YES
  72. IOS_INSTALL_COMBINED YES
  73. XCODE_ATTRIBUTE_SKIP_INSTALL NO
  74. XCODE_ATTRIBUTE_INSTALL_PATH "$(LOCAL_APPS_DIR)"
  75. )