CMakeLists.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. include_directories(${CMAKE_SOURCE_DIR}/Source)
  2. include_directories ( ${CMAKE_SOURCE_DIR}/Source/ThirdParty
  3. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
  4. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
  5. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
  6. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D )
  7. # Define source files
  8. file (GLOB SOURCE_FILES *.cpp *.h )
  9. # set (SOURCE_FILES ${SOURCE_FILES}) ${CSHARP_BINDINGS_SOURCE} ${CSHARPATOMICPLAYER_BINDINGS_SOURCE} ${CSHARPATOMICNET_BINDINGS_SOURCE})
  10. if (MSVC)
  11. set (EXE_TYPE WIN32)
  12. set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
  13. elseif(APPLE)
  14. #ICNS
  15. set(MACOSX_BUNDLE_ICON_FILE Atomic.icns)
  16. if (NOT IOS)
  17. set(ATOMIC_PLAYER_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
  18. endif()
  19. set_source_files_properties(${ATOMIC_PLAYER_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
  20. set (EXE_TYPE MACOSX_BUNDLE)
  21. endif()
  22. if (ANDROID)
  23. include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/include)
  24. add_library(AtomicPlayer SHARED ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/src/main/android/SDL_android_main.c)
  25. else()
  26. # iOS AtomicPlayer currently disabled
  27. if (NOT IOS)
  28. add_executable(AtomicPlayer ${EXE_TYPE} ${SOURCE_FILES} ${ATOMIC_PLAYER_ICON})
  29. endif()
  30. endif()
  31. if (NOT IOS)
  32. target_link_libraries(AtomicPlayer AtomicJS AtomicPlayerLib AtomicPlayerJS ${ATOMIC_LINK_LIBRARIES})
  33. endif()
  34. if (MSVC)
  35. # pre-Windows 8 can't count on D3DCompiler_47.dll being on system
  36. add_custom_command (TARGET AtomicPlayer POST_BUILD
  37. COMMAND ${CMAKE_COMMAND}
  38. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicPlayer>/D3DCompiler_47.dll\")
  39. endif(MSVC)
  40. if (APPLE)
  41. if (NOT IOS)
  42. set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
  43. else()
  44. # set_target_properties(AtomicPlayer PROPERTIES
  45. # MACOSX_BUNDLE_GUI_IDENTIFIER "com.atomicgameengine.atomicplayer"
  46. # XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
  47. # XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
  48. # XCODE_ATTRIBUTE_INFOPLIST_PREPROCESS YES
  49. # XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.3
  50. # XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2" # iPhone/iPad
  51. # XCODE_ATTRIBUTE_COMBINE_HIDPI_IMAGES NO
  52. # )
  53. # set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/iOSBundleInfo.plist.template)
  54. endif()
  55. endif(APPLE)
  56. if (TARGET_PROPERTIES)
  57. if (NOT IOS)
  58. set_target_properties (AtomicPlayer PROPERTIES ${TARGET_PROPERTIES})
  59. endif()
  60. endif ()