SET(EXECUTABLE warmux)

FILE(GLOB_RECURSE WARMUX_SRCS *.cpp *.c)
IF(NOT WIN32 AND NOT MSYS)
        LIST(REMOVE_ITEM WARMUX_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/msvc/config.h
                                     ${CMAKE_CURRENT_SOURCE_DIR}/msvc/getopt.c
                                     ${CMAKE_CURRENT_SOURCE_DIR}/msvc/getopt.h
        )
ENDIF(NOT WIN32 AND NOT MSYS)
# TODO: support Maemo
LIST(REMOVE_ITEM WARMUX_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/maemo/conic.cpp
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/conic.h
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/glib.cpp
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/glib.h
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/maemo.cpp
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/maemo.h
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/osso.cpp
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/osso.h
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/resource.cpp
                             ${CMAKE_CURRENT_SOURCE_DIR}/maemo/resource.h)
SET(WARMUX_SRCS ${WARMUX_SRCS} PARENT_SCOPE)

INCLUDE_DIRECTORIES(
        ${CMAKE_CURRENT_SOURCE_DIR}
        ${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR}
        ${SDLTTF_INCLUDE_DIR} ${SDLGFX_INCLUDE_DIR} ${SDLNET_INCLUDE_DIR}
        ${LIBXML2_INCLUDE_DIR}
        ${CURL_INCLUDE_DIRS}
        ${PNG_INCLUDE_DIR}
        ${GETTEXT_INCLUDE_DIR}
        ${PROJECT_SOURCE_DIR}/lib/warmux/include
        ${PROJECT_SOURCE_DIR}/lib/fixedpoint
)

ADD_EXECUTABLE(${EXECUTABLE} ${WARMUX_SRCS})
SET_TARGET_PROPERTIES(${EXECUTABLE} PROPERTIES LINK_FLAGS "${WARMUX_LDFLAGS}" COMPILE_FLAGS "${WARMUX_CFLAGS}")

TARGET_LINK_LIBRARIES( ${EXECUTABLE}
        ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLTTF_LIBRARY} ${SDLGFX_LIBRARY} ${SDLNET_LIBRARY}
        ${LIBXML2_LIBRARIES}
        ${CURL_LIBRARIES}
        ${PNG_LIBRARY}
        ${SDL_LIBRARY}
        ${GETTEXT_LIBRARY}
        libwarmux
        libfixedpoint
)

IF (FRIBIDI_FOUND)
TARGET_LINK_LIBRARIES( ${EXECUTABLE}
        ${FRIBIDI_LIBRARIES}
)
ENDIF (FRIBIDI_FOUND)

INSTALL(TARGETS ${EXECUTABLE} RUNTIME DESTINATION ${BIN_DESTINATION})

IF(WIN32)
  # These .dll files have to be copied to src/ directory
  INSTALL(FILES
    iconv.dll
    intl.dll
    jpeg.dll
    libcurl-4.dll
    libfreetype-6.dll
    libglib-2.0-0.dll
    libglibmm-2.4-1.dll
    libgmodule-2.0-0.dll
    libgobject-2.0-0.dll
    libpng13.dll
    libsigc-2.0-0.dll
    libxml++-2.6-2.dll
    libxml2.dll
    ogg.dll
    vorbis.dll
    vorbisfile.dll
    SDL.dll
    SDL_gfx.dll
    SDL_image.dll
    SDL_mixer.dll
    SDL_net.dll
    SDL_ttf.dll
    zlib1.dll
    DESTINATION ${BIN_DESTINATION}
  )
ENDIF(WIN32)
