CMakeLists.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. project (Atomic)
  2. cmake_minimum_required(VERSION 2.8.12.1)
  3. set (ATOMIC_SOURCE_DIR ${Atomic_SOURCE_DIR})
  4. set (CMAKE_MODULE_PATH ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules)
  5. include(AtomicGit)
  6. include(AtomicUtils)
  7. include(AtomicCommon)
  8. add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${ATOMIC_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
  9. add_definitions( -DATOMIC_API= -DATOMIC_STATIC_DEFINE -DATOMIC_ATOMIC2D -DATOMIC_LOGGING -DATOMIC_PROFILING)
  10. if (NOT DEFINED ATOMIC_DEV_BUILD)
  11. set(ATOMIC_DEV_BUILD 1)
  12. ENDIF()
  13. if (ATOMIC_DEV_BUILD)
  14. add_definitions("-DATOMIC_DEV_BUILD=1")
  15. endif()
  16. add_link_libraries_exported (Atomic Box2D Duktape TurboBadger FreeType JO LZ4 PugiXml STB SDL)
  17. if (NOT ATOMIC_BUILD_2D)
  18. add_definitions_exported (-DATOMIC_PHYSICS -DATOMIC_3D)
  19. add_link_libraries_exported (Bullet StanHull)
  20. endif()
  21. if (NOT EMSCRIPTEN)
  22. add_definitions_exported (-DATOMIC_THREADING -DATOMIC_NETWORK)
  23. add_link_libraries_exported (Civetweb Recast Detour DetourCrowd DetourTileCache kNet libcurl)
  24. endif()
  25. add_definitions_exported (-DATOMIC_WEB)
  26. include (AtomicPlatform)
  27. find_program(CLDOC cldoc)
  28. if(CLDOC)
  29. add_custom_target(docs DEPENDS AtomicEngineDocs)
  30. endif()
  31. if (ATOMIC_WEBVIEW)
  32. if(APPLE)
  33. if(POLICY CMP0037)
  34. # new cmake doesn't like creating framework whose name has spaces
  35. # which CEF3 scripts (including shell) currently require on OSX
  36. cmake_policy(SET CMP0037 OLD)
  37. endif()
  38. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/MacOSX")
  39. elseif(MSVC)
  40. if (ATOMIC_PROJECT_ARCH STREQUAL "x86")
  41. else()
  42. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Windows/64bit")
  43. endif()
  44. else()
  45. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Linux")
  46. endif()
  47. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CEF_ROOT}/cmake")
  48. find_package(CEF REQUIRED)
  49. include_directories(${CEF_ROOT})
  50. add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
  51. endif()
  52. add_definitions(${ATOMIC_DEFINITIONS})
  53. add_subdirectory(Source)
  54. if (ATOMIC_DESKTOP AND ATOMIC_DEV_BUILD)
  55. if (NOT DEFINED ATOMIC_CPLUSPLUS_EXAMPLES)
  56. set (ATOMIC_CPLUSPLUS_EXAMPLES 1)
  57. endif ()
  58. if (ATOMIC_CPLUSPLUS_EXAMPLES)
  59. add_subdirectory(Submodules/AtomicExamples/FeatureExamples/CPlusPlus)
  60. endif()
  61. endif()