gameServer/CMakeLists.txt
changeset 1979 912e450d4db2
child 2015 d2848d723690
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gameServer/CMakeLists.txt	Mon Apr 13 09:36:25 2009 +0000
@@ -0,0 +1,41 @@
+find_program(ghc_executable ghc)
+
+if (NOT ghc_executable)
+	message(FATAL_ERROR "Cannot find GHC")
+endif(NOT ghc_executable)
+
+set(hwserver_sources
+	OfficialServer/DBInteraction.hs
+	Actions.hs
+	ClientIO.hs
+	CoreTypes.hs
+	HWProtoCore.hs
+	HWProtoInRoomState.hs
+	HWProtoLobbyState.hs
+	HWProtoNEState.hs
+	NetRoutines.hs
+	Opts.hs
+	ServerCore.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})
+
+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 bin)