PROJECT (dave)

IF ( NOT CMAKE_BUILD_TYPE )
   SET( CMAKE_BUILD_TYPE Debug )
   MESSAGE( STATUS "Setting build type to '${CMAKE_BUILD_TYPE}'" )
ELSE ( NOT CMAKE_BUILD_TYPE )
   MESSAGE( STATUS "Build type set to '${CMAKE_BUILD_TYPE}' by user." )
ENDIF ( NOT CMAKE_BUILD_TYPE )

SET( CMAKE_CXX_FLAGS_DEBUG "-g -Wall" CACHE STRING
    "Flags used by the C++ compiler during maintainer builds."
    FORCE )
SET( CMAKE_C_FLAGS_DEBUG "-g -Wall" CACHE STRING
    "Flags used by the C compiler during maintainer builds."
    FORCE )
SET( CMAKE_EXE_LINKER_FLAGS_DEBUG
    "-Wl" CACHE STRING
    "Flags used for linking binaries during maintainer builds."
    FORCE )
SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG
    "-Wl" CACHE STRING
    "Flags used by the shared libraries linker during maintainer builds."
    FORCE )
        
FIND_PACKAGE(OpenGL REQUIRED)
FIND_PACKAGE(SDL REQUIRED)
FIND_PACKAGE(SDL_image REQUIRED)
FIND_PACKAGE(SDL_mixer REQUIRED)

FIND_LIBRARY(LIB3DS_LIBRARY 3ds)

SET(SOURCES
        analog_effects.cpp
        image.cpp
        library.cpp
        opengl.cpp
        fellow.cpp
        game.cpp
        level.cpp
        teletext.cpp
        editor.cpp
        ability.cpp
        model.cpp
        remote.cpp
        kdtree.cpp
        )

SET(SOURCES2
	teletext_editor.cpp
        image.cpp
        library.cpp
        teletext.cpp
        )


INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} )
SET(EXTRA_LIBS ${LIB3DS_LIBRARY} ${OPENGL_LIBRARIES} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY})	


IF (APPLE)
        SET(SOURCES ${SOURCES} SDLMain.m)
	SET(SOURCES2 ${SOURCES2} SDLMain.m)
ELSE (APPLE)
        FIND_LIBRARY(GLEW_LIBRARY GLEW)
        SET(EXTRA_LIBS ${EXTRA_LIBS} ${GLEW_LIBRARY})
ENDIF (APPLE)

ADD_EXECUTABLE(dave WIN32 MACOSX_BUNDLE ${SOURCES})
ADD_EXECUTABLE(editor WIN32 MACOSX_BUNDLE ${SOURCES2})

TARGET_LINK_LIBRARIES( dave ${EXTRA_LIBS} )
TARGET_LINK_LIBRARIES( editor ${EXTRA_LIBS} )

IF(APPLE)
	FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dave.app/Contents/Resources)
	ADD_CUSTOM_TARGET(resource_copy COMMAND  cp -Rf ${CMAKE_CURRENT_SOURCE_DIR}/graphics ./dave.app/Contents/Resources)
	ADD_CUSTOM_TARGET(resource_copy2 COMMAND  cp -Rf ${CMAKE_CURRENT_SOURCE_DIR}/levels ./dave.app/Contents/Resources)
	ADD_DEPENDENCIES(dave resource_copy resource_copy2)
ENDIF(APPLE)

