13 find_package(Qt4 REQUIRED) |
13 find_package(Qt4 REQUIRED) |
14 include(${QT_USE_FILE}) |
14 include(${QT_USE_FILE}) |
15 |
15 |
16 find_package(SDL REQUIRED) #video in SDLInteraction |
16 find_package(SDL REQUIRED) #video in SDLInteraction |
17 find_package(SDL_mixer REQUIRED) #audio in SDLInteraction |
17 find_package(SDL_mixer REQUIRED) #audio in SDLInteraction |
18 find_package(SDL_net REQUIRED) #network frontlib |
18 |
19 if(NOT NOVIDEOREC) |
19 if(${FFMPEG_FOUND}) |
20 find_package(FFMPEG) |
20 add_definitions(-DVIDEOREC -D__STDC_CONSTANT_MACROS) |
21 if(${FFMPEG_FOUND}) |
21 include_directories(${FFMPEG_INCLUDE_DIR}) |
22 add_definitions(-DVIDEOREC -D__STDC_CONSTANT_MACROS) |
22 list(APPEND HW_LINK_LIBS ${FFMPEG_LIBRARIES}) |
23 endif() |
|
24 endif() |
23 endif() |
25 |
24 |
26 # server messages localization |
25 # server messages localization |
27 file(GLOB ServerSources ${CMAKE_SOURCE_DIR}/gameServer/*.hs) |
26 file(GLOB ServerSources ${CMAKE_SOURCE_DIR}/gameServer/*.hs) |
28 foreach(hsfile ${ServerSources}) |
27 foreach(hsfile ${ServerSources}) |
54 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ui/widget) |
53 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ui/widget) |
55 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util) |
54 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util) |
56 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util/platform) |
55 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util/platform) |
57 include_directories(${SDL_INCLUDE_DIR}) |
56 include_directories(${SDL_INCLUDE_DIR}) |
58 include_directories(${SDLMIXER_INCLUDE_DIR}) |
57 include_directories(${SDLMIXER_INCLUDE_DIR}) |
59 include_directories(${FFMPEG_INCLUDE_DIR}) |
58 include_directories(${PHYSFS_INCLUDE_DIR}) |
60 include_directories(${CMAKE_SOURCE_DIR}/misc/physfs/src) |
59 include_directories(${PHYSLAYER_INCLUDE_DIR}) |
61 include_directories(${CMAKE_SOURCE_DIR}/misc/physfs/extras) |
60 |
|
61 |
62 if(UNIX) |
62 if(UNIX) |
63 # HACK: in freebsd cannot find iconv.h included via SDL.h |
63 # HACK: in freebsd cannot find iconv.h included via SDL.h |
64 include_directories("/usr/local/include") |
64 include_directories("/usr/local/include") |
65 endif(UNIX) |
65 endif(UNIX) |
66 |
|
67 #directory for resources, relative to bindir (on linux an absolute path is always used) |
|
68 string(SUBSTRING "${SHAREPATH}" 0 1 sharepath_start) |
|
69 if(APPLE OR WIN32 OR ${sharepath_start} MATCHES "/") |
|
70 set(HEDGEWARS_DATADIR ${SHAREPATH}) |
|
71 else() |
|
72 set(HEDGEWARS_DATADIR ${CMAKE_INSTALL_PREFIX}/${SHAREPATH}) |
|
73 endif() |
|
74 |
66 |
75 #only the cocoa version of qt supports building 64 bit apps |
67 #only the cocoa version of qt supports building 64 bit apps |
76 if(APPLE AND (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64*") AND (NOT QT_MAC_USE_COCOA)) |
68 if(APPLE AND (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64*") AND (NOT QT_MAC_USE_COCOA)) |
77 message(FATAL_ERROR "Building the 64 bit version of Hedgewars *requires* the Cocoa variant of QT on Mac OS X") |
69 message(FATAL_ERROR "Building the 64 bit version of Hedgewars *requires* the Cocoa variant of QT on Mac OS X") |
78 endif() |
70 endif() |
173 util/platform/InstallController.cpp |
164 util/platform/InstallController.cpp |
174 util/platform/M3Panel.mm |
165 util/platform/M3Panel.mm |
175 util/platform/M3InstallController.m |
166 util/platform/M3InstallController.m |
176 util/platform/NSWorkspace_RBAdditions.m |
167 util/platform/NSWorkspace_RBAdditions.m |
177 ) |
168 ) |
178 if(NOT NOAUTOUPDATE) |
169 include(${CMAKE_MODULE_PATH}/utils.cmake) |
179 find_package(Sparkle) |
170 find_package_or_disable_msg(Sparkle NOAUTOUPDATE "Autoupdater will not be built.") |
180 if(SPARKLE_FOUND) |
171 if(SPARKLE_FOUND) |
181 add_definitions(-DSPARKLE_ENABLED) |
172 add_definitions(-DSPARKLE_ENABLED) |
182 list(APPEND hwfr_src util/platform/AutoUpdater.cpp |
173 list(APPEND hwfr_src util/platform/AutoUpdater.cpp |
183 util/platform/SparkleAutoUpdater.mm) |
174 util/platform/SparkleAutoUpdater.mm) |
184 list(APPEND HW_LINK_LIBS ${SPARKLE_LIBRARY}) |
175 list(APPEND HW_LINK_LIBS ${SPARKLE_LIBRARY}) |
185 endif() |
|
186 endif() |
176 endif() |
187 endif() |
177 endif() |
188 |
178 |
189 #when debugging, always prompt a console to see fronted messages |
179 #when debugging, always prompt a console to see fronted messages |
190 #TODO: check it doesn't interfere on UNIX |
180 #TODO: check it doesn't interfere on UNIX |
207 if((UNIX AND NOT APPLE) AND ${LIBENGINE}) |
197 if((UNIX AND NOT APPLE) AND ${LIBENGINE}) |
208 set_target_properties(hedgewars PROPERTIES LINK_FLAGS "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}") |
198 set_target_properties(hedgewars PROPERTIES LINK_FLAGS "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}") |
209 endif() |
199 endif() |
210 |
200 |
211 list(APPEND HW_LINK_LIBS |
201 list(APPEND HW_LINK_LIBS |
212 physfs |
202 ${PHYSFS_LIBRARY} |
|
203 ${PHYSLAYER_LIBRARY} |
213 ${QT_LIBRARIES} |
204 ${QT_LIBRARIES} |
214 ${SDL_LIBRARY} |
205 ${SDL_LIBRARY} |
215 ${SDLMIXER_LIBRARY} |
206 ${SDLMIXER_LIBRARY} |
216 ${FFMPEG_LIBRARIES} |
|
217 ) |
207 ) |
218 |
208 |
219 if(WIN32 AND NOT UNIX) |
209 if(WIN32 AND NOT UNIX) |
220 if(NOT SDL_LIBRARY) |
210 if(NOT SDL_LIBRARY) |
221 list(APPEND HW_LINK_LIBS SDL) |
211 list(APPEND HW_LINK_LIBS SDL) |