blob: 45411911ac03502cea6e578cac1863270cf4c286 (
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
project(StarsEx)
add_library(
StarsEx STATIC
ActiveWindow.cpp
Asteroid.cpp
AudDlg.cpp
AudioConfig.cpp
AwardDlg.cpp
AwardShowDlg.cpp
Bitmap.cpp
Bmp.cpp
Bolt.cpp
Button.cpp
Callsign.cpp
Camera.cpp
CameraDirector.cpp
CameraView.cpp
Campaign.cpp
CampaignMissionFighter.cpp
CampaignMissionRequest.cpp
CampaignMissionStarship.cpp
CampaignPlanAssignment.cpp
CampaignPlanEvent.cpp
CampaignPlanMission.cpp
CampaignPlanMovement.cpp
CampaignPlanStrategic.cpp
CampaignSaveGame.cpp
CampaignSituationReport.cpp
CarrierAI.cpp
Clock.cpp
CmdDlg.cpp
CmdForceDlg.cpp
CmdIntelDlg.cpp
CmdMissionsDlg.cpp
CmdMsgDlg.cpp
CmdOrdersDlg.cpp
CmdTheaterDlg.cpp
CmdTitleDlg.cpp
CmpCompleteDlg.cpp
CmpFileDlg.cpp
CmpLoadDlg.cpp
CmpSceneDlg.cpp
CmpSelectDlg.cpp
CmpnScreen.cpp
Color.cpp
CombatAction.cpp
CombatAssignment.cpp
CombatEvent.cpp
CombatGroup.cpp
CombatRoster.cpp
CombatUnit.cpp
CombatZone.cpp
Combatant.cpp
ComboBox.cpp
ComboList.cpp
Component.cpp
Computer.cpp
ConfirmDlg.cpp
Contact.cpp
ContentBundle.cpp
CtlDlg.cpp
D3DXImage.cpp
DataLoader.cpp
DataSource.cpp
DebriefDlg.cpp
Debris.cpp
DetailSet.cpp
DisplayView.cpp
Drive.cpp
DriveSprite.cpp
Drone.cpp
DropShipAI.cpp
EditBox.cpp
Element.cpp
Encrypt.cpp
EngDlg.cpp
UIEventDispatch.cpp
ExceptionHandler.cpp
ExitDlg.cpp
Explosion.cpp
FadeView.cpp
Farcaster.cpp
FighterAI.cpp
FighterTacticalAI.cpp
FirstTimeDlg.cpp
FlightComp.cpp
FlightDeck.cpp
FlightPlanner.cpp
FltDlg.cpp
Font.cpp
FontMgr.cpp
FormDef.cpp
FormWindow.cpp
FormatUtil.cpp
Galaxy.cpp
Game.cpp
GameScreen.cpp
GameWinDX9.cpp
Geometry.cpp
Graphic.cpp
Grid.cpp
GroundAI.cpp
HUDSounds.cpp
HUDView.cpp
Hangar.cpp
HardPoint.cpp
Hoop.cpp
ImageBox.cpp
ImgView.cpp
Instruction.cpp
Intel.cpp
JoyDlg.cpp
Joystick.cpp
KeyDlg.cpp
KeyMap.cpp
Keyboard.cpp
LandingGear.cpp
Layout.cpp
Light.cpp
ListBox.cpp
LoadDlg.cpp
LoadScreen.cpp
Locale_ss.cpp
MCIWave.cpp
MapView.cpp
Menu.cpp
MenuDlg.cpp
MenuScreen.cpp
MenuView.cpp
Mfd.cpp
Mission.cpp
MissionEvent.cpp
MissionTemplate.cpp
ModConfig.cpp
ModDlg.cpp
ModInfo.cpp
ModInfoDlg.cpp
Mouse.cpp
MouseController.cpp
MsnDlg.cpp
MsnEditDlg.cpp
MsnEditNavDlg.cpp
MsnElemDlg.cpp
MsnEventDlg.cpp
MsnNavDlg.cpp
MsnObjDlg.cpp
MsnPkgDlg.cpp
MsnSelectDlg.cpp
MsnWepDlg.cpp
MultiController.cpp
MusicDirector.cpp
MusicTrack.cpp
NPClientWraps.cpp
NavAI.cpp
NavDlg.cpp
NavLight.cpp
NavSystem.cpp
NetAddrDlg.cpp
NetAuth.cpp
NetBrokerClient.cpp
NetChat.cpp
NetClientConfig.cpp
NetClientDlg.cpp
NetData.cpp
NetGame.cpp
NetGameClient.cpp
NetGameServer.cpp
NetLobby.cpp
NetLobbyClient.cpp
NetLobbyDlg.cpp
NetLobbyServer.cpp
NetPacket.cpp
NetPassDlg.cpp
NetPlayer.cpp
NetServerConfig.cpp
NetServerDlg.cpp
NetUnitDlg.cpp
NetUser.cpp
NetUtil.cpp
OptDlg.cpp
Pcx.cpp
Panic.cpp
ParseUtil.cpp
Particles.cpp
Physical.cpp
PlanScreen.cpp
Player.cpp
PlayerDlg.cpp
PngImage.cpp
Polygon.cpp
Power.cpp
Projector.cpp
QuantumDrive.cpp
QuantumFlash.cpp
QuantumView.cpp
QuitView.cpp
RLoc.cpp
RadioHandler.cpp
RadioMessage.cpp
RadioTraffic.cpp
RadioView.cpp
RadioVox.cpp
Random.cpp
Res.cpp
RichTextBox.cpp
Scene.cpp
Screen.cpp
ScrollWindow.cpp
SeekerAI.cpp
Sensor.cpp
Shadow.cpp
Shield.cpp
ShieldRep.cpp
Ship.cpp
ShipAI.cpp
ShipCtrl.cpp
ShipDesign.cpp
ShipKiller.cpp
ShipSolid.cpp
Shot.cpp
Sim.cpp
SimEvent.cpp
SimObject.cpp
Skin.cpp
Sky.cpp
Slider.cpp
Solid.cpp
Sound.cpp
SoundCard.cpp
SoundD3D.cpp
Sprite.cpp
StarSystem.cpp
Starshatter.cpp
StarshipAI.cpp
StarshipTacticalAI.cpp
SteerAI.cpp
System.cpp
SystemDesign.cpp
TacRefDlg.cpp
TacticalAI.cpp
TacticalView.cpp
Terrain.cpp
TerrainApron.cpp
TerrainClouds.cpp
TerrainHaze.cpp
TerrainPatch.cpp
TerrainRegion.cpp
TexCubeDX9.cpp
TexDX9.cpp
Thruster.cpp
TrackIR.cpp
Trail.cpp
VidDlg.cpp
Video.cpp
VideoDX9.cpp
VideoDX9Enum.cpp
VideoDX9VertexBuffer.cpp
VideoFactory.cpp
VideoSettings.cpp
Water.cpp
Weapon.cpp
WeaponDesign.cpp
WeaponGroup.cpp
Weather.cpp
WepView.cpp
Window.cpp
WndProc.cpp
)
target_include_directories(
StarsEx
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(
StarsEx
PUBLIC ArchiveEx
PUBLIC DefinitionEx
PUBLIC FoundationEx
PUBLIC NetEx
PUBLIC Vorbis::vorbis
PUBLIC Vorbis::vorbisfile
PUBLIC Ogg::ogg
PUBLIC Png::png
PUBLIC Opcode
PRIVATE Sha1
PRIVATE InfoEx
)
target_compile_definitions(
StarsEx
PRIVATE _ALLOW_KEYWORD_MACROS
)
add_version_file(VersionInfo.cpp VersionInfo.cpp.conf)
target_sources(
StarsEx
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.cpp
)
if(MSVC)
target_include_directories(
StarsEx
PUBLIC $ENV{DXSDK_DIR}/Include
PUBLIC ${WINDOWSSDK_PATH}/um
PUBLIC ${WINDOWSSDK_PATH}/shared
)
target_link_libraries(
StarsEx
PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Ws2_32.lib
PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Vfw32.lib
PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/wsock32.lib
PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/winmm.lib
PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/version.lib
PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dinput8.lib
PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dsound.lib
PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3d9.lib
PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3dx9.lib
PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dxguid.lib
)
else()
target_link_libraries(
StarsEx
PUBLIC -l:libws2_32.a
PUBLIC -l:libvfw32.a
PUBLIC -l:libwsock32.a
PUBLIC -l:libwinmm.a
PUBLIC -l:libversion.a
PUBLIC -l:libdinput8.a
PUBLIC -l:libdsound.a
PUBLIC -l:libd3d9.a
PUBLIC -l:libd3dx9.a
PUBLIC -l:libdxguid.a
)
endif()
add_executable(
${PROJECT_NAME}_test
test/AudioConfig.cpp
)
generate_emulator(${PROJECT_NAME}_test LIBS Opcode ArchiveEx)
target_link_libraries(${PROJECT_NAME}_test PRIVATE ${PROJECT_NAME} GTest::gtest_main)
gtest_discover_tests(${PROJECT_NAME}_test DISCOVERY_TIMEOUT 60)
|