CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. cmake_minimum_required(VERSION 2.6)
  2. project(citra)
  3. SET(CMAKE_CXX_FLAGS "-std=c++11 -fpermissive")
  4. SET(CMAKE_CXX_FLAGS_DEBUG "-std=c++11 -fpermissive")
  5. SET(CMAKE_CXX_FLAGS_RELEASE "-std=c++11 -fpermissive")
  6. # silence some spam
  7. add_definitions(-Wno-attributes)
  8. add_definitions(-DSINGLETHREADED)
  9. add_definitions(${GCC_COMPILE_FLAGS})
  10. # dependency checking
  11. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
  12. include(FindX11 REQUIRED)
  13. find_package(PkgConfig REQUIRED)
  14. find_package(GLEW REQUIRED)
  15. find_package(OpenGL REQUIRED)
  16. pkg_search_module(GLFW REQUIRED glfw3)
  17. IF (APPLE)
  18. FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
  19. SET(CMAKE_CXX_FLAGS "-stdlib=libc++")
  20. SET(CMAKE_CXX_FLAGS_DEBUG "-stdlib=libc++")
  21. SET(CMAKE_CXX_FLAGS_RELEASE "-stdlib=libc++")
  22. ENDIF (APPLE)
  23. #external includes
  24. include_directories(${GLFW_INCLUDE_DIRS})
  25. include_directories(${OPENGL_INCLUDE_DIR})
  26. include_directories(${GLEW_INCLUDE_DIR})
  27. #use pkg_search_module library dirs
  28. link_directories(${GLFW_LIBRARY_DIRS})
  29. option(DISABLE_QT4 "Disable Qt4 GUI" OFF)
  30. if(NOT DISABLE_QT4)
  31. include(FindQt4)
  32. find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL)
  33. if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND)
  34. include(${QT_USE_FILE})
  35. include_directories(${QT_INCLUDES})
  36. include_directories(externals/qhexedit)
  37. else()
  38. message("Qt4 libraries not found! Disabling Qt4 GUI")
  39. endif()
  40. endif()
  41. # generate git revision information
  42. list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules/")
  43. include(GetGitRevisionDescription)
  44. get_git_head_revision(GIT_REF_SPEC GIT_REV)
  45. git_describe(GIT_DESC --always --long --dirty)
  46. git_branch_name(GIT_BRANCH)
  47. # internal includes
  48. include_directories(src)
  49. # process subdirectories
  50. if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4)
  51. add_subdirectory(externals/qhexedit)
  52. endif()
  53. add_subdirectory(src)