summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: 3e9bf0965f0e4c0857b5cec363d7532f45f82efd (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
###############################################################################
# tuxanci/src/CMakeLists.txt
###############################################################################
# LINKING ( for binary )
###############################################################################
IF ( WITH_SERVER )
	LINK_LIBRARIES (  ${ZIP_LIBRARY} ${CMAKE_DL_LIBS} )
ELSE ( WITH_SERVER )
	IF ( WITH_OPENGL )
		LINK_LIBRARIES ( ${OPENGL_LIBRARIES} )
	ENDIF ( WITH_OPENGL )
	IF  ( WITH_AUDIO )
		LINK_LIBRARIES ( ${ZIP_LIBRARY} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY}
		${SDLTTF_LIBRARY} ${SDLMIXER_LIBRARY} )
	ELSE ( WITH_AUDIO )
		LINK_LIBRARIES ( ${ZIP_LIBRARY} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY}
		${SDLTTF_LIBRARY} )
	ENDIF ( WITH_AUDIO )
	LINK_LIBRARIES ( SDLmain )
ENDIF ( WITH_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}/base/downServer
	${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/choiceArena
	${WORKDIR}/screen/settingKeys	${WORKDIR}/screen/table
	${WORKDIR}/screen/setting	${WORKDIR}/screen/credits
	${WORKDIR}/screen/world	${WORKDIR}/screen/analyze
	${WORKDIR}/screen/mainMenu	${WORKDIR}/screen/browser
	${WORKDIR}/screen/gameType	${WORKDIR}/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
)
###############################################################################
# INCLUDE CONFIGURED HEADERS
###############################################################################
INCLUDE_DIRECTORIES ( ${CMAKE_BINARY_DIR}/src/base/ )
###############################################################################
# IPv6 CHECK
###############################################################################
IF ( ENABLE_IPV6 )
	ADD_DEFINITIONS ( -DSUPPORT_IPv6 )
ENDIF ( ENABLE_IPV6 )
###############################################################################
# AUDIO CHECK
###############################################################################
IF ( NOT WITH_SERVER )
	IF ( WITH_AUDIO )
		MESSAGE ( STATUS "<Building with audio as requested>" )
		MESSAGE ( STATUS "<******************************>" )
		SET ( SRC_compile ${SRC_base} ${SRC_client} ${SRC_audio} )
		INCLUDE_DIRECTORIES ( ${WORKDIR}/audio )
	ELSE ( WITH_AUDIO )
		ADD_DEFINITIONS ( -DNO_SOUND )
	ENDIF ( WITH_AUDIO )
ENDIF ( NOT WITH_SERVER )
###############################################################################
# OPENGL CHECK
###############################################################################
IF ( WITH_OPENGL )
	MESSAGE ( STATUS "<Building with OPENGL as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	ADD_DEFINITIONS ( -DSUPPORT_OPENGL )
ENDIF ( WITH_OPENGL )
###############################################################################
# MODULES
###############################################################################
ADD_SUBDIRECTORY ( modules )
###############################################################################
# SERVER COMPILATION
###############################################################################
IF ( WITH_SERVER )
	MESSAGE ( STATUS "<Building server as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	SET ( SRC_compile ${SRC_base} ${SRC_server} )
	ADD_EXECUTABLE ( ${APPNAME} ${SRC_compile} )
ELSE ( WITH_SERVER )
###############################################################################
# CLIENT COMPILATION
###############################################################################
	MESSAGE ( STATUS "<Building client as requested>" )
	MESSAGE ( STATUS "<******************************>" )
	ADD_EXECUTABLE ( ${APPNAME} ${SRC_compile} )
ENDIF ( WITH_SERVER )
################################################################################
# INSTALLATION OF BINARY
################################################################################
INSTALL ( TARGETS ${APPNAME}
	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} )
################################################################################