summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2010-10-31 20:10:11 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2010-10-31 20:10:11 +0000
commitebc4e2aa464fd08f5b22d11e11f19a84a95cf5ab (patch)
tree4779fc74a25f882fec210ecf86499a632e1cddf1
parent95ed30a9dcbb9c9bc947899fa066479f45fc5b4b (diff)
download2010-netlemmings-ebc4e2aa464fd08f5b22d11e11f19a84a95cf5ab.tar.gz
2010-netlemmings-ebc4e2aa464fd08f5b22d11e11f19a84a95cf5ab.tar.bz2
2010-netlemmings-ebc4e2aa464fd08f5b22d11e11f19a84a95cf5ab.zip
Ajout de la compilation du serveur dédié avec CMake. Corrections dans le code de deux warnings qui bloquent la compil dans CMake (options par défaut violentes ^^
git-svn-id: file:///var/svn/2010-netlemmings/trunk@125 077b3477-7977-48bd-8428-443f22f7bfda
-rw-r--r--Makefile50
-rw-r--r--src/CMakeLists.txt13
-rw-r--r--src/netlem_ds.c10
-rw-r--r--src/netlem_ds.h8
-rw-r--r--src/netlem_ds.h.in12
5 files changed, 79 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 8c8ce6c..823645f 100644
--- a/Makefile
+++ b/Makefile
@@ -111,12 +111,26 @@ netlem/fast:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/build
.PHONY : netlem/fast
+#=============================================================================
+# Target rules for targets named netlem_ds
+
+# Build rule for target.
+netlem_ds: cmake_check_build_system
+ $(MAKE) -f CMakeFiles/Makefile2 netlem_ds
+.PHONY : netlem_ds
+
+# fast build rule for target.
+netlem_ds/fast:
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/build
+.PHONY : netlem_ds/fast
+
events.o: events.c.o
.PHONY : events.o
# target to build an object file
events.c.o:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/events.c.o
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/events.c.o
.PHONY : events.c.o
events.i: events.c.i
@@ -125,6 +139,7 @@ events.i: events.c.i
# target to preprocess a source file
events.c.i:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/events.c.i
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/events.c.i
.PHONY : events.c.i
events.s: events.c.s
@@ -133,6 +148,7 @@ events.s: events.c.s
# target to generate assembly for a file
events.c.s:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/events.c.s
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/events.c.s
.PHONY : events.c.s
game.o: game.c.o
@@ -141,6 +157,7 @@ game.o: game.c.o
# target to build an object file
game.c.o:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/game.c.o
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/game.c.o
.PHONY : game.c.o
game.i: game.c.i
@@ -149,6 +166,7 @@ game.i: game.c.i
# target to preprocess a source file
game.c.i:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/game.c.i
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/game.c.i
.PHONY : game.c.i
game.s: game.c.s
@@ -157,6 +175,7 @@ game.s: game.c.s
# target to generate assembly for a file
game.c.s:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/game.c.s
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/game.c.s
.PHONY : game.c.s
netlem.o: netlem.c.o
@@ -183,12 +202,37 @@ netlem.c.s:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/netlem.c.s
.PHONY : netlem.c.s
+netlem_ds.o: netlem_ds.c.o
+.PHONY : netlem_ds.o
+
+# target to build an object file
+netlem_ds.c.o:
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/netlem_ds.c.o
+.PHONY : netlem_ds.c.o
+
+netlem_ds.i: netlem_ds.c.i
+.PHONY : netlem_ds.i
+
+# target to preprocess a source file
+netlem_ds.c.i:
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/netlem_ds.c.i
+.PHONY : netlem_ds.c.i
+
+netlem_ds.s: netlem_ds.c.s
+.PHONY : netlem_ds.s
+
+# target to generate assembly for a file
+netlem_ds.c.s:
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/netlem_ds.c.s
+.PHONY : netlem_ds.c.s
+
utils.o: utils.c.o
.PHONY : utils.o
# target to build an object file
utils.c.o:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/utils.c.o
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/utils.c.o
.PHONY : utils.c.o
utils.i: utils.c.i
@@ -197,6 +241,7 @@ utils.i: utils.c.i
# target to preprocess a source file
utils.c.i:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/utils.c.i
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/utils.c.i
.PHONY : utils.c.i
utils.s: utils.c.s
@@ -205,6 +250,7 @@ utils.s: utils.c.s
# target to generate assembly for a file
utils.c.s:
$(MAKE) -f CMakeFiles/netlem.dir/build.make CMakeFiles/netlem.dir/utils.c.s
+ $(MAKE) -f CMakeFiles/netlem_ds.dir/build.make CMakeFiles/netlem_ds.dir/utils.c.s
.PHONY : utils.c.s
# Help Target
@@ -215,6 +261,7 @@ help:
@echo "... depend"
@echo "... edit_cache"
@echo "... netlem"
+ @echo "... netlem_ds"
@echo "... rebuild_cache"
@echo "... events.o"
@echo "... events.i"
@@ -225,6 +272,9 @@ help:
@echo "... netlem.o"
@echo "... netlem.i"
@echo "... netlem.s"
+ @echo "... netlem_ds.o"
+ @echo "... netlem_ds.i"
+ @echo "... netlem_ds.s"
@echo "... utils.o"
@echo "... utils.i"
@echo "... utils.s"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9a4fdf4..4b3689d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -15,12 +15,21 @@ configure_file (
"${PROJECT_SOURCE_DIR}/netlem.h.in"
"${PROJECT_BINARY_DIR}/netlem.h"
)
+configure_file (
+ "${PROJECT_SOURCE_DIR}/netlem_ds.h.in"
+ "${PROJECT_BINARY_DIR}/netlem_ds.h"
+)
# add the binary tree to the search path for include files
-# so that we will find netlem.h
+# so that we will find netlem.h and netlem_ds.h
include_directories("${PROJECT_BINARY_DIR}")
-add_executable(netlem netlem.c events.c game.c utils.c)
add_definitions(-Wall -Wextra -pedantic -Werror -std=c99)
+
+add_executable(netlem netlem.c events.c game.c utils.c)
target_link_libraries(netlem SDL SDL_net)
+add_executable(netlem_ds netlem_ds.c events.c game.c utils.c)
+target_link_libraries(netlem_ds SDL SDL_net)
+
+
diff --git a/src/netlem_ds.c b/src/netlem_ds.c
index c81c850..91e4f62 100644
--- a/src/netlem_ds.c
+++ b/src/netlem_ds.c
@@ -7,10 +7,12 @@
#include "SDL/SDL_thread.h"
#include "src/game.h"
-#include "src/netlem_ds.h"
#include "src/events.h"
#include "src/utils.h"
+// Application version number and some constants
+#include "netlem_ds.h"
+
//struct _timerArgs_t { int *numClients; client_t *clients[]; }; // Comprendre pq ça chie ça
struct _timerArgs_t { int *numClients; client_t **clients; };
@@ -26,7 +28,7 @@ int sendEvents(void *args);
int checkIfAllClientAre(enum clientState state, game_t *game);
int startGame(game_t *game);
-int main(int argc, char *argv[]) {
+int main() {
int numThreads=0, result;
struct _timerArgs_t timerArgs;
@@ -168,7 +170,7 @@ Uint32 timeSyncInsertNullEventsIfNeeded(Uint32 interval, void *args) {
inProgress=0;
- return 1000; // TODO : optimiser la régularité avec la variable interval
+ return 2*1000-interval; // == 1000 - (interval-1000)
}
TCPsocket initServerSocket(int port, SDLNet_SocketSet *sockSetServer) {
@@ -191,7 +193,7 @@ TCPsocket initServerSocket(int port, SDLNet_SocketSet *sockSetServer) {
// Crée un socketSet qui permet essentiellement d'utiliser SDLNet_Check_Sockets()
if (sockSetServer != NULL) {
*sockSetServer = SDLNet_AllocSocketSet(1);
- if ( *sockSetServer < 0 ) {
+ if ( *sockSetServer == NULL ) {
logs2(LOG_ERROR, "initServerSocket(), SDLNet_SocketSet()", SDLNet_GetError());
return NULL;
}
diff --git a/src/netlem_ds.h b/src/netlem_ds.h
deleted file mode 100644
index cd28d03..0000000
--- a/src/netlem_ds.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef NETLEM_DS_H
-#define NETLEM_DS_H
-
-#define MAX_THREADS 2
-#define TIME_FOR_TIMESYNC_MS 2000
-#define MAX_EVENT_INTERVAL_MS 1000
-
-#endif
diff --git a/src/netlem_ds.h.in b/src/netlem_ds.h.in
new file mode 100644
index 0000000..273adf7
--- /dev/null
+++ b/src/netlem_ds.h.in
@@ -0,0 +1,12 @@
+#ifndef NETLEM_DS_H
+#define NETLEM_DS_H
+
+// the configured options and settings for NetLemmings dedicated server
+#define NetLemmings_VERSION_MAJOR @NetLemmings_VERSION_MAJOR@
+#define NetLemmings_VERSION_MINOR @NetLemmings_VERSION_MINOR@
+
+#define MAX_THREADS 2
+#define TIME_FOR_TIMESYNC_MS 2000
+#define MAX_EVENT_INTERVAL_MS 1000
+
+#endif