CMakeLists.txt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. project(Atomic)
  2. cmake_minimum_required(VERSION 3.3)
  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. if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
  9. set (ATOMIC_RELEASE_OFF OFF)
  10. set (ATOMIC_RELEASE_ON ON)
  11. else ()
  12. set (ATOMIC_RELEASE_OFF ON)
  13. set (ATOMIC_RELEASE_ON OFF)
  14. endif ()
  15. add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${ATOMIC_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
  16. if (NOT DEFINED ATOMIC_DEV_BUILD)
  17. set(ATOMIC_DEV_BUILD 1)
  18. ENDIF ()
  19. if (ATOMIC_DEV_BUILD)
  20. add_definitions("-DATOMIC_DEV_BUILD=1")
  21. endif ()
  22. include(AtomicPlatform)
  23. find_program(CLDOC cldoc)
  24. if (CLDOC)
  25. add_custom_target(docs DEPENDS AtomicEngineDocs)
  26. endif ()
  27. if (ATOMIC_WEBVIEW)
  28. if (APPLE)
  29. if (POLICY CMP0037)
  30. # new cmake doesn't like creating framework whose name has spaces
  31. # which CEF3 scripts (including shell) currently require on OSX
  32. cmake_policy(SET CMP0037 OLD)
  33. endif ()
  34. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/MacOSX")
  35. elseif (WIN32)
  36. if (ATOMIC_PROJECT_ARCH STREQUAL "x86")
  37. else ()
  38. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Windows/64bit")
  39. endif ()
  40. else ()
  41. set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Linux")
  42. endif ()
  43. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CEF_ROOT}/cmake")
  44. find_package(CEF REQUIRED)
  45. include_directories(${CEF_ROOT})
  46. add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
  47. endif ()
  48. add_subdirectory(Source)
  49. if (ATOMIC_DESKTOP AND ATOMIC_DEV_BUILD)
  50. if (NOT DEFINED ATOMIC_CPLUSPLUS_EXAMPLES)
  51. set(ATOMIC_CPLUSPLUS_EXAMPLES 1)
  52. endif ()
  53. if (ATOMIC_CPLUSPLUS_EXAMPLES)
  54. initialize_submodule(${ATOMIC_SOURCE_DIR}/Submodules/AtomicExamples ATOMIC_CPLUSPLUS_EXAMPLES)
  55. if (ATOMIC_CPLUSPLUS_EXAMPLES)
  56. add_subdirectory(Submodules/AtomicExamples/FeatureExamples/CPlusPlus)
  57. endif ()
  58. endif ()
  59. endif ()