CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #
  2. # peTI-NESulator CMake
  3. #
  4. # Created by Manoel TRAPIER.
  5. # Copyright (c) 2002-2019 986-Studio.
  6. #
  7. cmake_minimum_required (VERSION 2.8)
  8. project (peTI-NESulator)
  9. # External cmake modules
  10. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external/cmake ${CMAKE_MODULE_PATH})
  11. # Include GLFW
  12. set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
  13. set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
  14. set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
  15. add_subdirectory("external/glfw")
  16. find_package(OpenGL REQUIRED)
  17. include_directories(${OPENGL_INCLUDE_DIR})
  18. # Include PortAudio
  19. set(PA_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
  20. set(PA_BUILD_TESTS OFF CACHE BOOL "" FORCE)
  21. set(PA_ENABLE_DEBUG_OUTPUT OFF CACHE BOOL "" FORCE)
  22. add_subdirectory("external/portaudio")
  23. if (COVERALLS)
  24. enable_testing()
  25. endif (COVERALLS)
  26. # Generate version from Git Tag
  27. include(GetGitRevisionDescription)
  28. git_describe(VERSION --tags --dirty=-dirty)
  29. #parse the version information into pieces.
  30. string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VERSION}")
  31. string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VERSION}")
  32. string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_MICRO "${VERSION}")
  33. string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+-(.*)" "\\1" VERSION_SHA1 "${VERSION}")
  34. message("-- Building version ${VERSION}")
  35. add_compile_options(-DV_MAJOR=${VERSION_MAJOR})
  36. add_compile_options(-DV_MINOR=${VERSION_MINOR})
  37. add_compile_options(-DV_MICRO=${VERSION_MICRO})
  38. add_compile_options(-DV_TEXT="${VERSION_SHA1}")
  39. add_subdirectory (src)