1
|
#-----------------------------------------------------------------------------^M
|
2
|
# Set CMake 2.6 Policies.
|
3
|
IF(COMMAND cmake_policy)
|
4
|
cmake_policy(SET CMP0003 NEW)
|
5
|
ENDIF(COMMAND cmake_policy)
|
6
|
|
7
|
|
8
|
#-----------------------------------------------------------------------------
|
9
|
# Set default config options
|
10
|
#
|
11
|
NL_SETUP_DEFAULT_OPTIONS()
|
12
|
NL_SETUP_PREFIX_PATHS()
|
13
|
|
14
|
#-----------------------------------------------------------------------------
|
15
|
# Override default options
|
16
|
OPTION(BUILD_CLIENT "Build the Snowballs Client" ON)
|
17
|
OPTION(ENABLE_SOUND "Enable sound in the Snowballs Client" OFF)
|
18
|
|
19
|
OPTION(BUILD_SERVER "Build the Snowballs Servers" ON)
|
20
|
SET(SNOWBALLS_CONFIG_FILE "${NL_ETC_PREFIX}/snowballs" CACHE FILEPATH "Snowballs config file location")
|
21
|
SET(SNOWBALLS_DATA_FILE "${NL_SHARE_PREFIX}/games/snowballs" CACHE FILEPATH "Snowballs data file location")
|
22
|
SET(SNOWBALLS_LOG_FILE "${NL_LOG_PREFIX}/snowballs" CACHE FILEPATH "Snowballs log file location")
|
23
|
INSTALL(CODE "FILE(MAKE_DIRECTORY ${SNOWBALLS_LOG_FILE})")
|
24
|
|
25
|
#-----------------------------------------------------------------------------
|
26
|
#Platform specifics
|
27
|
|
28
|
FIND_PACKAGE(Threads REQUIRED)
|
29
|
FIND_PACKAGE(LibXml2 REQUIRED)
|
30
|
FIND_PACKAGE(PNG REQUIRED)
|
31
|
|
32
|
NL_SETUP_BUILD()
|
33
|
|
34
|
FIND_PACKAGE(NeL COMPONENTS nelmisc nelgeorges nel3d nelnet nelpacs REQUIRED)
|
35
|
FIND_PACKAGE(NeLNS COMPONENTS naming_service login_service welcome_service nel_launcher_qt)
|
36
|
|
37
|
###
|
38
|
# An example of finding NeL 3D and CEGUI Renderer.
|
39
|
###
|
40
|
IF(BUILD_CLIENT)
|
41
|
IF(WITH_SNOWBALLS_CLIENT)
|
42
|
FIND_PACKAGE(FreeType)
|
43
|
FIND_PACKAGE(Jpeg)
|
44
|
|
45
|
IF(ENABLE_SOUND)
|
46
|
FIND_PACKAGE(NeL COMPONENTS nelsound)
|
47
|
ENDIF(ENABLE_SOUND)
|
48
|
ENDIF(BUILD_CLIENT)
|
49
|
|
50
|
IF(WIN32)
|
51
|
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
|
52
|
SET(WINSOCK2_LIB ws2_32.lib)
|
53
|
ENDIF(WIN32)
|
54
|
|
55
|
NL_SETUP_BUILD_FLAGS()
|
56
|
ENDIF(WITH_SNOWBALLS_CLIENT)
|
57
|
|
58
|
|
59
|
ADD_DEFINITIONS(-DSNOWBALLS_CONFIG="${SNOWBALLS_CONFIG_FILE}/" -DSNOWBALLS_STATE="${SNOWBALLS_LOG_FILE}/" -DSNOWBALLS_LOGS="${SNOWBALLS_LOG_FILE}/")
|
60
|
|
61
|
IF(BUILD_CLIENT)
|
62
|
IF(WITH_SNOWBALLS_CLIENT)
|
63
|
ADD_SUBDIRECTORY(client)
|
64
|
ENDIF(BUILD_CLIENT)
|
65
|
ENDIF(WITH_SNOWBALLS_CLIENT)
|
66
|
|
67
|
IF(BUILD_SERVER)
|
68
|
IF(WITH_SNOWBALLS_SERVER)
|
69
|
ADD_SUBDIRECTORY(server)
|
70
|
ENDIF(BUILD_SERVER)
|
71
|
ENDIF(WITH_SNOWBALLS_SERVER)
|
72
|
|
73
|
# packaging information
|
74
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "NeL MMORPG Framework - Snowballs Demo")
|
75
|
SET(CPACK_PACKAGE_VENDOR "NeL")
|
76
|
SET(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_SOURCE_DIR}/README)
|
77
|
SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING)
|
78
|
SET(CPACK_PACKAGE_VERSION_MAJOR "${SB_VERSION_MAJOR}")
|
79
|
SET(CPACK_PACKAGE_VERSION_MINOR "${SB_VERSION_MINOR}")
|
80
|
SET(CPACK_PACKAGE_VERSION_PATCH "${SB_VERSION_PATCH}")
|
81
|
SET(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR};Snowballs;ALL;/")
|
82
|
SET(CPACK_PACKAGE_EXECUTABLES "snowballs-${SB_VERSION}" "snowballs")
|
83
|
|
84
|
# NSIS Specific Packing Setup
|
85
|
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Snowballs")
|
86
|
SET(CPACK_NSIS_MODIFY_PATH "ON")
|
87
|
SET(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/resources/nevraxpill.ico)
|
88
|
SET(CPACK_NSIS_MUI_UNIICON ${CMAKE_SOURCE_DIR}/resources/nevraxpill.ico)
|
89
|
SET(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/resources\\\\nel.bmp)
|
90
|
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} Snowballs")
|
91
|
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\dev.ryzom.com\\\\projects\\\\nel")
|
92
|
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\dev.ryzom.com\\\\projects\\\\nel")
|
93
|
SET(CPACK_NSIS_CONTACT "matt.raykowski@gmail.com")
|
94
|
|
95
|
## Source Packages
|
96
|
SET(CPACK_PACKAGE_FILE_NAME "snowballs-${SB_VERSION}")
|
97
|
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "snowballs-${SB_VERSION}")
|
98
|
IF(WIN32)
|
99
|
SET(CPACK_GENERATOR "NSIS")
|
100
|
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
101
|
ELSE(WIN32)
|
102
|
SET(CPACK_GENERATOR "TGZ")
|
103
|
SET(CPACK_SOURCE_GENERATOR "TGZ")
|
104
|
ENDIF(WIN32)
|
105
|
set(CPACK_SOURCE_IGNORE_FILES
|
106
|
"~$"
|
107
|
"\\\\.cvsignore$"
|
108
|
"^${CMAKE_SOURCE_DIR}.*/CVS/"
|
109
|
"^${CMAKE_SOURCE_DIR}.*/\\\\.svn/"
|
110
|
"^${CMAKE_SOURCE_DIR}/debian/"
|
111
|
"^${CMAKE_SOURCE_DIR}/old/")
|
112
|
IF(WIN32)
|
113
|
IF(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
114
|
# Install "Debug" specific stuff here.
|
115
|
SET(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
|
116
|
message(status "install debug libraries.")
|
117
|
ELSE(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
118
|
# Install "Release" Specific stuff here.
|
119
|
SET(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
|
120
|
ENDIF(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
121
|
|
122
|
IF(BUILD_CLIENT)
|
123
|
IF(WITH_SNOWBALLS_CLIENT)
|
124
|
IF( WITH_QT )
|
125
|
# Needed to find dependencies for nel_launcher_qt.
|
126
|
FIND_PACKAGE(Qt4 REQUIRED)
|
127
|
|
128
|
# Install Qt dependencies for the launcher.
|
129
|
INCLUDE(${QT_USE_FILE})
|
130
|
INSTALL(FILES
|
131
|
"${QT_LIBRARY_DIR}/QtGuid4.dll"
|
132
|
"${QT_LIBRARY_DIR}/QtXmld4.dll"
|
133
|
"${QT_LIBRARY_DIR}/QtCored4.dll"
|
134
|
DESTINATION bin)
|
135
|
|
136
|
# Install Qt dependencies for the launcher.
|
137
|
INCLUDE(${QT_USE_FILE})
|
138
|
INSTALL(FILES
|
139
|
"${QT_BINARY_DIR}/QtGuid4.dll"
|
140
|
"${QT_BINARY_DIR}/QtXmld4.dll"
|
141
|
"${QT_BINARY_DIR}/QtCored4.dll"
|
142
|
DESTINATION bin)
|
143
|
|
144
|
# Install the Qt Launcher.
|
145
|
INSTALL(FILES ${NELNS_NEL_LAUNCHER_BIN} DESTINATION bin COMPONENT snowballsclient)
|
146
|
# Install the Qt Launcher.
|
147
|
INSTALL(FILES ${NELNS_NEL_LAUNCHER_BIN} DESTINATION bin COMPONENT snowballsclient)
|
148
|
ENDIF( WITH_QT )
|
149
|
|
150
|
# Install the sound/video drivers
|
151
|
INSTALL(FILES ${NELDRVOPENGL_DLL} ${NELDRVDIRECT3D_DLL} DESTINATION bin COMPONENT snowballsclient)
|
152
|
ENDIF(BUILD_CLIENT)
|
153
|
ENDIF(WITH_SNOWBALLS_CLIENT)
|
154
|
|
155
|
|
156
|
IF(BUILD_SERVER)
|
157
|
IF(WITH_SNOWBALLS_SERVER)
|
158
|
INSTALL(FILES
|
159
|
${NELNS_NAMING_SERVICE_BIN}
|
160
|
${NELNS_NAMING_SERVICE_CFG}
|
161
|
${NELNS_LOGIN_SERVICE_BIN}
|
162
|
${NELNS_LOGIN_SERVICE_CFG}
|
163
|
${NELNS_WELCOME_SERVICE_BIN}
|
164
|
${NELNS_WELCOME_SERVICE_CFG}
|
165
|
DESTINATION sbin
|
166
|
COMPONENT services)
|
167
|
ENDIF(BUILD_SERVER)
|
168
|
ENDIF(WITH_SNOWBALLS_SERVER)
|
169
|
|
170
|
INCLUDE(InstallRequiredSystemLibraries)
|
171
|
ENDIF(WIN32)
|
172
|
|
173
|
INCLUDE(CPack)
|
174
|
|
175
|
cpack_add_install_type(Full DISPLAY_NAME "Full Install")
|
176
|
|
177
|
cpack_add_component_group(Client
|
178
|
EXPANDED
|
179
|
DESCRPTION "Snowballs Client")
|
180
|
|
181
|
cpack_add_component_group(Server
|
182
|
EXPANDED
|
183
|
DESCRPTION "Snowballs Services")
|
184
|
|
185
|
cpack_add_component(snowballsclient
|
186
|
DISPLAY_NAME "Snowballs Client Runtime"
|
187
|
DESCRIPTION "Hello World Application"
|
188
|
GROUP Application
|
189
|
INSTALL_TYPES Full)
|
190
|
|
191
|
cpack_add_component(Unspecified
|
192
|
DISPLAY_NAME "Application Runtime Libraries"
|
193
|
DESCRIPTION "Hello World Application Libraries"
|
194
|
GROUP Client
|
195
|
INSTALL_TYPES Full)
|
196
|
|
197
|
cpack_add_component(snowballsdata
|
198
|
DISPLAY_NAME "Snowballs Application Data"
|
199
|
DESCRIPTION "Snowballs Application Data"
|
200
|
GROUP Client
|
201
|
INSTALL_TYPES Full)
|
202
|
|
203
|
cpack_add_component(services
|
204
|
DISPLAY_NAME "Snowballs Services"
|
205
|
DESCRIPTION "Snowballs Services"
|
206
|
GROUP Server
|
207
|
INSTALL_TYPES Full)
|