CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. add_definitions("-DATOMIC_SOURCE_BUILD=1")
  14. # this is here as QtCreator is having trouble picking up #include <Atomic/*> without it
  15. include_directories(${CMAKE_SOURCE_DIR}/Source ${CMAKE_SOURCE_DIR}/Source/AtomicEditor/Source)
  16. set (ATOMIC_LINK_LIBRARIES Atomic Box2D Duktape TurboBadger FreeType JO LZ4 PugiXml STB)
  17. if (NOT ATOMIC_BUILD_2D)
  18. add_definitions( -DATOMIC_PHYSICS -DATOMIC_3D)
  19. set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} Bullet StanHull)
  20. endif()
  21. if (NOT EMSCRIPTEN)
  22. add_definitions( -DATOMIC_NETWORK)
  23. set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} SDL Civetweb Recast Detour DetourCrowd DetourTileCache kNet )
  24. endif()
  25. add_definitions( -DATOMIC_WEB )
  26. if (MSVC)
  27. include(AtomicWindows)
  28. elseif(APPLE)
  29. if (IOS)
  30. include(AtomicIOS)
  31. else()
  32. include(AtomicMac)
  33. endif()
  34. elseif(LINUX)
  35. include(AtomicLinux)
  36. elseif(ANDROID)
  37. include(AtomicAndroid)
  38. elseif(EMSCRIPTEN)
  39. include(AtomicWeb)
  40. endif()
  41. add_subdirectory(Source)