CMakeLists.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
  2. PROJECT(Polycode)
  3. IF(NOT CMAKE_BUILD_TYPE)
  4. SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
  5. "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
  6. FORCE)
  7. MESSAGE("No CMAKE_BUILD_TYPE specified, defaulting to ${CMAKE_BUILD_TYPE}")
  8. ENDIF(NOT CMAKE_BUILD_TYPE)
  9. IF(APPLE OR WIN32)
  10. SET(build_player ON)
  11. ELSE()
  12. SET(build_player OFF)
  13. ENDIF()
  14. # Options for what components to build
  15. OPTION(POLYCODE_BUILD_SHARED "Build Polycode shared libraries" ON)
  16. OPTION(POLYCODE_BUILD_STATIC "Build Polycode static libraries" OFF)
  17. OPTION(POLYCODE_BUILD_BINDINGS "Build Polycode Lua bindings" ON)
  18. OPTION(POLYCODE_BUILD_EXAMPLES "Build Polycode examples" ON)
  19. OPTION(POLYCODE_BUILD_MODULES "Build Polycode modules" ON)
  20. OPTION(POLYCODE_BUILD_PLAYER "Build Polycode standalone player" ${build_player})
  21. OPTION(POLYCODE_BUILD_TOOLS "Build Polycode tools" ON)
  22. OPTION(POLYCODE_INSTALL_FRAMEWORK "Install Polycode Core, Modules and Tools" ON)
  23. OPTION(POLYCODE_INSTALL_PLAYER "Install Polycode Player" ${POLYCODE_BUILD_PLAYER})
  24. # Some non-standard CMake modules
  25. SET(CMAKE_MODULE_PATH ${Polycode_SOURCE_DIR}/CMake)
  26. IF(NOT POLYCODE_RELEASE_DIR)
  27. SET(POLYCODE_RELEASE_DIR ${Polycode_SOURCE_DIR}/Release/${CMAKE_SYSTEM_NAME})
  28. MESSAGE("No POLYCODE_RELEASE_DIR specified, to ${POLYCODE_RELEASE_DIR}")
  29. ENDIF(NOT POLYCODE_RELEASE_DIR)
  30. # set default externals install location
  31. SET(CMAKE_PREFIX_PATH
  32. ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies
  33. ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies
  34. ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies)
  35. MESSAGE(DEBUG "CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}")
  36. # Process subdirectories
  37. ADD_SUBDIRECTORY(Core/Contents)
  38. ADD_SUBDIRECTORY("Assets/Default asset pack")
  39. IF(POLYCODE_BUILD_BINDINGS)
  40. ADD_SUBDIRECTORY(Bindings/Contents)
  41. ENDIF(POLYCODE_BUILD_BINDINGS)
  42. IF(POLYCODE_BUILD_EXAMPLES)
  43. ADD_SUBDIRECTORY(Examples/C++)
  44. ENDIF(POLYCODE_BUILD_EXAMPLES)
  45. IF(POLYCODE_BUILD_MODULES)
  46. ADD_SUBDIRECTORY(Modules/Contents)
  47. ENDIF(POLYCODE_BUILD_MODULES)
  48. IF(POLYCODE_BUILD_PLAYER)
  49. ADD_SUBDIRECTORY(Player/Contents)
  50. ENDIF(POLYCODE_BUILD_PLAYER)
  51. IF(POLYCODE_BUILD_TOOLS)
  52. ADD_SUBDIRECTORY(Tools/Contents)
  53. ENDIF(POLYCODE_BUILD_TOOLS)
  54. # Install assets and dependencies