summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: 7f809dfd0ceb34c5b0fc57205e610268d2f9ee0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
###############################################################################
# tuxanci/src/CMakeLists.txt
###############################################################################
# LINKING ( for binary )
###############################################################################
IF ( Server )
	LINK_LIBRARIES (  ${ZZIP_LIBRARY} ${CMAKE_DL_LIBS} )
ELSE ( Server )
	IF  ( NO_Audio )
		LINK_LIBRARIES ( ${ZZIP_LIBRARY} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} )
	ELSE ( NO_Audio )
		LINK_LIBRARIES ( ${ZZIP_LIBRARY} ${SDL_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} )
	ENDIF ( NO_Audio )
	LINK_LIBRARIES ( SDLmain )
ENDIF ( Server )

###############################################################################
# SOURCE SPECIFICATION
###############################################################################
# Command for finding correct file names in directory, replace DIR with
# directory name you want eg: base
# find ./ -maxdepth 1 -type f -name \*.c |grep "$" |sed -e 's/^\.\//\$\{WORKDIR\}\/DIR\//' -e 's/\.c//' |tr '\n' ' '
SET ( SRC_base
	${WORKDIR}/net/udp ${WORKDIR}/net/tcp
	${WORKDIR}/base/udp_server
	${WORKDIR}/base/main	${WORKDIR}/base/shot
	${WORKDIR}/base/space	${WORKDIR}/base/checkFront
	${WORKDIR}/base/storage	${WORKDIR}/base/myTimer
	${WORKDIR}/base/protect	${WORKDIR}/base/list
	${WORKDIR}/base/arena	${WORKDIR}/base/server
	${WORKDIR}/base/serverSelect	${WORKDIR}/base/serverSendMsg
	${WORKDIR}/base/textFile ${WORKDIR}/base/gun
	${WORKDIR}/base/arenaFile	${WORKDIR}/base/modules
	${WORKDIR}/base/net_multiplayer ${WORKDIR}/base/index
	${WORKDIR}/base/item	${WORKDIR}/base/tux
	${WORKDIR}/base/director	${WORKDIR}/base/idManager
	${WORKDIR}/base/homeDirector	${WORKDIR}/base/proto
	${WORKDIR}/base/shareFunction	${WORKDIR}/base/buffer
	${WORKDIR}/base/archive
	${WORKDIR}/net/dns
)

SET ( SRC_client
	${WORKDIR}/client/layer	${WORKDIR}/client/term
	${WORKDIR}/client/screen	${WORKDIR}/client/interface
	${WORKDIR}/client/client	${WORKDIR}/client/chat
	${WORKDIR}/client/configFile	${WORKDIR}/client/saveLoad
	${WORKDIR}/client/font	${WORKDIR}/client/game
	${WORKDIR}/client/radar	${WORKDIR}/client/panel
	${WORKDIR}/client/image	${WORKDIR}/client/keyboardBuffer
	${WORKDIR}/client/pauza	${WORKDIR}/client/saveDialog
	${WORKDIR}/client/hotKey

	${WORKDIR}/screen/screen_choiceArena
	${WORKDIR}/screen/screen_settingKeys	${WORKDIR}/screen/screen_table
	${WORKDIR}/screen/screen_setting	${WORKDIR}/screen/screen_credits
	${WORKDIR}/screen/screen_world	${WORKDIR}/screen/screen_analyze
	${WORKDIR}/screen/screen_mainMenu	${WORKDIR}/screen/screen_browser
	${WORKDIR}/screen/screen_gameType	${WORKDIR}/screen/screen_downArena

	${WORKDIR}/widget/widget_check	${WORKDIR}/widget/widget_button
	${WORKDIR}/widget/widget_textfield	${WORKDIR}/widget/widget_label
	${WORKDIR}/widget/widget_buttonimage	${WORKDIR}/widget/widget_image
	${WORKDIR}/widget/widget_select	${WORKDIR}/widget/widget_catchkey
	${WORKDIR}/widget/widget_choicegroup	${WORKDIR}/widget/widget
)

SET ( SRC_audio
	${WORKDIR}/audio/audio	${WORKDIR}/audio/music
	${WORKDIR}/audio/sound
)

SET ( SRC_server
	${WORKDIR}/server/log	${WORKDIR}/server/serverConfigFile
	${WORKDIR}/server/highScore	${WORKDIR}/server/publicServer
)
###############################################################################
# AUDIO CHECK
###############################################################################
IF ( NO_Audio )
	ADD_DEFINITIONS ( -DNO_SOUND )
ELSE ( NO_Audio )
	MESSAGE ( STATUS "<Building with audio as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	SET ( SRC_compile ${SRC_base} ${SRC_client} ${SRC_audio} )
	INCLUDE_DIRECTORIES ( ${WORKDIR}/audio )
	INCLUDE_DIRECTORIES ( ${SDLMIXER_INCLUDE_DIR} )
ENDIF ( NO_Audio )
###############################################################################
# MODULES
###############################################################################
ADD_SUBDIRECTORY ( modules )
###############################################################################
# SERVER COMPILATION
###############################################################################
IF ( Server )
	MESSAGE ( STATUS "<Building server as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	SET ( SRC_compile ${SRC_base} ${SRC_server} )
	ADD_EXECUTABLE ( ${APPNAME} ${SRC_compile} )
	ADD_SUBDIRECTORY ( downserver )
ENDIF ( Server )
###############################################################################
# CLIENT COMPILATION
###############################################################################
IF ( NOT Server )
	MESSAGE ( STATUS "<Building client as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	ADD_EXECUTABLE ( ${APPNAME} ${SRC_compile} )
ENDIF ( NOT Server )
################################################################################
# INSTALLATION OF BINARY
################################################################################
INSTALL ( TARGETS ${APPNAME}
	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} )
################################################################################