CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. cmake_minimum_required(VERSION 2.8)
  2. project(ThePulsars)
  3. # External cmake modules
  4. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
  5. # Options for the project
  6. option(BUILD_SERVER "Build server" ON)
  7. # Currently does not build, do no enable
  8. option(BUILD_GCLIENT "Build graphical client" OFF)
  9. option(BUILD_METACLIENT "Build meta client" OFF)
  10. option(ENABLE_PASCAL "Enable pascal support" OFF)
  11. option(ENABLE_EFENCE "Enable ElectricFence" OFF)
  12. add_compile_options(-Wall -Werror)
  13. include_directories(include)
  14. # Get version from Git
  15. include(GetGitRevisionDescription)
  16. git_describe(VERSION --tags --dirty=-dirty)
  17. #parse the version information into pieces.
  18. string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VERSION}")
  19. string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VERSION}")
  20. string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_MICRO "${VERSION}")
  21. string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+-(.*)" "\\1" VERSION_SHA1 "${VERSION}")
  22. message("-- Building version ${VERSION}")
  23. add_compile_options(-DV_MAJOR=${VERSION_MAJOR})
  24. add_compile_options(-DV_MINOR=${VERSION_MINOR})
  25. add_compile_options(-DV_MICRO=${VERSION_MICRO})
  26. add_compile_options(-DV_SHA=${VERSION_SHA1})
  27. #add_subdirectory(pulsarnet)
  28. if (BUILD_SERVER)
  29. add_subdirectory(server)
  30. endif()
  31. if (BUILD_GCLIENT OR BUILD_METACLIENT)
  32. add_subdirectory(gtkutil)
  33. endif()
  34. if (BUILD_GCLIENT)
  35. add_subdirectory(gclient)
  36. endif()
  37. if (BUILD_METACLIENT)
  38. add_subdirectory(meta-client)
  39. endif()