gameServer/CMakeLists.txt
author Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Tue, 07 Jan 2014 11:40:58 +0100
branch0.9.20
changeset 9928 fe4b1ce9b6f8
parent 8686 d303da4568b7
child 8833 c13ebed437cb
child 9975 9fcdaa2be27e
permissions -rw-r--r--
backport of r2aa9cf5badfcc978268a9bf06950942f27dfd366 Added cast to qreal, avoiding ftbfs due to issue #758 More explanation here https://wiki.debian.org/ArmEabiFixes And on qt-project.org reference website: "Typedef for double on all platforms except for those using CPUs with ARM architectures. On ARM-based platforms, qreal is a typedef for float for performance reasons."


include(${CMAKE_MODULE_PATH}/utils.cmake)

find_package_or_disable(GHC NOSERVER)

set(hwserver_sources
    OfficialServer/DBInteraction.hs
    Actions.hs
    ClientIO.hs
    ConfigFile.hs
    Consts.hs
    CoreTypes.hs
    EngineInteraction.hs
    HWProtoCore.hs
    HWProtoInRoomState.hs
    HWProtoLobbyState.hs
    HWProtoNEState.hs
    HandlerUtils.hs
    NetRoutines.hs
    Opts.hs
    RoomsAndClients.hs
    ServerCore.hs
    ServerState.hs
    Store.hs
    Utils.hs
    hedgewars-server.hs
    )

set(hwserv_main ${hedgewars_SOURCE_DIR}/gameServer/hedgewars-server.hs)

set(ghc_flags
    --make ${hwserv_main}
    -i${hedgewars_SOURCE_DIR}/gameServer
    -o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
    -odir ${CMAKE_CURRENT_BINARY_DIR}
    -hidir ${CMAKE_CURRENT_BINARY_DIR}
    ${haskell_flags})

add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
        COMMAND "${GHC_EXECUTABLE}"
        ARGS ${ghc_flags}
        MAIN_DEPENDENCY ${hwserv_main}
        DEPENDS ${hwserver_sources}
        )

add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")

install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_binary_install_dir})