project(VuvuzelaHero)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)

set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};/usr/share/apps/cmake/modules/")

if(NOT DEFINED SDLAUDIO)
    find_package(Phonon REQUIRED)
else(NOT DEFINED SDLAUDIO) #We failed to get Phonon working on Windows properly, so we provide alternative audio support via SDL
    message(STATUS "Bulding using SDL as audio backend")
    find_package(SDL REQUIRED)
    find_package(SDL_mixer REQUIRED)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSDLAUDIO")
endif(NOT DEFINED SDLAUDIO)

find_package(OpenGL REQUIRED)

if(STRICTBUILD)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
endif(STRICTBUILD)

include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
if(NOT DEFINED SDLAUDIO)
    include_directories(${PHONON_INCLUDE_DIR})
else(NOT DEFINED SDLAUDIO)
    include_directories(${SDL_INCLUDE_DIR})
endif(NOT DEFINED SDLAUDIO)

set(VuvuzelaHero_SRCS 
BGSpinner.cpp
FieldScene.cpp
Game.cpp
main.cpp
MainMenu.cpp
SceneBase.cpp
Song.cpp
SongEditor.cpp
SongSelect.cpp
TitleScreen.cpp
Vuvuzela.cpp
VuvuzelaHero.cpp
)
if(DEFINED SDLAUDIO)
    set(VuvuzelaHero_SRCS ${VuvuzelaHero_SRCS} SDLSupport.cpp)
endif(DEFINED SDLAUDIO)

qt4_automoc(${VuvuzelaHero_SRCS})
add_executable(VuvuzelaHero ${VuvuzelaHero_SRCS})
target_link_libraries(VuvuzelaHero ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
if(NOT DEFINED SDLAUDIO)
    target_link_libraries(VuvuzelaHero ${PHONON_LIBRARY})
else(NOT DEFINED SDLAUDIO)
    target_link_libraries(VuvuzelaHero SDL SDL_mixer)
endif(NOT DEFINED SDLAUDIO)
