gameServer/CMakeLists.txt
author unc0rr
Thu, 30 Jan 2014 00:18:32 +0400 (2014-01-29)
changeset 10090 a471a7bbc339
parent 10070 87fa6d14187f
child 10109 91d126fbd7bd
permissions -rw-r--r--
- Start work on flood detector - More agressive joins flood protection - Also fix some warnings
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
     1
8686
d303da4568b7 introduce find_package_or_fail/disable to group together similar cmake code
koda
parents: 8671
diff changeset
     2
include(${CMAKE_MODULE_PATH}/utils.cmake)
d303da4568b7 introduce find_package_or_fail/disable to group together similar cmake code
koda
parents: 8671
diff changeset
     3
d303da4568b7 introduce find_package_or_fail/disable to group together similar cmake code
koda
parents: 8671
diff changeset
     4
find_package_or_disable(GHC NOSERVER)
2401
2a694ea2a437 fixes & co.
koda
parents: 2203
diff changeset
     5
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
     6
set(hwserver_sources
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
     7
    OfficialServer/DBInteraction.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
     8
    Actions.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
     9
    ClientIO.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    10
    ConfigFile.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    11
    Consts.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    12
    CoreTypes.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    13
    EngineInteraction.hs
10090
a471a7bbc339 - Start work on flood detector
unc0rr
parents: 10070
diff changeset
    14
    FloodDetection.hs
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    15
    HWProtoCore.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    16
    HWProtoInRoomState.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    17
    HWProtoLobbyState.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    18
    HWProtoNEState.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    19
    HandlerUtils.hs
9975
9fcdaa2be27e Allow logins at any interval, but not more than 2 logins in 30 seconds, 4 in 2 minutes and 6 in 10 minutes.
unc0rr
parents: 8686
diff changeset
    20
    JoinsMonitor.hs
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    21
    NetRoutines.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    22
    Opts.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    23
    RoomsAndClients.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    24
    ServerCore.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    25
    ServerState.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    26
    Store.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    27
    Utils.hs
10056
cb9e07753802 Don't delegate special room to another player when owner quits
unc0rr
parents: 10046
diff changeset
    28
    Votes.hs
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    29
    hedgewars-server.hs
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    30
    )
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    31
10068
cbe06dc07332 use CMAKE_CURRENT_SOURCE_DIR consistently
koda
parents: 10056
diff changeset
    32
set(hwserv_main ${CMAKE_CURRENT_SOURCE_DIR}/hedgewars-server.hs)
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    33
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    34
set(ghc_flags
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    35
    --make ${hwserv_main}
10070
87fa6d14187f ghc ooops
koda
parents: 10068
diff changeset
    36
    -i${CMAKE_CURRENT_SOURCE_DIR}
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    37
    -o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    38
    -odir ${CMAKE_CURRENT_BINARY_DIR}
7112
38c5d56c4d6e rename a few internal cmake variables (for consistency and readability)
koda
parents: 6537
diff changeset
    39
    -hidir ${CMAKE_CURRENT_BINARY_DIR}
38c5d56c4d6e rename a few internal cmake variables (for consistency and readability)
koda
parents: 6537
diff changeset
    40
    ${haskell_flags})
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2015
diff changeset
    41
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    42
add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
8671
a9957b7797f3 write FindGHC.cmake for haskell stuff
koda
parents: 8316
diff changeset
    43
        COMMAND "${GHC_EXECUTABLE}"
6537
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    44
        ARGS ${ghc_flags}
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    45
        MAIN_DEPENDENCY ${hwserv_main}
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    46
        DEPENDS ${hwserver_sources}
1df1f224f3e9 Take koda's notice into account, also update list of source files
unc0rr
parents: 6536
diff changeset
    47
        )
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    48
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    49
add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
912e450d4db2 - Add gameServer to build system
unc0rr
parents:
diff changeset
    50
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 7113
diff changeset
    51
install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_binary_install_dir})