CMakeLists.txt 1.4 KB

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