cmake_minimum_required(VERSION 2.4)

if(COMMAND cmake_policy)
	cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

FILE(GLOB SOURCE_FILES "*.cc")
FILE(GLOB HEADER_FILES "*.hh")

set(SOURCES ${SOURCE_FILES} ${HEADER_FILES})

# Libraries

include_directories(${CMAKE_SOURCE_DIR}/libda)

find_package(Boost 1.34 REQUIRED COMPONENTS thread program_options regex filesystem)
include_directories(${Boost_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Boost_LIBRARIES})

find_package(SDL REQUIRED)
include_directories(${SDL_INCLUDE_DIR})
set(LIBS ${LIBS} ${SDL_LIBRARY})
if(APPLE AND ${CMAKE_SYSTEM_VERSION} LESS "9.0.0")
	set(LIBS ${LIBS} SDLmain)
endif(APPLE AND ${CMAKE_SYSTEM_VERSION} LESS "9.0.0")

find_package(LibRSVG REQUIRED)
include_directories(${LibRSVG_INCLUDE_DIRS})
set(LIBS ${LIBS} ${LibRSVG_LIBRARIES})

find_package(Cairo REQUIRED)
include_directories(${Cairo_INCLUDE_DIR})
set(LIBS ${LIBS} ${Cairo_LIBRARIES})

find_package(Pango REQUIRED)
include_directories(${Pango_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Pango_LIBRARIES})

find_package(LibXML++ REQUIRED)
include_directories(${LibXML++_INCLUDE_DIRS})
set(LIBS ${LIBS} ${LibXML++_LIBRARIES})

find_package(Magick++ REQUIRED)
include_directories(${Magick++_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Magick++_LIBRARIES})

find_package(OpenGL REQUIRED)
include_directories(${OpenGL_INCLUDE_DIRS})
set(LIBS ${LIBS} ${OpenGL_LIBRARIES})

find_package(FFmpeg REQUIRED)
include_directories(${FFMPEG_INCLUDE_DIRS})
set(LIBS ${LIBS} ${FFMPEG_LIBRARIES})

# Set default compile flags for GCC
if(CMAKE_COMPILER_IS_GNUCXX)
	message(STATUS "GCC detected, enabling warnings")
	# -pedantic cannot be used because ffmpeg headers are b0rked
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra")
endif(CMAKE_COMPILER_IS_GNUCXX)

add_executable(performous ${SOURCES})
target_link_libraries(performous da ${LIBS})

install(TARGETS performous DESTINATION bin)

