gameServer/CMakeLists.txt
changeset 6537 1df1f224f3e9
parent 6536 8a096836321c
child 7112 38c5d56c4d6e
equal deleted inserted replaced
6536:8a096836321c 6537:1df1f224f3e9
     1 find_program(ghc_executable ghc)
     1 find_program(ghc_executable ghc)
     2 
     2 
     3 if(NOT ghc_executable)
     3 if(NOT ghc_executable)
     4 	message(FATAL_ERROR "Cannot find GHC")
     4     message(FATAL_ERROR "Cannot find GHC")
     5 endif(NOT ghc_executable)
     5 endif(NOT ghc_executable)
     6 
     6 
     7 
     7 
     8 set(hwserver_sources
     8 set(hwserver_sources
     9 	OfficialServer/DBInteraction.hs
     9     OfficialServer/DBInteraction.hs
    10 	Actions.hs
    10     Actions.hs
    11 	ClientIO.hs
    11     ClientIO.hs
    12 	CoreTypes.hs
    12     ConfigFile.hs
    13 	HWProtoCore.hs
    13     Consts.hs
    14 	HWProtoInRoomState.hs
    14     CoreTypes.hs
    15 	HWProtoLobbyState.hs
    15     EngineInteraction.hs
    16 	HWProtoNEState.hs
    16     HWProtoCore.hs
    17 	NetRoutines.hs
    17     HWProtoInRoomState.hs
    18 	Opts.hs
    18     HWProtoLobbyState.hs
    19 	ServerCore.hs
    19     HWProtoNEState.hs
    20 	Utils.hs
    20     HandlerUtils.hs
    21 	hedgewars-server.hs
    21     NetRoutines.hs
    22 	)
    22     Opts.hs
       
    23     RoomsAndClients.hs
       
    24     ServerCore.hs
       
    25     ServerState.hs
       
    26     Store.hs
       
    27     Utils.hs
       
    28     hedgewars-server.hs
       
    29     )
    23 
    30 
    24 set(hwserv_main ${hedgewars_SOURCE_DIR}/gameServer/hedgewars-server.hs)
    31 set(hwserv_main ${hedgewars_SOURCE_DIR}/gameServer/hedgewars-server.hs)
    25 
    32 
    26 set(ghc_flags
    33 set(ghc_flags
    27     -O2
    34     --make ${hwserv_main}
    28 	--make ${hwserv_main}
    35     -i${hedgewars_SOURCE_DIR}/gameServer
    29 	-i${hedgewars_SOURCE_DIR}/gameServer
    36     -o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
    30 	-o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
    37     -odir ${CMAKE_CURRENT_BINARY_DIR}
    31 	-odir ${CMAKE_CURRENT_BINARY_DIR}
    38     -hidir ${CMAKE_CURRENT_BINARY_DIR})
    32 	-hidir ${CMAKE_CURRENT_BINARY_DIR})
       
    33 
    39 
    34 set(ghc_flags ${haskell_compiler_flags_cmn} ${ghc_flags})
    40 set(ghc_flags ${haskell_compiler_flags_cmn} ${ghc_flags})
    35 
    41 
    36 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
    42 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
    37 		COMMAND "${ghc_executable}"
    43         COMMAND "${ghc_executable}"
    38 		ARGS ${ghc_flags}
    44         ARGS ${ghc_flags}
    39 		MAIN_DEPENDENCY ${hwserv_main}
    45         MAIN_DEPENDENCY ${hwserv_main}
    40 		DEPENDS ${hwserver_sources}
    46         DEPENDS ${hwserver_sources}
    41 		)
    47         )
    42 
    48 
    43 add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
    49 add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
    44 
    50 
    45 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir})
    51 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir})