]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/CMakeLists.txt
Various Mac OS X tweaks to get this to build. Probably breaking things.
[icculus/iodoom3.git] / neo / CMakeLists.txt
1 PROJECT(iodoom3)
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
3
4 INCLUDE(CheckCCompilerFlag)
5
6 IF(WIN32 AND NOT WINDOWS)
7     SET(WINDOWS TRUE)
8 ENDIF(WIN32 AND NOT WINDOWS)
9 IF(APPLE AND NOT MACOSX)
10     SET(MACOSX TRUE)
11 ENDIF(APPLE AND NOT MACOSX)
12 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
13     SET(LINUX TRUE)
14 ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
15
16 IF(NOT CMAKE_BUILD_TYPE)
17     SET(IODOOM3_DEBUG_BUILD ON)
18 ENDIF(NOT CMAKE_BUILD_TYPE)
19 IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
20     SET(IODOOM3_DEBUG_BUILD ON)
21 ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
22
23 # See what CPU we appear to be targeting...
24 #  It would be nice if CMake handled this for us.
25 MACRO(CHECK_CPU _CDEFS _NAME _VALUE)
26     CHECK_C_SOURCE_COMPILES("
27         #if ( ${_CDEFS} )
28         int main(int argc, char **argv) { int yup = 1; return 0; }
29         #else
30         #error Not targeting this CPU architecture.
31         #endif
32         " ${_VALUE}
33     )
34
35     IF(${_VALUE})
36         IF(IODOOM3_CHOSE_CPU)
37             MESSAGE(STATUS "We appear to see two different CPU architectures!")
38             MESSAGE(STATUS "We saw '${IODOOM3_CPU}' and '${_NAME}'.")
39             MESSAGE(FATAL_ERROR "Please fix this before continuing.")
40         ENDIF(IODOOM3_CHOSE_CPU)
41         SET(IODOOM3_CHOSE_CPU TRUE)
42         SET(IODOOM3_CPU ${_NAME})
43     ENDIF(${_VALUE})
44 ENDMACRO(CHECK_CPU)
45
46 SET(IODOOM3_X86 TRUE) # !!! FIXME
47 SET(IODOOM3_CHOSE_CPU TRUE)
48 SET(IODOOM3_CPU "x86")
49 #CHECK_CPU(
50 #    "defined(__i386__) || defined(__i686__) || defined(_M_X86) || defined(i386)"
51 #    "x86" IODOOM3_X86
52 #)
53 #
54 #CHECK_CPU(
55 #    "defined(__x86_64__) || defined(_M_X64)"
56 #    "amd64" IODOOM3_AMD64
57 #)
58
59 IF(NOT IODOOM3_CHOSE_CPU)
60     MESSAGE(STATUS "We don't appear to be targeting a CPU that we support.")
61     MESSAGE(FATAL_ERROR "Please fix this before continuing.")
62 ENDIF(NOT IODOOM3_CHOSE_CPU)
63
64 IF(MACOSX)  # CMake reports CMAKE_SYSTEM_NAME as "Darwin" here...
65     SET(IODOOM3_OS "macosx")
66 ELSE(MACOSX)
67     STRING(TOLOWER "${CMAKE_SYSTEM_NAME}" IODOOM3_OS)
68 ENDIF(MACOSX)
69
70 SET(IODOOM3_TARGET "${IODOOM3_OS}-${IODOOM3_CPU}")
71
72 IF(IODOOM3_DEBUG_BUILD)
73     ADD_DEFINITIONS(-DDEBUG)
74     ADD_DEFINITIONS(-D_DEBUG)
75 ELSE(IODOOM3_DEBUG_BUILD)
76     ADD_DEFINITIONS(-D_RELEASE)
77     ADD_DEFINITIONS(-DNDEBUG)
78     ADD_DEFINITIONS(-DRELEASE)
79     IF(CMAKE_COMPILER_IS_GNUCC)
80         ADD_DEFINITIONS(-ffast-math)
81     ENDIF(CMAKE_COMPILER_IS_GNUCC)
82 ENDIF(IODOOM3_DEBUG_BUILD)
83
84 IF(LINUX)
85     # Don't use -rpath (at least, not the silly one CMake forces).
86     SET(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE )
87     ADD_DEFINITIONS(-Wno-deprecated)
88 ENDIF(LINUX)
89
90 IF(MACOSX)
91     IF(IODOOM3_AMD64)
92         ADD_DEFINITIONS(-arch x86_64 -mmacosx-version-min=10.6)
93         SET(EXE_LDFLAGS "-arch x86_64 -mmacosx-version-min=10.6")
94         SET(SHARED_LDFLAGS "-arch x86_64 -mmacosx-version-min=10.6")
95     ENDIF(IODOOM3_AMD64)
96     IF(IODOOM3_X86)
97         ADD_DEFINITIONS(-arch i386 -mmacosx-version-min=10.4)
98         SET(EXE_LDFLAGS "-arch i386 -mmacosx-version-min=10.4")
99         SET(SHARED_LDFLAGS "-arch i386 -mmacosx-version-min=10.4")
100     ENDIF(IODOOM3_X86)
101     IF(IODOOM3_PPC)
102         ADD_DEFINITIONS(-arch ppc -mmacosx-version-min=10.4)
103         SET(EXE_LDFLAGS "-arch ppc -mmacosx-version-min=10.4")
104         SET(SHARED_LDFLAGS "-arch ppc -mmacosx-version-min=10.4")
105     ENDIF(IODOOM3_PPC)
106     SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} "-framework Carbon -framework Cocoa -framework OpenGL -framework OpenAL -framework CoreAudio -framework IOKit")
107     ADD_DEFINITIONS(-DMACOS_X=1)
108 ENDIF(MACOSX)
109
110 IF(CMAKE_COMPILER_IS_GNUCC)
111     CHECK_C_COMPILER_FLAG("-fno-stack-protector" IODOOM3_GCC_HAS_STACKPROT)
112     IF(IODOOM3_GCC_HAS_STACKPROT)
113         ADD_DEFINITIONS(-fno-stack-protector)
114     ENDIF(IODOOM3_GCC_HAS_STACKPROT)
115
116     CHECK_C_COMPILER_FLAG("-fvisibility=hidden" IODOOM3_GCC_HAS_FVISIBILITY)
117     IF(IODOOM3_GCC_HAS_FVISIBILITY)
118         ADD_DEFINITIONS(-fvisibility=hidden)
119     ENDIF(IODOOM3_GCC_HAS_FVISIBILITY)
120
121     ADD_DEFINITIONS(-pipe -fsigned-char -fno-strict-aliasing -fmessage-length=0)
122     ADD_DEFINITIONS(-Wall)
123
124     # !!! FIXME: remove me!
125     ADD_DEFINITIONS(-fpermissive)
126 ENDIF(CMAKE_COMPILER_IS_GNUCC)
127
128
129 # !!! FIXME: libcurl
130 ADD_DEFINITIONS(-DID_ENABLE_CURL=0)
131
132 # !!! FIXME: remove ALSA code altogether.
133 ADD_DEFINITIONS(-DNO_ALSA)
134
135 INCLUDE_DIRECTORIES(
136     sound/OggVorbis/ogg
137     sound/OggVorbis/oggsrc
138     sound/OggVorbis/vorbis
139     sound/OggVorbis/vorbissrc
140     sound/OggVorbis/vorbissrc
141     OpenGL
142 )
143
144 SET(JPG_SRCS
145     renderer/jpeg-6/jcapimin.c
146     renderer/jpeg-6/jccoefct.c
147     renderer/jpeg-6/jccolor.c
148     renderer/jpeg-6/jcdctmgr.c
149     renderer/jpeg-6/jchuff.c
150     renderer/jpeg-6/jcinit.c
151     renderer/jpeg-6/jcmainct.c
152     renderer/jpeg-6/jcmarker.c
153     renderer/jpeg-6/jcmaster.c
154     renderer/jpeg-6/jcomapi.c
155     renderer/jpeg-6/jcparam.c
156     renderer/jpeg-6/jcphuff.c
157     renderer/jpeg-6/jcprepct.c
158     renderer/jpeg-6/jcsample.c
159     renderer/jpeg-6/jdapimin.c
160     renderer/jpeg-6/jdapistd.c
161     renderer/jpeg-6/jdatadst.c
162     renderer/jpeg-6/jdatasrc.c
163     renderer/jpeg-6/jdcoefct.c
164     renderer/jpeg-6/jdcolor.c
165     renderer/jpeg-6/jddctmgr.c
166     renderer/jpeg-6/jdhuff.c
167     renderer/jpeg-6/jdinput.c
168     renderer/jpeg-6/jdmainct.c
169     renderer/jpeg-6/jdmarker.c
170     renderer/jpeg-6/jdmaster.c
171     renderer/jpeg-6/jdmerge.c
172     renderer/jpeg-6/jdphuff.c
173     renderer/jpeg-6/jdpostct.c
174     renderer/jpeg-6/jdsample.c
175     renderer/jpeg-6/jdtrans.c
176     renderer/jpeg-6/jerror.c
177     renderer/jpeg-6/jfdctflt.c
178     renderer/jpeg-6/jfdctfst.c
179     renderer/jpeg-6/jfdctint.c
180     renderer/jpeg-6/jidctflt.c
181     renderer/jpeg-6/jidctfst.c
182     renderer/jpeg-6/jidctint.c
183     renderer/jpeg-6/jidctred.c
184     renderer/jpeg-6/jmemmgr.c
185     renderer/jpeg-6/jmemnobs.c
186     renderer/jpeg-6/jquant1.c
187     renderer/jpeg-6/jquant2.c
188     renderer/jpeg-6/jutils.c
189 )
190
191 SET(OGGVORBIS_SRCS
192     sound/OggVorbis/oggsrc/bitwise.c
193     sound/OggVorbis/oggsrc/framing.c
194     sound/OggVorbis/vorbissrc/analysis.c
195     sound/OggVorbis/vorbissrc/bitrate.c
196     sound/OggVorbis/vorbissrc/block.c
197     sound/OggVorbis/vorbissrc/codebook.c
198     sound/OggVorbis/vorbissrc/envelope.c
199     sound/OggVorbis/vorbissrc/floor0.c
200     sound/OggVorbis/vorbissrc/floor1.c
201     sound/OggVorbis/vorbissrc/info.c
202     sound/OggVorbis/vorbissrc/lookup.c
203     sound/OggVorbis/vorbissrc/lpc.c
204     sound/OggVorbis/vorbissrc/lsp.c
205     sound/OggVorbis/vorbissrc/mapping0.c
206     sound/OggVorbis/vorbissrc/mdct.c
207     sound/OggVorbis/vorbissrc/psy.c
208     sound/OggVorbis/vorbissrc/registry.c
209     sound/OggVorbis/vorbissrc/res0.c
210     sound/OggVorbis/vorbissrc/sharedbook.c
211     sound/OggVorbis/vorbissrc/smallft.c
212     sound/OggVorbis/vorbissrc/synthesis.c
213     sound/OggVorbis/vorbissrc/vorbisenc.c
214     sound/OggVorbis/vorbissrc/vorbisfile.c
215     sound/OggVorbis/vorbissrc/windowvb.c
216 )
217
218 SET(RENDERER_SRCS
219     renderer/Cinematic.cpp
220     renderer/GuiModel.cpp
221     renderer/Image_files.cpp
222     renderer/Image_init.cpp
223     renderer/Image_load.cpp
224     renderer/Image_process.cpp
225     renderer/Image_program.cpp
226     renderer/Interaction.cpp
227     renderer/Material.cpp
228     renderer/MegaTexture.cpp
229     renderer/Model.cpp
230     renderer/ModelDecal.cpp
231     renderer/ModelManager.cpp
232     renderer/ModelOverlay.cpp
233     renderer/Model_beam.cpp
234     renderer/Model_ase.cpp
235     renderer/Model_liquid.cpp
236     renderer/Model_lwo.cpp
237     renderer/Model_ma.cpp
238     renderer/Model_md3.cpp
239     renderer/Model_md5.cpp
240     renderer/Model_prt.cpp
241     renderer/Model_sprite.cpp
242     renderer/RenderEntity.cpp
243     renderer/RenderSystem.cpp
244     renderer/RenderSystem_init.cpp
245     renderer/RenderWorld.cpp
246     renderer/RenderWorld_demo.cpp
247     renderer/RenderWorld_load.cpp
248     renderer/RenderWorld_portals.cpp
249     renderer/VertexCache.cpp
250     renderer/cg_explicit.cpp
251     renderer/draw_arb.cpp
252     renderer/draw_arb2.cpp
253     renderer/draw_common.cpp
254     renderer/draw_exp_stub.cpp
255     renderer/draw_nv10.cpp
256     renderer/draw_nv20.cpp
257     renderer/draw_r200.cpp
258     renderer/tr_backend.cpp
259     renderer/tr_deform.cpp
260     renderer/tr_font.cpp
261     renderer/tr_guisurf.cpp
262     renderer/tr_light.cpp
263     renderer/tr_lightrun.cpp
264     renderer/tr_main.cpp
265     renderer/tr_orderIndexes.cpp
266     renderer/tr_polytope.cpp
267     renderer/tr_render.cpp
268     renderer/tr_rendertools.cpp
269     renderer/tr_shadowbounds.cpp
270     renderer/tr_stencilshadow.cpp
271     renderer/tr_subview.cpp
272     renderer/tr_trace.cpp
273     renderer/tr_trisurf.cpp
274     renderer/tr_turboshadow.cpp
275 )
276
277 SET(FRAMEWORK_SRCS
278     framework/CVarSystem.cpp
279     framework/CmdSystem.cpp
280     framework/Common.cpp
281     framework/Compressor.cpp
282     framework/Console.cpp
283     framework/DemoFile.cpp
284     framework/DeclAF.cpp
285     framework/DeclEntityDef.cpp
286     framework/DeclFX.cpp
287     framework/DeclManager.cpp
288     framework/DeclParticle.cpp
289     framework/DeclPDA.cpp
290     framework/DeclSkin.cpp
291     framework/DeclTable.cpp
292     framework/EditField.cpp
293     framework/EventLoop.cpp
294     framework/File.cpp
295     framework/FileSystem.cpp
296     framework/KeyInput.cpp
297     framework/Unzip.cpp
298     framework/UsercmdGen.cpp
299     framework/Session_menu.cpp
300     framework/Session.cpp
301     framework/async/AsyncClient.cpp
302     framework/async/AsyncNetwork.cpp
303     framework/async/AsyncServer.cpp
304     framework/async/MsgChannel.cpp
305     framework/async/NetworkSystem.cpp
306     framework/async/ServerScan.cpp
307 )
308
309 # !!! FIXME: idlib/bv/Frustum_gcc.cpp is used, unoptimized, on Linux.
310 # !!! FIXME:  we should remove the #ifdef from Frustum.cpp and see if it's
311 # !!! FIXME:  still hosed.
312
313 SET(IDLIB_SRCS
314         idlib/bv/Bounds.cpp
315         idlib/bv/Frustum.cpp
316         idlib/bv/Sphere.cpp
317         idlib/bv/Box.cpp
318         idlib/geometry/DrawVert.cpp
319         idlib/geometry/Winding2D.cpp
320         idlib/geometry/Surface_SweptSpline.cpp
321         idlib/geometry/Winding.cpp
322         idlib/geometry/Surface.cpp
323         idlib/geometry/Surface_Patch.cpp
324         idlib/geometry/TraceModel.cpp
325         idlib/geometry/JointTransform.cpp
326         idlib/hashing/CRC32.cpp
327         idlib/hashing/MD4.cpp
328         idlib/hashing/MD5.cpp
329         idlib/math/Angles.cpp
330         idlib/math/Lcp.cpp
331         idlib/math/Math.cpp
332         idlib/math/Matrix.cpp
333         idlib/math/Ode.cpp
334         idlib/math/Plane.cpp
335         idlib/math/Pluecker.cpp
336         idlib/math/Polynomial.cpp
337         idlib/math/Quat.cpp
338         idlib/math/Rotation.cpp
339         idlib/math/Simd.cpp
340         idlib/math/Simd_MMX.cpp
341         idlib/math/Simd_SSE.cpp
342         idlib/math/Simd_SSE2.cpp
343         idlib/math/Simd_SSE3.cpp
344         idlib/math/Simd_Generic.cpp
345         idlib/math/Vector.cpp
346         idlib/BitMsg.cpp
347         idlib/LangDict.cpp
348         idlib/Lexer.cpp
349         idlib/Lib.cpp
350         idlib/containers/HashIndex.cpp
351         idlib/Dict.cpp
352         idlib/Str.cpp
353         idlib/Parser.cpp
354         idlib/MapFile.cpp
355         idlib/CmdArgs.cpp
356         idlib/Token.cpp
357         idlib/Base64.cpp
358         idlib/Timer.cpp
359         idlib/Heap.cpp
360 )
361
362 SET(CM_SRCS
363     cm/CollisionModel_contacts.cpp
364     cm/CollisionModel_contents.cpp
365     cm/CollisionModel_debug.cpp
366     cm/CollisionModel_files.cpp
367     cm/CollisionModel_load.cpp
368     cm/CollisionModel_rotate.cpp
369     cm/CollisionModel_trace.cpp
370     cm/CollisionModel_translate.cpp
371 )
372
373 SET(DMAP_SRCS
374     tools/compilers/dmap/dmap.cpp
375     tools/compilers/dmap/facebsp.cpp
376     tools/compilers/dmap/gldraw.cpp
377     tools/compilers/dmap/glfile.cpp
378     tools/compilers/dmap/leakfile.cpp
379     tools/compilers/dmap/map.cpp
380     tools/compilers/dmap/optimize.cpp
381     tools/compilers/dmap/output.cpp
382     tools/compilers/dmap/portals.cpp
383     tools/compilers/dmap/shadowopt3.cpp
384     tools/compilers/dmap/tritjunction.cpp
385     tools/compilers/dmap/tritools.cpp
386     tools/compilers/dmap/ubrush.cpp
387     tools/compilers/dmap/usurface.cpp
388 )
389
390 SET(AAS_SRCS
391     tools/compilers/aas/AASBuild.cpp
392     tools/compilers/aas/AASBuild_file.cpp
393     tools/compilers/aas/AASBuild_gravity.cpp
394     tools/compilers/aas/AASBuild_ledge.cpp
395     tools/compilers/aas/AASBuild_merge.cpp
396     tools/compilers/aas/AASCluster.cpp
397     tools/compilers/aas/AASFile.cpp
398     tools/compilers/aas/AASFile_optimize.cpp
399     tools/compilers/aas/AASFile_sample.cpp
400     tools/compilers/aas/AASReach.cpp
401     tools/compilers/aas/AASFileManager.cpp
402     tools/compilers/aas/Brush.cpp
403     tools/compilers/aas/BrushBSP.cpp
404 )
405
406 SET(ROQ_SRCS
407     tools/compilers/roqvq/NSBitmapImageRep.cpp
408     tools/compilers/roqvq/codec.cpp
409     tools/compilers/roqvq/roq.cpp
410     tools/compilers/roqvq/roqParam.cpp
411 )
412
413 SET(RENDERBUMP_SRCS
414     tools/compilers/renderbump/renderbump.cpp
415 )
416
417 SET(SND_SRCS
418     sound/snd_cache.cpp
419     sound/snd_decoder.cpp
420     sound/snd_efxfile.cpp
421     sound/snd_emitter.cpp
422     sound/snd_shader.cpp
423     sound/snd_system.cpp
424     sound/snd_wavefile.cpp
425     sound/snd_world.cpp
426 )
427
428 SET(UI_SRCS
429     ui/BindWindow.cpp
430     ui/ChoiceWindow.cpp
431     ui/DeviceContext.cpp
432     ui/EditWindow.cpp
433     ui/FieldWindow.cpp
434     ui/GameBearShootWindow.cpp
435     ui/GameBustOutWindow.cpp
436     ui/GameSSDWindow.cpp
437     ui/GuiScript.cpp
438     ui/ListGUI.cpp
439     ui/ListWindow.cpp
440     ui/MarkerWindow.cpp
441     ui/RegExp.cpp
442     ui/RenderWindow.cpp
443     ui/SimpleWindow.cpp
444     ui/SliderWindow.cpp
445     ui/UserInterface.cpp
446     ui/Window.cpp
447     ui/Winvar.cpp
448 )
449
450 # !!! FIXME: osx, windows
451 SET(SYS_SRCS
452     sys/sys_local.cpp
453     sys/posix/posix_net.cpp
454     sys/posix/posix_signal.cpp
455     sys/posix/posix_threads.cpp
456 #    sys/stub/util_stub.cpp
457 )
458
459 IF(MACOSX)
460     SET(PLATFORM_SYS_SRCS
461         sys/osx/DOOMController.mm
462         sys/osx/PreferencesDialog.cpp
463         sys/osx/macosx_event.mm
464         sys/osx/macosx_glimp.mm
465         sys/osx/macosx_guids.cpp
466         sys/osx/macosx_misc.mm
467         sys/osx/macosx_sound.cpp
468         sys/osx/macosx_utils.mm
469         sys/posix/posix_main.cpp
470         sys/linux/stack.cpp
471     )
472 ENDIF(MACOSX)
473
474 IF(LINUX)
475     SET(PLATFORM_SYS_SRCS
476         sys/posix/posix_main.cpp
477         sys/linux/stack.cpp
478         sys/linux/main.cpp
479     )
480     SET(PLATFORM_CLIENT_SRCS
481         sys/linux/glimp.cpp
482         sys/linux/input.cpp
483         sys/linux/libXNVCtrl/NVCtrl.c
484     )
485 ENDIF(LINUX)
486
487
488 SET(CLIENT_SRCS
489     sys/posix/posix_input.cpp
490 )
491
492 SET(DEDICATED_SRCS
493     linux/dedicated.cpp
494 )
495
496 # !!! FIXME: dedicated server needs this:
497 #-DID_DEDICATED
498 # (and apparently -DID_GL_HARDLINK, too, but we're ditching that.)
499
500 # !!! FIXME: dedicated builds?
501 SET(IODOOM3_SRCS
502     ${JPG_SRCS}
503     ${OGGVORBIS_SRCS}
504     ${RENDERER_SRCS}
505     ${RENDERBUMP_SRCS}
506     ${FRAMEWORK_SRCS}
507     ${CM_SRCS}
508     ${DMAP_SRCS}
509     ${SND_SRCS}
510     ${UI_SRCS}
511     ${SYS_SRCS}
512     ${PLATFORM_SYS_SRCS}
513     ${IDLIB_SRCS}
514     ${AAS_SRCS}
515     ${ROQ_SRCS}
516     ${CLIENT_SRCS}
517     ${PLATFORM_CLIENT_SRCS}
518 )
519
520 ADD_EXECUTABLE(iodoom3
521     ${IODOOM3_SRCS}
522     ${OPTIONAL_SRCS}
523 )
524 SET_TARGET_PROPERTIES(iodoom3 PROPERTIES COMPILE_DEFINITIONS "__DOOM_DLL__")
525 TARGET_LINK_LIBRARIES(iodoom3 ${OPTIONAL_LIBS} ${IODOOM3_LIBS})
526 SET_TARGET_PROPERTIES(iodoom3 PROPERTIES LINK_FLAGS "${EXE_LDFLAGS}")
527
528 #IF(LINUX)
529 #    SET_TARGET_PROPERTIES(iodoom3 PROPERTIES LINK_FLAGS "-Wl,-rpath,$ORIGIN ./libSDL-1.2.so.0")
530 #ENDIF(LINUX)
531
532
533 SET(IODOOM3_GAME_SRCS
534         game/AF.cpp
535         game/AFEntity.cpp
536         game/Actor.cpp
537         game/Camera.cpp
538         game/Entity.cpp
539         game/BrittleFracture.cpp
540         game/Fx.cpp
541         game/GameEdit.cpp
542         game/Game_local.cpp
543         game/Game_network.cpp
544         game/Item.cpp
545         game/IK.cpp
546         game/Light.cpp
547         game/Misc.cpp
548         game/Mover.cpp
549         game/Moveable.cpp
550         game/MultiplayerGame.cpp
551         game/Player.cpp
552         game/PlayerIcon.cpp
553         game/PlayerView.cpp
554         game/Projectile.cpp
555         game/Pvs.cpp
556         game/SecurityCamera.cpp
557         game/SmokeParticles.cpp
558         game/Sound.cpp
559         game/Target.cpp
560         game/Trigger.cpp
561         game/Weapon.cpp
562         game/WorldSpawn.cpp
563         game/ai/AAS.cpp
564         game/ai/AAS_debug.cpp
565         game/ai/AAS_pathing.cpp
566         game/ai/AAS_routing.cpp
567         game/ai/AI.cpp
568         game/ai/AI_events.cpp
569         game/ai/AI_pathing.cpp
570         game/ai/AI_Vagary.cpp
571         game/gamesys/DebugGraph.cpp
572         game/gamesys/Class.cpp
573         game/gamesys/Event.cpp
574         game/gamesys/SaveGame.cpp
575         game/gamesys/SysCmds.cpp
576         game/gamesys/SysCvar.cpp
577         game/gamesys/TypeInfo.cpp
578         game/anim/Anim.cpp
579         game/anim/Anim_Blend.cpp
580         game/anim/Anim_Import.cpp
581         game/anim/Anim_Testmodel.cpp
582         game/script/Script_Compiler.cpp
583         game/script/Script_Interpreter.cpp
584         game/script/Script_Program.cpp
585         game/script/Script_Thread.cpp
586         game/physics/Clip.cpp
587         game/physics/Force.cpp
588         game/physics/Force_Constant.cpp
589         game/physics/Force_Drag.cpp
590         game/physics/Force_Field.cpp
591         game/physics/Force_Spring.cpp
592         game/physics/Physics.cpp
593         game/physics/Physics_AF.cpp
594         game/physics/Physics_Actor.cpp
595         game/physics/Physics_Base.cpp
596         game/physics/Physics_Monster.cpp
597         game/physics/Physics_Parametric.cpp
598         game/physics/Physics_Player.cpp
599         game/physics/Physics_RigidBody.cpp
600         game/physics/Physics_Static.cpp
601         game/physics/Physics_StaticMulti.cpp
602         game/physics/Push.cpp
603 )
604 ADD_LIBRARY(game SHARED ${IODOOM3_GAME_SRCS} ${IDLIB_SRCS})
605 SET_TARGET_PROPERTIES(game PROPERTIES COMPILE_DEFINITIONS "GAME_DLL")
606 SET_TARGET_PROPERTIES(game PROPERTIES LINK_FLAGS "${SHARED_LDFLAGS}")
607 SET_TARGET_PROPERTIES(game PROPERTIES INSTALL_NAME_DIR "@executable_path")
608
609 SET(IODOOM3_D3XP_SRCS
610         d3xp/AF.cpp
611         d3xp/AFEntity.cpp
612         d3xp/Actor.cpp
613         d3xp/Camera.cpp
614         d3xp/Entity.cpp
615         d3xp/BrittleFracture.cpp
616         d3xp/Fx.cpp
617         d3xp/GameEdit.cpp
618         d3xp/Game_local.cpp
619         d3xp/Game_network.cpp
620         d3xp/Item.cpp
621         d3xp/IK.cpp
622         d3xp/Light.cpp
623         d3xp/Misc.cpp
624         d3xp/Mover.cpp
625         d3xp/Moveable.cpp
626         d3xp/MultiplayerGame.cpp
627         d3xp/Player.cpp
628         d3xp/PlayerIcon.cpp
629         d3xp/PlayerView.cpp
630         d3xp/Projectile.cpp
631         d3xp/Pvs.cpp
632         d3xp/SecurityCamera.cpp
633         d3xp/SmokeParticles.cpp
634         d3xp/Sound.cpp
635         d3xp/Target.cpp
636         d3xp/Trigger.cpp
637         d3xp/Weapon.cpp
638         d3xp/WorldSpawn.cpp
639         d3xp/ai/AAS.cpp
640         d3xp/ai/AAS_debug.cpp
641         d3xp/ai/AAS_pathing.cpp
642         d3xp/ai/AAS_routing.cpp
643         d3xp/ai/AI.cpp
644         d3xp/ai/AI_events.cpp
645         d3xp/ai/AI_pathing.cpp
646         d3xp/ai/AI_Vagary.cpp
647         d3xp/gamesys/DebugGraph.cpp
648         d3xp/gamesys/Class.cpp
649         d3xp/gamesys/Event.cpp
650         d3xp/gamesys/SaveGame.cpp
651         d3xp/gamesys/SysCmds.cpp
652         d3xp/gamesys/SysCvar.cpp
653         d3xp/gamesys/TypeInfo.cpp
654         d3xp/anim/Anim.cpp
655         d3xp/anim/Anim_Blend.cpp
656         d3xp/anim/Anim_Import.cpp
657         d3xp/anim/Anim_Testmodel.cpp
658         d3xp/script/Script_Compiler.cpp
659         d3xp/script/Script_Interpreter.cpp
660         d3xp/script/Script_Program.cpp
661         d3xp/script/Script_Thread.cpp
662         d3xp/physics/Clip.cpp
663         d3xp/physics/Force.cpp
664         d3xp/physics/Force_Constant.cpp
665         d3xp/physics/Force_Drag.cpp
666         d3xp/physics/Force_Field.cpp
667         d3xp/physics/Force_Spring.cpp
668         d3xp/physics/Physics.cpp
669         d3xp/physics/Physics_AF.cpp
670         d3xp/physics/Physics_Actor.cpp
671         d3xp/physics/Physics_Base.cpp
672         d3xp/physics/Physics_Monster.cpp
673         d3xp/physics/Physics_Parametric.cpp
674         d3xp/physics/Physics_Player.cpp
675         d3xp/physics/Physics_RigidBody.cpp
676         d3xp/physics/Physics_Static.cpp
677         d3xp/physics/Physics_StaticMulti.cpp
678         d3xp/physics/Push.cpp
679         d3xp/Grabber.cpp
680         d3xp/physics/Force_Grab.cpp
681 )
682
683 ADD_LIBRARY(d3xp SHARED ${IODOOM3_D3XP_SRCS} ${IDLIB_SRCS})
684 SET_TARGET_PROPERTIES(d3xp PROPERTIES COMPILE_DEFINITIONS "_D3XP;CTF;GAME_DLL")
685 SET_TARGET_PROPERTIES(d3xp PROPERTIES LINK_FLAGS "${SHARED_LDFLAGS}")
686 SET_TARGET_PROPERTIES(d3xp PROPERTIES INSTALL_NAME_DIR "@executable_path")
687
688 # end of CMakeLists.txt ...
689