2014-08-19 17:04:00 +05:30
|
|
|
cmake_minimum_required(VERSION 2.8.7)
|
2013-08-30 09:05:09 +05:30
|
|
|
|
2013-09-27 03:04:48 +05:30
|
|
|
project(citra)
|
2013-08-30 09:05:09 +05:30
|
|
|
|
2014-05-20 09:18:14 +05:30
|
|
|
SET(CXX_COMPILE_FLAGS "-std=c++11")
|
2014-04-23 08:12:29 +05:30
|
|
|
|
2013-08-30 09:05:09 +05:30
|
|
|
# silence some spam
|
|
|
|
add_definitions(-Wno-attributes)
|
|
|
|
add_definitions(-DSINGLETHREADED)
|
2014-05-20 05:03:23 +05:30
|
|
|
add_definitions(${CXX_COMPILE_FLAGS})
|
2013-08-30 09:05:09 +05:30
|
|
|
|
2014-08-16 17:36:40 +05:30
|
|
|
find_package(PNG)
|
|
|
|
if (PNG_FOUND)
|
|
|
|
add_definitions(-DHAVE_PNG)
|
|
|
|
endif ()
|
|
|
|
|
2013-08-30 09:05:09 +05:30
|
|
|
# dependency checking
|
2014-05-17 11:33:10 +05:30
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules/")
|
2013-08-30 09:05:09 +05:30
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
|
|
|
|
include(FindX11 REQUIRED)
|
2014-04-25 20:20:25 +05:30
|
|
|
find_package(PkgConfig REQUIRED)
|
2014-04-29 08:10:39 +05:30
|
|
|
find_package(GLEW REQUIRED)
|
|
|
|
find_package(OpenGL REQUIRED)
|
2014-04-25 20:20:25 +05:30
|
|
|
pkg_search_module(GLFW REQUIRED glfw3)
|
2013-08-30 09:05:09 +05:30
|
|
|
|
2014-05-20 03:49:36 +05:30
|
|
|
# corefoundation is required only on OSX
|
2014-04-29 08:10:39 +05:30
|
|
|
IF (APPLE)
|
2014-04-30 07:57:01 +05:30
|
|
|
FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
|
2014-05-20 05:03:23 +05:30
|
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
2014-04-29 08:10:39 +05:30
|
|
|
ENDIF (APPLE)
|
|
|
|
|
2014-05-01 05:26:25 +05:30
|
|
|
#external includes
|
2014-04-10 08:58:43 +05:30
|
|
|
include_directories(${GLFW_INCLUDE_DIRS})
|
2014-05-01 05:26:25 +05:30
|
|
|
include_directories(${OPENGL_INCLUDE_DIR})
|
2014-05-20 05:03:23 +05:30
|
|
|
include_directories(${GLEW_INCLUDE_PATH})
|
2014-05-01 05:26:25 +05:30
|
|
|
|
2014-05-20 03:49:36 +05:30
|
|
|
# workaround for GLFW linking on OSX
|
2014-05-01 05:26:25 +05:30
|
|
|
link_directories(${GLFW_LIBRARY_DIRS})
|
|
|
|
|
2014-08-19 17:04:00 +05:30
|
|
|
option(DISABLE_QT "Disable Qt GUI" OFF)
|
|
|
|
option(USE_QT5 "Use Qt5 when available" ON)
|
|
|
|
if (NOT DISABLE_QT)
|
|
|
|
if(USE_QT5)
|
|
|
|
find_package(Qt5Gui)
|
|
|
|
find_package(Qt5Widgets)
|
|
|
|
find_package(Qt5OpenGL)
|
|
|
|
if(NOT Qt5Gui_FOUND OR NOT Qt5Widgets_FOUND OR NOT Qt5OpenGL_FOUND)
|
|
|
|
message("Qt5 libraries not found! Using Qt4 instead.")
|
|
|
|
set(USE_QT5 OFF)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
if(NOT USE_QT5)
|
|
|
|
include(FindQt4)
|
|
|
|
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL)
|
|
|
|
|
|
|
|
if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND)
|
|
|
|
include(${QT_USE_FILE})
|
|
|
|
include_directories(${QT_INCLUDES})
|
|
|
|
else()
|
|
|
|
message("Qt4 libraries not found! Disabling Qt GUI")
|
|
|
|
set(DISABLE_QT ON)
|
|
|
|
endif()
|
2013-08-30 09:05:09 +05:30
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2014-04-24 07:13:57 +05:30
|
|
|
# generate git revision information
|
|
|
|
include(GetGitRevisionDescription)
|
|
|
|
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
|
|
|
git_describe(GIT_DESC --always --long --dirty)
|
2014-04-24 07:43:00 +05:30
|
|
|
git_branch_name(GIT_BRANCH)
|
2013-08-30 09:05:09 +05:30
|
|
|
|
|
|
|
# internal includes
|
2014-04-10 08:39:05 +05:30
|
|
|
include_directories(src)
|
2013-08-30 09:05:09 +05:30
|
|
|
|
|
|
|
# process subdirectories
|
2014-08-19 17:04:00 +05:30
|
|
|
if(NOT DISABLE_QT)
|
|
|
|
include_directories(externals/qhexedit)
|
2013-08-30 09:05:09 +05:30
|
|
|
add_subdirectory(externals/qhexedit)
|
|
|
|
endif()
|
|
|
|
add_subdirectory(src)
|