CMakeLists.txt 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. project (Atomic)
  2. cmake_minimum_required (VERSION 2.8)
  3. set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/Build/CMake/Modules)
  4. include(AtomicUtils)
  5. add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${CMAKE_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
  6. add_definitions( -DATOMIC_API= -DATOMIC_STATIC_DEFINE -DATOMIC_ATOMIC2D -DATOMIC_LOGGING -DATOMIC_PROFILING)
  7. if (NOT DEFINED ATOMIC_DEV_BUILD)
  8. set(ATOMIC_DEV_BUILD 1)
  9. ENDIF()
  10. if (ATOMIC_DEV_BUILD)
  11. add_definitions("-DATOMIC_DEV_BUILD=1")
  12. endif()
  13. # Disable until https://github.com/AtomicGameEngine/AtomicGameEngine/issues/554 is addressed
  14. # add_definitions("-DATOMIC_SOURCE_BUILD=1")
  15. # this is here as QtCreator is having trouble picking up #include <Atomic/*> without it
  16. include_directories(${CMAKE_SOURCE_DIR}/Source ${CMAKE_SOURCE_DIR}/Source/AtomicEditor/Source)
  17. set (ATOMIC_LINK_LIBRARIES Atomic Box2D Duktape TurboBadger FreeType JO LZ4 PugiXml STB)
  18. if (NOT ATOMIC_BUILD_2D)
  19. add_definitions( -DATOMIC_PHYSICS -DATOMIC_3D)
  20. set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} Bullet StanHull)
  21. endif()
  22. if (NOT EMSCRIPTEN)
  23. add_definitions( -DATOMIC_NETWORK)
  24. set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} SDL Civetweb Recast Detour DetourCrowd DetourTileCache kNet libcurl )
  25. endif()
  26. add_definitions( -DATOMIC_WEB )
  27. if (MSVC)
  28. include(AtomicWindows)
  29. elseif(APPLE)
  30. if (IOS)
  31. include(AtomicIOS)
  32. else()
  33. include(AtomicMac)
  34. endif()
  35. elseif(LINUX)
  36. include(AtomicLinux)
  37. elseif(ANDROID)
  38. include(AtomicAndroid)
  39. elseif(EMSCRIPTEN)
  40. include(AtomicWeb)
  41. endif()
  42. find_program(CLDOC cldoc)
  43. if(CLDOC)
  44. add_custom_target(docs DEPENDS AtomicEngineDocs)
  45. endif()
  46. if (ATOMIC_WEBVIEW)
  47. if(APPLE)
  48. if(POLICY CMP0037)
  49. # new cmake doesn't like creating framework whose name has spaces
  50. # which CEF3 scripts (including shell) currently require on OSX
  51. cmake_policy(SET CMP0037 OLD)
  52. endif()
  53. include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/)
  54. add_subdirectory(Submodules/CEF/MacOSX/libcef_dll)
  55. elseif(MSVC)
  56. if (ATOMIC_PROJECT_ARCH STREQUAL "x86")
  57. include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/32bit)
  58. add_subdirectory(Submodules/CEF/Windows/32bit/libcef_dll)
  59. else()
  60. include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit)
  61. add_subdirectory(Submodules/CEF/Windows/64bit/libcef_dll)
  62. endif()
  63. else()
  64. include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux)
  65. add_subdirectory(Submodules/CEF/Linux/libcef_dll)
  66. endif()
  67. endif()
  68. add_subdirectory(Source)