gameServer/CMakeLists.txt
changeset 3452 8c04583d8e2a
parent 2606 ed687a8d081f
child 3458 11cd56019f00
equal deleted inserted replaced
3451:62089ccec75c 3452:8c04583d8e2a
     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     CoreTypes.hs
    13 	HWProtoCore.hs
    13     HWProtoCore.hs
    14 	HWProtoInRoomState.hs
    14     HWProtoInRoomState.hs
    15 	HWProtoLobbyState.hs
    15     HWProtoLobbyState.hs
    16 	HWProtoNEState.hs
    16     HWProtoNEState.hs
    17 	NetRoutines.hs
    17     NetRoutines.hs
    18 	Opts.hs
    18     Opts.hs
    19 	ServerCore.hs
    19     ServerCore.hs
    20 	Utils.hs
    20     Utils.hs
    21 	hedgewars-server.hs
    21     hedgewars-server.hs
    22 	)
    22     )
    23 
    23 
    24 set(hwserv_main ${hedgewars_SOURCE_DIR}/gameServer/hedgewars-server.hs)
    24 set(hwserv_main ${hedgewars_SOURCE_DIR}/gameServer/hedgewars-server.hs)
    25 
    25 
    26 set(ghc_flags
    26 set(ghc_flags
    27 	--make ${hwserv_main}
    27     -O2
    28 	-i${hedgewars_SOURCE_DIR}/gameServer
    28     --make ${hwserv_main}
    29 	-o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
    29     -i${hedgewars_SOURCE_DIR}/gameServer
    30 	-odir ${CMAKE_CURRENT_BINARY_DIR}
    30     -o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
    31 	-hidir ${CMAKE_CURRENT_BINARY_DIR})
    31     -odir ${CMAKE_CURRENT_BINARY_DIR}
       
    32     -hidir ${CMAKE_CURRENT_BINARY_DIR})
    32 
    33 
    33 set(ghc_flags ${haskell_compiler_flags_cmn} ${ghc_flags})
    34 set(ghc_flags ${haskell_compiler_flags_cmn} ${ghc_flags})
    34 
    35 
    35 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
    36 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
    36 		COMMAND "${ghc_executable}"
    37         COMMAND "${ghc_executable}"
    37 		ARGS ${ghc_flags}
    38         ARGS ${ghc_flags}
    38 		MAIN_DEPENDENCY ${hwserv_main}
    39         MAIN_DEPENDENCY ${hwserv_main}
    39 		DEPENDS ${hwserver_sources}
    40         DEPENDS ${hwserver_sources}
    40 		)
    41         )
    41 
    42 
    42 add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
    43 add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
    43 
    44 
    44 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir})
    45 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir})