author | nemo |
Thu, 15 Oct 2009 17:18:36 +0000 | |
changeset 2456 | 7067544bb15d |
parent 2443 | fececcbc2189 |
child 2515 | 51d3f4b6293a |
permissions | -rw-r--r-- |
555 | 1 |
# Configure for Qt4 |
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1374
diff
changeset
|
2 |
set(QT_MIN_VERSION "4.4.0") |
260 | 3 |
|
502
bc178daca088
Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents:
495
diff
changeset
|
4 |
set(QT_USE_QTCORE TRUE) |
bc178daca088
Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents:
495
diff
changeset
|
5 |
set(QT_USE_QTGUI TRUE) |
494 | 6 |
set(QT_USE_QTNETWORK TRUE) |
7 |
set(QT_USE_QTSVG TRUE) |
|
2428 | 8 |
set(QT_USE_QTXML FALSE) |
9 |
set(QT_USE_QTOPENGL FALSE) |
|
494 | 10 |
set(QT_USE_QTMAIN TRUE) |
11 |
||
184 | 12 |
find_package(Qt4 REQUIRED) |
1159 | 13 |
include(${QT_USE_FILE}) |
184 | 14 |
|
1878
b3b277d2b891
own md5 function, no qca2 dependancy (patch by nemo with Qt adaptation by me)
unc0rr
parents:
1843
diff
changeset
|
15 |
#find_package(QCA2 REQUIRED) |
b3b277d2b891
own md5 function, no qca2 dependancy (patch by nemo with Qt adaptation by me)
unc0rr
parents:
1843
diff
changeset
|
16 |
#include_directories(${QCA2_INCLUDE_DIR}) |
1843 | 17 |
|
555 | 18 |
# Configure for SDL |
19 |
find_package(SDL REQUIRED) |
|
20 |
||
2239
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2230
diff
changeset
|
21 |
include_directories(.) |
707 | 22 |
include_directories(${SDL_INCLUDE_DIR}) |
2443
fececcbc2189
Smaxx patch for fixing all sound related issues on any system
koda
parents:
2428
diff
changeset
|
23 |
include_directories(${OPENAL_INCLUDE_DIR}) |
fececcbc2189
Smaxx patch for fixing all sound related issues on any system
koda
parents:
2428
diff
changeset
|
24 |
include_directories(${PROJECT_SOURCE_DIR}/openalbridge/) |
fececcbc2189
Smaxx patch for fixing all sound related issues on any system
koda
parents:
2428
diff
changeset
|
25 |
|
1159 | 26 |
if(UNIX) |
2443
fececcbc2189
Smaxx patch for fixing all sound related issues on any system
koda
parents:
2428
diff
changeset
|
27 |
# HACK: in freebsd cannot find iconv.h included via SDL.h |
fececcbc2189
Smaxx patch for fixing all sound related issues on any system
koda
parents:
2428
diff
changeset
|
28 |
include_directories("/usr/local/include") |
1159 | 29 |
endif(UNIX) |
555 | 30 |
|
1904 | 31 |
|
184 | 32 |
if(WIN32 AND NOT UNIX) |
33 |
set(HEDGEWARS_BINDIR ".") |
|
267 | 34 |
set(HEDGEWARS_DATADIR "../share/") |
184 | 35 |
else(WIN32 AND NOT UNIX) |
36 |
set(HEDGEWARS_BINDIR ${CMAKE_INSTALL_PREFIX}) |
|
266 | 37 |
if(DEFINED DATA_INSTALL_DIR) |
265 | 38 |
set(HEDGEWARS_DATADIR ${DATA_INSTALL_DIR}) |
266 | 39 |
else(DEFINED DATA_INSTALL_DIR) |
265 | 40 |
set(HEDGEWARS_DATADIR ${CMAKE_INSTALL_PREFIX}/share/) |
266 | 41 |
endif(DEFINED DATA_INSTALL_DIR) |
184 | 42 |
endif(WIN32 AND NOT UNIX) |
43 |
||
2239
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2230
diff
changeset
|
44 |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2218
diff
changeset
|
45 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hwconsts.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/hwconsts.cpp) |
184 | 46 |
|
781 | 47 |
set(hwfr_src |
184 | 48 |
game.cpp |
49 |
main.cpp |
|
781 | 50 |
hwform.cpp |
184 | 51 |
team.cpp |
1907 | 52 |
namegen.cpp |
184 | 53 |
teamselect.cpp |
54 |
teamselhelper.cpp |
|
55 |
frameTeam.cpp |
|
56 |
vertScrollArea.cpp |
|
57 |
gameuiconfig.cpp |
|
58 |
ui_hwform.cpp |
|
59 |
gamecfgwidget.cpp |
|
60 |
pages.cpp |
|
61 |
SquareLabel.cpp |
|
1236 | 62 |
hats.cpp |
184 | 63 |
hedgehogerWidget.cpp |
64 |
hwmap.cpp |
|
65 |
mapContainer.cpp |
|
187 | 66 |
tcpBase.cpp |
239 | 67 |
about.cpp |
297 | 68 |
proto.cpp |
314 | 69 |
fpsedit.cpp |
70 |
netserver.cpp |
|
412 | 71 |
newnetclient.cpp |
72 |
netudpserver.cpp |
|
461 | 73 |
netudpwidget.cpp |
633 | 74 |
netregister.cpp |
632
5e09ae25729f
Half implement possibility for different backends of servers list
unc0rr
parents:
625
diff
changeset
|
75 |
netserverslist.cpp |
539
6a9bf1852bbc
Ability to choose which info is shown above hedgehogs
unc0rr
parents:
502
diff
changeset
|
76 |
chatwidget.cpp |
555 | 77 |
binds.cpp |
579 | 78 |
SDLs.cpp |
79 |
playrecordpage.cpp |
|
781 | 80 |
${CMAKE_CURRENT_BINARY_DIR}/hwconsts.cpp |
612
333d095319de
abstract class for items container (hedgehogs num, bullets, etc.)
displacer
parents:
597
diff
changeset
|
81 |
selectWeapon.cpp |
880
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
82 |
itemNum.cpp |
653
4f44fc06ca45
Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents:
633
diff
changeset
|
83 |
input_ip.cpp |
1192 | 84 |
igbox.cpp |
1621 | 85 |
weaponItem.cpp |
86 |
statsPage.cpp |
|
1878
b3b277d2b891
own md5 function, no qca2 dependancy (patch by nemo with Qt adaptation by me)
unc0rr
parents:
1843
diff
changeset
|
87 |
misc.cpp |
1881 | 88 |
ammoSchemeModel.cpp |
1932 | 89 |
togglebutton.cpp |
2012 | 90 |
bgwidget.cpp |
1621 | 91 |
) |
184 | 92 |
|
880
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
93 |
if(MINGW) |
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
94 |
# resource compilation for mingw |
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
95 |
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o |
1574 | 96 |
COMMAND windres -I ${CMAKE_CURRENT_SOURCE_DIR} |
1039 | 97 |
-i ${CMAKE_CURRENT_SOURCE_DIR}/hedgewars.rc |
880
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
98 |
-o ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o) |
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
99 |
set(hwfr_src ${hwfr_src} ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o) |
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
100 |
else(MINGW) |
1042 | 101 |
set(hwfr_src ${hwfr_src} hedgewars.rc) |
880
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
102 |
endif(MINGW) |
184 | 103 |
|
104 |
set(hwfr_moc_hdrs |
|
105 |
game.h |
|
1236 | 106 |
hats.h |
184 | 107 |
hwform.h |
108 |
teamselect.h |
|
109 |
teamselhelper.h |
|
110 |
frameTeam.h |
|
111 |
vertScrollArea.h |
|
112 |
gameuiconfig.h |
|
113 |
gamecfgwidget.h |
|
114 |
pages.h |
|
115 |
SquareLabel.h |
|
116 |
hedgehogerWidget.h |
|
117 |
hwmap.h |
|
118 |
mapContainer.h |
|
187 | 119 |
tcpBase.h |
208 | 120 |
about.h |
297 | 121 |
proto.h |
314 | 122 |
fpsedit.h |
123 |
netserver.h |
|
412 | 124 |
newnetclient.h |
125 |
netudpserver.h |
|
461 | 126 |
netudpwidget.h |
633 | 127 |
netregister.h |
632
5e09ae25729f
Half implement possibility for different backends of servers list
unc0rr
parents:
625
diff
changeset
|
128 |
netserverslist.h |
555 | 129 |
chatwidget.h |
579 | 130 |
SDLs.h |
597
ec5f057ab268
kdevelop project add, initial weapons scheme button
displacer
parents:
592
diff
changeset
|
131 |
playrecordpage.h |
612
333d095319de
abstract class for items container (hedgehogs num, bullets, etc.)
displacer
parents:
597
diff
changeset
|
132 |
selectWeapon.h |
880
f9efe907828f
Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents:
781
diff
changeset
|
133 |
itemNum.h |
653
4f44fc06ca45
Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents:
633
diff
changeset
|
134 |
input_ip.h |
1192 | 135 |
igbox.h |
1621 | 136 |
weaponItem.h |
137 |
statsPage.h |
|
1878
b3b277d2b891
own md5 function, no qca2 dependancy (patch by nemo with Qt adaptation by me)
unc0rr
parents:
1843
diff
changeset
|
138 |
misc.h |
1881 | 139 |
ammoSchemeModel.h |
1932 | 140 |
togglebutton.h |
2012 | 141 |
bgwidget.h |
1621 | 142 |
) |
184 | 143 |
|
2400
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
144 |
if(APPLE) |
2421 | 145 |
find_package(Sparkle) |
146 |
||
2400
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
147 |
set(hwfr_src ${hwfr_src} InstallController.cpp CocoaInitializer.mm M3Panel.mm M3InstallController.m NSWorkspace_RBAdditions.m) |
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
148 |
if(SPARKLE_FOUND) |
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
149 |
set(hwfr_src ${hwfr_src} AutoUpdater.cpp SparkleAutoUpdater.mm) |
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
150 |
endif() |
2395 | 151 |
endif() |
2261 | 152 |
|
477 | 153 |
set(hwfr_hdrs |
154 |
binds.h |
|
155 |
ui_hwform.h |
|
156 |
predefteams.h |
|
157 |
KB.h |
|
579 | 158 |
hwconsts.h |
477 | 159 |
) |
184 | 160 |
|
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
161 |
set(hwfr_rez hedgewars.qrc) |
184 | 162 |
|
163 |
qt4_add_resources(hwfr_rez_src |
|
164 |
${hwfr_rez}) |
|
165 |
||
166 |
qt4_wrap_cpp(hwfr_moc_srcs |
|
167 |
${hwfr_moc_hdrs}) |
|
168 |
||
169 |
add_executable(hedgewars WIN32 |
|
170 |
${hwfr_src} |
|
171 |
${hwfr_moc_srcs} |
|
477 | 172 |
${hwfr_hdrs} |
184 | 173 |
${hwfr_rez_src}) |
2191 | 174 |
|
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
175 |
|
555 | 176 |
set(HW_LINK_LIBS |
177 |
${QT_LIBRARIES} |
|
178 |
${SDL_LIBRARY} |
|
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
179 |
openalbridge |
2191 | 180 |
) |
184 | 181 |
|
2336
66c751f7a28e
fix windows compilation with dll (frontend and engine)
koda
parents:
2261
diff
changeset
|
182 |
#remember that in windows library order counts |
66c751f7a28e
fix windows compilation with dll (frontend and engine)
koda
parents:
2261
diff
changeset
|
183 |
if(NOT APPLE) |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
184 |
set(HW_LINK_LIBS |
2230
d6963f72d21a
once again, trying to restore windows compatibility from nemo's experiments
koda
parents:
2229
diff
changeset
|
185 |
${HW_LINK_LIBS} |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
186 |
${OPENAL_LIBRARY} |
2230
d6963f72d21a
once again, trying to restore windows compatibility from nemo's experiments
koda
parents:
2229
diff
changeset
|
187 |
${OGG_LIBRARY} |
2229
081081a61a16
patch for loading sprites on two columns (helps embedded and lowpower machines). must deal with amGirder.png
koda
parents:
2219
diff
changeset
|
188 |
${VORBIS_LIBRARY} |
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
189 |
${VORBISFILE_LIBRARY} |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
190 |
) |
2336
66c751f7a28e
fix windows compilation with dll (frontend and engine)
koda
parents:
2261
diff
changeset
|
191 |
else() |
2230
d6963f72d21a
once again, trying to restore windows compatibility from nemo's experiments
koda
parents:
2229
diff
changeset
|
192 |
#no vorbisfile required for MacOS X |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
193 |
set(HW_LINK_LIBS |
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
194 |
${OPENAL_LIBRARY} |
2230
d6963f72d21a
once again, trying to restore windows compatibility from nemo's experiments
koda
parents:
2229
diff
changeset
|
195 |
${OGG_LIBRARY} |
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
196 |
${VORBIS_LIBRARY} |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
197 |
${HW_LINK_LIBS} |
2400
2422ea85d100
added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents:
2399
diff
changeset
|
198 |
IOKit |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
199 |
) |
2395 | 200 |
if (SPARKLE_FOUND) |
201 |
set(HW_LINK_LIBS ${HW_LINK_LIBS} ${SPARKLE_LIBRARY}) |
|
2401 | 202 |
add_definitions(-DSPARKLE_ENABLED) |
2395 | 203 |
endif() |
2336
66c751f7a28e
fix windows compilation with dll (frontend and engine)
koda
parents:
2261
diff
changeset
|
204 |
endif() |
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
205 |
|
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
206 |
|
184 | 207 |
if(WIN32 AND NOT UNIX) |
555 | 208 |
if(NOT SDL_LIBRARY) |
2401 | 209 |
set(HW_LINK_LIBS ${HW_LINK_LIBS} SDL) |
555 | 210 |
endif(NOT SDL_LIBRARY) |
211 |
||
495 | 212 |
set(HW_LINK_LIBS |
213 |
${HW_LINK_LIBS} |
|
214 |
ole32 |
|
1043 | 215 |
oleaut32 |
495 | 216 |
winspool |
555 | 217 |
uuid |
218 |
) |
|
495 | 219 |
endif(WIN32 AND NOT UNIX) |
184 | 220 |
|
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
221 |
|
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
222 |
target_link_libraries(hedgewars ${HW_LINK_LIBS}) |
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
223 |
|
495 | 224 |
|
2015 | 225 |
install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir}) |
2218
59a9bebc4988
-Smaxx' solution for compiling frontend with static libs in windows
koda
parents:
2212
diff
changeset
|
226 |