-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathCMakeLists.txt
49 lines (34 loc) · 26.8 KB
/
CMakeLists.txt
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
cmake_minimum_required (VERSION 2.6)
project (MGEXE)
include_directories ("${MGEXE_SOURCE_DIR}/src" "${MGEXE_SOURCE_DIR}/3rdparty/niflib/include" "${MGEXE_SOURCE_DIR}/3rdparty/tootle/src/TootleLib/include")
link_directories ("${MGEXE_SOURCE_DIR}/lib")
set (LIBRARY_OUTPUT_PATH "${MGEXE_BINARY_DIR}/bin")
# d3d8.dll, to be installed to Morrowind directory
add_library (d3d8 SHARED src/support/log.cpp src/support/pngsave.cpp src/support/timing.cpp src/mge/api.cpp src/mge/dlmath.cpp src/mge/memorypool.cpp src/mge/morrowindbsa.cpp src/mge/configuration.cpp src/mge/distantinit.cpp src/mge/distantland.cpp src/mge/ffeshader.cpp src/mge/macrofunctions.cpp src/mge/mged3d8device.cpp src/mge/mgedinput.cpp src/mge/mgedirect3d8.cpp src/mge/mgedxwrap.cpp src/mge/mwbridge.cpp src/mge/postshaders.cpp src/mge/quadtree.cpp src/mge/renderdepth.cpp src/mge/renderexterior.cpp src/mge/rendergrass.cpp src/mge/rendershadow.cpp src/mge/renderwater.cpp src/mge/statusoverlay.cpp src/mge/userhud.cpp src/mge/videobackground.cpp src/mge/specificrender.cpp src/mge/mwinitpatch.cpp src/mwse/funcgeneral.cpp src/mwse/funcgmst.cpp src/mwse/funchud.cpp src/mwse/funcweather.cpp src/mwse/funcshader.cpp src/mwse/funccamera.cpp src/mwse/funcinput.cpp src/mwse/funcentity.cpp src/mwse/funcmwui.cpp src/mwse/funcphysics.cpp src/mwse/mgebridge.cpp src/mwse/mwseinstruction.cpp src/proxydx/d3d8device.cpp src/proxydx/d3d8surface.cpp src/proxydx/d3d8texture.cpp src/proxydx/dinput8.cpp src/proxydx/direct3d8.cpp src/proxydx/dxguid.cpp src/main.cpp src/exports.def)
target_link_libraries (d3d8 kernel32 gdi32 user32 d3d9 d3dx9)
set_target_properties (d3d8 PROPERTIES COMPILE_DEFINITIONS "WIN32;_WINDOWS;NDEBUG;NOMINMAX")
# dinput8.dll, to be installed to Morrowind directory
add_library (dinput8 SHARED src/dinput_shim/dinput.cpp src/dinput_shim/exports.def)
target_link_libraries (dinput8 kernel32)
set_target_properties (dinput8 PROPERTIES COMPILE_DEFINITIONS "WIN32;_WINDOWS;NDEBUG;NOMINMAX")
# MGEfuncs.dll, to be installed to Morrowind/mge3 directory
set (NiflibSrc 3rdparty/niflib/NvTriStrip/NvTriStrip.cpp 3rdparty/niflib/NvTriStrip/NvTriStripObjects.cpp 3rdparty/niflib/NvTriStrip/VertexCache.cpp 3rdparty/niflib/src/AnimSequence.cpp 3rdparty/niflib/src/ComplexShape.cpp 3rdparty/niflib/src/Inertia.cpp 3rdparty/niflib/src/kfm.cpp 3rdparty/niflib/src/MatTexCollection.cpp 3rdparty/niflib/src/niflib.cpp 3rdparty/niflib/src/NIF_IO.cpp 3rdparty/niflib/src/nif_math.cpp 3rdparty/niflib/src/ObjectRegistry.cpp 3rdparty/niflib/src/pch.cpp 3rdparty/niflib/src/RefObject.cpp 3rdparty/niflib/src/Type.cpp 3rdparty/niflib/src/gen/AdditionalDataBlock.cpp 3rdparty/niflib/src/gen/AdditionalDataInfo.cpp 3rdparty/niflib/src/gen/ArkTexture.cpp 3rdparty/niflib/src/gen/AVObject.cpp 3rdparty/niflib/src/gen/BodyPartList.cpp 3rdparty/niflib/src/gen/BoneLOD.cpp 3rdparty/niflib/src/gen/BoundingBox.cpp 3rdparty/niflib/src/gen/BoundingVolume.cpp 3rdparty/niflib/src/gen/BoxBV.cpp 3rdparty/niflib/src/gen/BSPackedAdditionalDataBlock.cpp 3rdparty/niflib/src/gen/BSSegment.cpp 3rdparty/niflib/src/gen/BSSegmentedTriangle.cpp 3rdparty/niflib/src/gen/BSTreadTransfInfo.cpp 3rdparty/niflib/src/gen/BSTreadTransform.cpp 3rdparty/niflib/src/gen/BSTreadTransformData.cpp 3rdparty/niflib/src/gen/BSTreadTransfSubInfo.cpp 3rdparty/niflib/src/gen/ByteArray.cpp 3rdparty/niflib/src/gen/ByteColor3.cpp 3rdparty/niflib/src/gen/ByteColor4.cpp 3rdparty/niflib/src/gen/ByteMatrix.cpp 3rdparty/niflib/src/gen/CapsuleBV.cpp 3rdparty/niflib/src/gen/ChannelData.cpp 3rdparty/niflib/src/gen/ControllerLink.cpp 3rdparty/niflib/src/gen/DecalVectorArray.cpp 3rdparty/niflib/src/gen/ElementReference.cpp 3rdparty/niflib/src/gen/enums.cpp 3rdparty/niflib/src/gen/ExportInfo.cpp 3rdparty/niflib/src/gen/ExtraMeshDataEpicMickey.cpp 3rdparty/niflib/src/gen/ExtraMeshDataEpicMickey2.cpp 3rdparty/niflib/src/gen/Footer.cpp 3rdparty/niflib/src/gen/FurniturePosition.cpp 3rdparty/niflib/src/gen/HalfSpaceBV.cpp 3rdparty/niflib/src/gen/Header.cpp 3rdparty/niflib/src/gen/HingeDescriptor.cpp 3rdparty/niflib/src/gen/LimitedHingeDescriptor.cpp 3rdparty/niflib/src/gen/LODRange.cpp 3rdparty/niflib/src/gen/MatchGroup.cpp 3rdparty/niflib/src/gen/MaterialData.cpp 3rdparty/niflib/src/gen/MeshData.cpp 3rdparty/niflib/src/gen/MipMap.cpp 3rdparty/niflib/src/gen/Morph.cpp 3rdparty/niflib/src/gen/MorphWeight.cpp 3rdparty/niflib/src/gen/MotorDescriptor.cpp 3rdparty/niflib/src/gen/MTransform.cpp 3rdparty/niflib/src/gen/MultiTextureElement.cpp 3rdparty/niflib/src/gen/NodeGroup.cpp 3rdparty/niflib/src/gen/OblivionColFilter.cpp 3rdparty/niflib/src/gen/OblivionSubShape.cpp 3rdparty/niflib/src/gen/OldSkinData.cpp 3rdparty/niflib/src/gen/Particle.cpp 3rdparty/niflib/src/gen/ParticleDesc.cpp 3rdparty/niflib/src/gen/physXMaterialRef.cpp 3rdparty/niflib/src/gen/Polygon.cpp 3rdparty/niflib/src/gen/QTransform.cpp 3rdparty/niflib/src/gen/QuaternionXYZW.cpp 3rdparty/niflib/src/gen/RagdollDescriptor.cpp 3rdparty/niflib/src/gen/Region.cpp 3rdparty/niflib/src/gen/register.cpp 3rdparty/niflib/src/gen/SemanticData.cpp 3rdparty/niflib/src/gen/ShaderTexDesc.cpp 3rdparty/niflib/src/gen/SkinData.cpp 3rdparty/niflib/src/gen/SkinPartition.cpp 3rdparty/niflib/src/gen/SkinPartitionUnknownItem1.cpp 3rdparty/niflib/src/gen/SkinShape.cpp 3rdparty/niflib/src/gen/SkinShapeGroup.cpp 3rdparty/niflib/src/gen/SkinTransform.cpp 3rdparty/niflib/src/gen/SkinWeight.cpp 3rdparty/niflib/src/gen/Sphere.cpp 3rdparty/niflib/src/gen/SphereBV.cpp 3rdparty/niflib/src/gen/StringPalette.cpp 3rdparty/niflib/src/gen/TBC.cpp 3rdparty/niflib/src/gen/TexDesc.cpp 3rdparty/niflib/src/gen/TexSource.cpp 3rdparty/niflib/src/gen/UnionBV.cpp 3rdparty/niflib/src/gen/UnknownMatrix1.cpp 3rdparty/niflib/src/obj/AbstractAdditionalGeometryData.cpp 3rdparty/niflib/src/obj/ATextureRenderData.cpp 3rdparty/niflib/src/obj/AvoidNode.cpp 3rdparty/niflib/src/obj/BSAnimNotes.cpp 3rdparty/niflib/src/obj/BSBehaviorGraphExtraData.cpp 3rdparty/niflib/src/obj/BSBlastNode.cpp 3rdparty/niflib/src/obj/BSBoneLODExtraData.cpp 3rdparty/niflib/src/obj/BSBound.cpp 3rdparty/niflib/src/obj/BSDamageStage.cpp 3rdparty/niflib/src/obj/BSDebrisNode.cpp 3rdparty/niflib/src/obj/BSDecalPlacementVectorExtraData.cpp 3rdparty/niflib/src/obj/BSDismemberSkinInstance.cpp 3rdparty/niflib/src/obj/BSDistantTreeShaderProperty.cpp 3rdparty/niflib/src/obj/BSEffectShaderProperty.cpp 3rdparty/niflib/src/obj/BSEffectShaderPropertyColorController.cpp 3rdparty/niflib/src/obj/BSEffectShaderPropertyFloatController.cpp 3rdparty/niflib/src/obj/BSFadeNode.cpp 3rdparty/niflib/src/obj/BSFrustumFOVController.cpp 3rdparty/niflib/src/obj/BSFurnitureMarker.cpp 3rdparty/niflib/src/obj/BSFurnitureMarkerNode.cpp 3rdparty/niflib/src/obj/BSInvMarker.cpp 3rdparty/niflib/src/obj/BSKeyframeController.cpp 3rdparty/niflib/src/obj/BSLagBoneController.cpp 3rdparty/niflib/src/obj/BSLeafAnimNode.cpp 3rdparty/niflib/src/obj/BSLightingShaderProperty.cpp 3rdparty/niflib/src/obj/BSLightingShaderPropertyColorController.cpp 3rdparty/niflib/src/obj/BSLightingShaderPropertyFloatController.cpp 3rdparty/niflib/src/obj/BSLODTriShape.cpp 3rdparty/niflib/src/obj/BSMasterParticleSystem.cpp 3rdparty/niflib/src/obj/BSMaterialEmittanceMultController.cpp 3rdparty/niflib/src/obj/BSMultiBound.cpp 3rdparty/niflib/src/obj/BSMultiBoundAABB.cpp 3rdparty/niflib/src/obj/BSMultiBoundData.cpp 3rdparty/niflib/src/obj/BSMultiBoundNode.cpp 3rdparty/niflib/src/obj/BSMultiBoundOBB.cpp 3rdparty/niflib/src/obj/BSMultiBoundSphere.cpp 3rdparty/niflib/src/obj/BSNiAlphaPropertyTestRefController.cpp 3rdparty/niflib/src/obj/BSOrderedNode.cpp 3rdparty/niflib/src/obj/BSPackedAdditionalGeometryData.cpp 3rdparty/niflib/src/obj/BSParentVelocityModifier.cpp 3rdparty/niflib/src/obj/BSProceduralLightningController.cpp 3rdparty/niflib/src/obj/BSPSysArrayEmitter.cpp 3rdparty/niflib/src/obj/BSPSysHavokUpdateModifier.cpp 3rdparty/niflib/src/obj/BSPSysInheritVelocityModifier.cpp 3rdparty/niflib/src/obj/BSPSysLODModifier.cpp 3rdparty/niflib/src/obj/BSPSysMultiTargetEmitterCtlr.cpp 3rdparty/niflib/src/obj/BSPSysRecycleBoundModifier.cpp 3rdparty/niflib/src/obj/BSPSysScaleModifier.cpp 3rdparty/niflib/src/obj/BSPSysSimpleColorModifier.cpp 3rdparty/niflib/src/obj/BSPSysStripUpdateModifier.cpp 3rdparty/niflib/src/obj/BSPSysSubTexModifier.cpp 3rdparty/niflib/src/obj/BSRefractionFirePeriodController.cpp 3rdparty/niflib/src/obj/BSRefractionStrengthController.cpp 3rdparty/niflib/src/obj/BSRotAccumTransfInterpolator.cpp 3rdparty/niflib/src/obj/BSSegmentedTriShape.cpp 3rdparty/niflib/src/obj/BSShaderLightingProperty.cpp 3rdparty/niflib/src/obj/BSShaderNoLightingProperty.cpp 3rdparty/niflib/src/obj/BSShaderPPLightingProperty.cpp 3rdparty/niflib/src/obj/BSShaderProperty.cpp 3rdparty/niflib/src/obj/BSShaderTextureSet.cpp 3rdparty/niflib/src/obj/BSSkyShaderProperty.cpp 3rdparty/niflib/src/obj/BSStripParticleSystem.cpp 3rdparty/niflib/src/obj/BSStripPSysData.cpp 3rdparty/niflib/src/obj/BSTreadTransfInterpolator.cpp 3rdparty/niflib/src/obj/BSTreeNode.cpp 3rdparty/niflib/src/obj/BSValueNode.cpp 3rdparty/niflib/src/obj/BSWArray.cpp 3rdparty/niflib/src/obj/BSWaterShaderProperty.cpp 3rdparty/niflib/src/obj/BSWindModifier.cpp 3rdparty/niflib/src/obj/BSXFlags.cpp)
set (NiflibSrc2 3rdparty/niflib/src/obj/CStreamableAssetData.cpp 3rdparty/niflib/src/obj/DistantLODShaderProperty.cpp 3rdparty/niflib/src/obj/FxButton.cpp 3rdparty/niflib/src/obj/FxRadioButton.cpp 3rdparty/niflib/src/obj/FxWidget.cpp 3rdparty/niflib/src/obj/HairShaderProperty.cpp 3rdparty/niflib/src/obj/Lighting30ShaderProperty.cpp 3rdparty/niflib/src/obj/Ni3dsAlphaAnimator.cpp 3rdparty/niflib/src/obj/Ni3dsAnimationNode.cpp 3rdparty/niflib/src/obj/Ni3dsColorAnimator.cpp 3rdparty/niflib/src/obj/Ni3dsMorphShape.cpp 3rdparty/niflib/src/obj/Ni3dsParticleSystem.cpp 3rdparty/niflib/src/obj/Ni3dsPathController.cpp 3rdparty/niflib/src/obj/NiAdditionalGeometryData.cpp 3rdparty/niflib/src/obj/NiAlphaController.cpp 3rdparty/niflib/src/obj/NiAlphaProperty.cpp 3rdparty/niflib/src/obj/NiAmbientLight.cpp 3rdparty/niflib/src/obj/NiArkAnimationExtraData.cpp 3rdparty/niflib/src/obj/NiArkImporterExtraData.cpp 3rdparty/niflib/src/obj/NiArkShaderExtraData.cpp 3rdparty/niflib/src/obj/NiArkTextureExtraData.cpp 3rdparty/niflib/src/obj/NiArkViewportInfoExtraData.cpp 3rdparty/niflib/src/obj/NiAutoNormalParticles.cpp 3rdparty/niflib/src/obj/NiAutoNormalParticlesData.cpp 3rdparty/niflib/src/obj/NiAVObject.cpp 3rdparty/niflib/src/obj/NiAVObjectPalette.cpp 3rdparty/niflib/src/obj/NiBezierMesh.cpp 3rdparty/niflib/src/obj/NiBezierTriangle4.cpp 3rdparty/niflib/src/obj/NiBillboardNode.cpp 3rdparty/niflib/src/obj/NiBinaryExtraData.cpp 3rdparty/niflib/src/obj/NiBinaryVoxelData.cpp 3rdparty/niflib/src/obj/NiBinaryVoxelExtraData.cpp 3rdparty/niflib/src/obj/NiBlendBoolInterpolator.cpp 3rdparty/niflib/src/obj/NiBlendFloatInterpolator.cpp 3rdparty/niflib/src/obj/NiBlendInterpolator.cpp 3rdparty/niflib/src/obj/NiBlendPoint3Interpolator.cpp 3rdparty/niflib/src/obj/NiBlendTransformInterpolator.cpp 3rdparty/niflib/src/obj/NiBone.cpp 3rdparty/niflib/src/obj/NiBoneLODController.cpp 3rdparty/niflib/src/obj/NiBoolData.cpp 3rdparty/niflib/src/obj/NiBooleanExtraData.cpp 3rdparty/niflib/src/obj/NiBoolInterpController.cpp 3rdparty/niflib/src/obj/NiBoolInterpolator.cpp 3rdparty/niflib/src/obj/NiBoolTimelineInterpolator.cpp 3rdparty/niflib/src/obj/NiBSAnimationNode.cpp 3rdparty/niflib/src/obj/NiBSBoneLODController.cpp 3rdparty/niflib/src/obj/NiBSPArrayController.cpp 3rdparty/niflib/src/obj/NiBSParticleNode.cpp 3rdparty/niflib/src/obj/NiBSplineBasisData.cpp 3rdparty/niflib/src/obj/NiBSplineCompFloatInterpolator.cpp 3rdparty/niflib/src/obj/NiBSplineCompPoint3Interpolator.cpp 3rdparty/niflib/src/obj/NiBSplineCompTransformEvaluator.cpp 3rdparty/niflib/src/obj/NiBSplineCompTransformInterpolator.cpp 3rdparty/niflib/src/obj/NiBSplineData.cpp 3rdparty/niflib/src/obj/NiBSplineFloatInterpolator.cpp 3rdparty/niflib/src/obj/NiBSplineInterpolator.cpp 3rdparty/niflib/src/obj/NiBSplinePoint3Interpolator.cpp 3rdparty/niflib/src/obj/NiBSplineTransformInterpolator.cpp 3rdparty/niflib/src/obj/NiCamera.cpp 3rdparty/niflib/src/obj/NiClod.cpp 3rdparty/niflib/src/obj/NiClodData.cpp 3rdparty/niflib/src/obj/NiClodSkinInstance.cpp 3rdparty/niflib/src/obj/NiCollisionData.cpp 3rdparty/niflib/src/obj/NiCollisionObject.cpp 3rdparty/niflib/src/obj/NiColorData.cpp 3rdparty/niflib/src/obj/NiColorExtraData.cpp 3rdparty/niflib/src/obj/NiControllerManager.cpp 3rdparty/niflib/src/obj/NiControllerSequence.cpp 3rdparty/niflib/src/obj/NiDataStream.cpp 3rdparty/niflib/src/obj/NiDefaultAVObjectPalette.cpp 3rdparty/niflib/src/obj/NiDirectionalLight.cpp 3rdparty/niflib/src/obj/NiDitherProperty.cpp 3rdparty/niflib/src/obj/NiDynamicEffect.cpp 3rdparty/niflib/src/obj/NiEnvMappedTriShape.cpp 3rdparty/niflib/src/obj/NiEnvMappedTriShapeData.cpp 3rdparty/niflib/src/obj/NiExtraData.cpp 3rdparty/niflib/src/obj/NiExtraDataController.cpp 3rdparty/niflib/src/obj/NiFlipController.cpp 3rdparty/niflib/src/obj/NiFloatData.cpp 3rdparty/niflib/src/obj/NiFloatExtraData.cpp 3rdparty/niflib/src/obj/NiFloatExtraDataController.cpp 3rdparty/niflib/src/obj/NiFloatInterpController.cpp 3rdparty/niflib/src/obj/NiFloatInterpolator.cpp 3rdparty/niflib/src/obj/NiFloatsExtraData.cpp 3rdparty/niflib/src/obj/NiFogProperty.cpp 3rdparty/niflib/src/obj/NiFurSpringController.cpp 3rdparty/niflib/src/obj/NiGeometry.cpp 3rdparty/niflib/src/obj/NiGeometryData.cpp 3rdparty/niflib/src/obj/NiGeomMorpherController.cpp 3rdparty/niflib/src/obj/NiGravity.cpp 3rdparty/niflib/src/obj/NiImage.cpp 3rdparty/niflib/src/obj/NiInstancingMeshModifier.cpp 3rdparty/niflib/src/obj/NiIntegerExtraData.cpp 3rdparty/niflib/src/obj/NiIntegersExtraData.cpp 3rdparty/niflib/src/obj/NiInterpController.cpp 3rdparty/niflib/src/obj/NiInterpolator.cpp 3rdparty/niflib/src/obj/NiKeyBasedInterpolator.cpp 3rdparty/niflib/src/obj/NiKeyframeController.cpp 3rdparty/niflib/src/obj/NiKeyframeData.cpp 3rdparty/niflib/src/obj/NiLight.cpp 3rdparty/niflib/src/obj/NiLightColorController.cpp 3rdparty/niflib/src/obj/NiLightDimmerController.cpp 3rdparty/niflib/src/obj/NiLightIntensityController.cpp 3rdparty/niflib/src/obj/NiLines.cpp 3rdparty/niflib/src/obj/NiLinesData.cpp 3rdparty/niflib/src/obj/NiLODData.cpp 3rdparty/niflib/src/obj/NiLODNode.cpp 3rdparty/niflib/src/obj/NiLookAtController.cpp 3rdparty/niflib/src/obj/NiLookAtInterpolator.cpp 3rdparty/niflib/src/obj/NiMaterialColorController.cpp 3rdparty/niflib/src/obj/NiMaterialProperty.cpp 3rdparty/niflib/src/obj/NiMesh.cpp 3rdparty/niflib/src/obj/NiMeshHWInstance.cpp 3rdparty/niflib/src/obj/NiMeshModifier.cpp 3rdparty/niflib/src/obj/NiMeshParticleSystem.cpp 3rdparty/niflib/src/obj/NiMeshPSysData.cpp 3rdparty/niflib/src/obj/NiMorphController.cpp 3rdparty/niflib/src/obj/NiMorphData.cpp 3rdparty/niflib/src/obj/NiMorpherController.cpp 3rdparty/niflib/src/obj/NiMorphMeshModifier.cpp 3rdparty/niflib/src/obj/NiMorphWeightsController.cpp 3rdparty/niflib/src/obj/NiMultiTargetTransformController.cpp 3rdparty/niflib/src/obj/NiMultiTextureProperty.cpp 3rdparty/niflib/src/obj/NiNode.cpp 3rdparty/niflib/src/obj/NiObject.cpp 3rdparty/niflib/src/obj/NiObjectNET.cpp 3rdparty/niflib/src/obj/NiPalette.cpp 3rdparty/niflib/src/obj/NiParticleBomb.cpp 3rdparty/niflib/src/obj/NiParticleColorModifier.cpp 3rdparty/niflib/src/obj/NiParticleGrowFade.cpp 3rdparty/niflib/src/obj/NiParticleMeshes.cpp 3rdparty/niflib/src/obj/NiParticleMeshesData.cpp 3rdparty/niflib/src/obj/NiParticleMeshModifier.cpp 3rdparty/niflib/src/obj/NiParticleModifier.cpp 3rdparty/niflib/src/obj/NiParticleRotation.cpp 3rdparty/niflib/src/obj/NiParticles.cpp 3rdparty/niflib/src/obj/NiParticlesData.cpp 3rdparty/niflib/src/obj/NiParticleSystem.cpp 3rdparty/niflib/src/obj/NiParticleSystemController.cpp 3rdparty/niflib/src/obj/NiPathController.cpp 3rdparty/niflib/src/obj/NiPathInterpolator.cpp 3rdparty/niflib/src/obj/NiPersistentSrcTextureRendererData.cpp 3rdparty/niflib/src/obj/NiPhysXActorDesc.cpp 3rdparty/niflib/src/obj/NiPhysXBodyDesc.cpp 3rdparty/niflib/src/obj/NiPhysXD6JointDesc.cpp 3rdparty/niflib/src/obj/NiPhysXKinematicSrc.cpp 3rdparty/niflib/src/obj/NiPhysXMaterialDesc.cpp 3rdparty/niflib/src/obj/NiPhysXMeshDesc.cpp 3rdparty/niflib/src/obj/NiPhysXProp.cpp 3rdparty/niflib/src/obj/NiPhysXPropDesc.cpp 3rdparty/niflib/src/obj/NiPhysXShapeDesc.cpp 3rdparty/niflib/src/obj/NiPhysXTransformDest.cpp 3rdparty/niflib/src/obj/NiPixelData.cpp 3rdparty/niflib/src/obj/NiPlanarCollider.cpp 3rdparty/niflib/src/obj/NiPoint3InterpController.cpp 3rdparty/niflib/src/obj/NiPoint3Interpolator.cpp 3rdparty/niflib/src/obj/NiPointLight.cpp 3rdparty/niflib/src/obj/NiPortal.cpp 3rdparty/niflib/src/obj/NiPosData.cpp 3rdparty/niflib/src/obj/NiProperty.cpp 3rdparty/niflib/src/obj/NiPSBombForce.cpp 3rdparty/niflib/src/obj/NiPSBoundUpdater.cpp 3rdparty/niflib/src/obj/NiPSBoxEmitter.cpp 3rdparty/niflib/src/obj/NiPSCylinderEmitter.cpp 3rdparty/niflib/src/obj/NiPSDragForce.cpp 3rdparty/niflib/src/obj/NiPSEmitParticlesCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterDeclinationCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterDeclinationVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterLifeSpanCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterPlanarAngleCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterPlanarAngleVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterRadiusCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterRotAngleCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterRotAngleVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterRotSpeedCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterRotSpeedVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSEmitterSpeedCtlr.cpp 3rdparty/niflib/src/obj/NiPSFacingQuadGenerator.cpp 3rdparty/niflib/src/obj/NiPSForceActiveCtlr.cpp 3rdparty/niflib/src/obj/NiPSGravityForce.cpp 3rdparty/niflib/src/obj/NiPSGravityStrengthCtlr.cpp 3rdparty/niflib/src/obj/NiPSMeshEmitter.cpp 3rdparty/niflib/src/obj/NiPSMeshParticleSystem.cpp 3rdparty/niflib/src/obj/NiPSParticleSystem.cpp 3rdparty/niflib/src/obj/NiPSPlanarCollider.cpp 3rdparty/niflib/src/obj/NiPSResetOnLoopCtlr.cpp 3rdparty/niflib/src/obj/NiPSSimulator.cpp 3rdparty/niflib/src/obj/NiPSSimulatorCollidersStep.cpp 3rdparty/niflib/src/obj/NiPSSimulatorFinalStep.cpp 3rdparty/niflib/src/obj/NiPSSimulatorForcesStep.cpp 3rdparty/niflib/src/obj/NiPSSimulatorGeneralStep.cpp 3rdparty/niflib/src/obj/NiPSSimulatorMeshAlignStep.cpp 3rdparty/niflib/src/obj/NiPSSimulatorStep.cpp 3rdparty/niflib/src/obj/NiPSSpawner.cpp 3rdparty/niflib/src/obj/NiPSSphereEmitter.cpp 3rdparty/niflib/src/obj/NiPSSphericalCollider.cpp)
set (NiflibSrc3 3rdparty/niflib/src/obj/NiPSysAgeDeathModifier.cpp 3rdparty/niflib/src/obj/NiPSysAirFieldAirFrictionCtlr.cpp 3rdparty/niflib/src/obj/NiPSysAirFieldInheritVelocityCtlr.cpp 3rdparty/niflib/src/obj/NiPSysAirFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysAirFieldSpreadCtlr.cpp 3rdparty/niflib/src/obj/NiPSysBombModifier.cpp 3rdparty/niflib/src/obj/NiPSysBoundUpdateModifier.cpp 3rdparty/niflib/src/obj/NiPSysBoxEmitter.cpp 3rdparty/niflib/src/obj/NiPSysCollider.cpp 3rdparty/niflib/src/obj/NiPSysColliderManager.cpp 3rdparty/niflib/src/obj/NiPSysColorModifier.cpp 3rdparty/niflib/src/obj/NiPSysCylinderEmitter.cpp 3rdparty/niflib/src/obj/NiPSysData.cpp 3rdparty/niflib/src/obj/NiPSysDragFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysDragModifier.cpp 3rdparty/niflib/src/obj/NiPSysEmitter.cpp 3rdparty/niflib/src/obj/NiPSysEmitterCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterCtlrData.cpp 3rdparty/niflib/src/obj/NiPSysEmitterDeclinationCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterLifeSpanCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterPlanarAngleCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterPlanarAngleVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSysEmitterSpeedCtlr.cpp 3rdparty/niflib/src/obj/NiPSysFieldAttenuationCtlr.cpp 3rdparty/niflib/src/obj/NiPSysFieldMagnitudeCtlr.cpp 3rdparty/niflib/src/obj/NiPSysFieldMaxDistanceCtlr.cpp 3rdparty/niflib/src/obj/NiPSysFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysGravityFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysGravityModifier.cpp 3rdparty/niflib/src/obj/NiPSysGravityStrengthCtlr.cpp 3rdparty/niflib/src/obj/NiPSysGrowFadeModifier.cpp 3rdparty/niflib/src/obj/NiPSysInitialRotAngleCtlr.cpp 3rdparty/niflib/src/obj/NiPSysInitialRotAngleVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSysInitialRotSpeedCtlr.cpp 3rdparty/niflib/src/obj/NiPSysInitialRotSpeedVarCtlr.cpp 3rdparty/niflib/src/obj/NiPSysMeshEmitter.cpp 3rdparty/niflib/src/obj/NiPSysMeshUpdateModifier.cpp 3rdparty/niflib/src/obj/NiPSysModifier.cpp 3rdparty/niflib/src/obj/NiPSysModifierActiveCtlr.cpp 3rdparty/niflib/src/obj/NiPSysModifierBoolCtlr.cpp 3rdparty/niflib/src/obj/NiPSysModifierCtlr.cpp 3rdparty/niflib/src/obj/NiPSysModifierFloatCtlr.cpp 3rdparty/niflib/src/obj/NiPSysPlanarCollider.cpp 3rdparty/niflib/src/obj/NiPSysPositionModifier.cpp 3rdparty/niflib/src/obj/NiPSysRadialFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysResetOnLoopCtlr.cpp 3rdparty/niflib/src/obj/NiPSysRotationModifier.cpp 3rdparty/niflib/src/obj/NiPSysSpawnModifier.cpp 3rdparty/niflib/src/obj/NiPSysSphereEmitter.cpp 3rdparty/niflib/src/obj/NiPSysSphericalCollider.cpp 3rdparty/niflib/src/obj/NiPSysTrailEmitter.cpp 3rdparty/niflib/src/obj/NiPSysTurbulenceFieldModifier.cpp 3rdparty/niflib/src/obj/NiPSysUpdateCtlr.cpp 3rdparty/niflib/src/obj/NiPSysVolumeEmitter.cpp 3rdparty/niflib/src/obj/NiPSysVortexFieldModifier.cpp 3rdparty/niflib/src/obj/NiRangeLODData.cpp 3rdparty/niflib/src/obj/NiRawImageData.cpp 3rdparty/niflib/src/obj/NiRenderObject.cpp 3rdparty/niflib/src/obj/NiRollController.cpp 3rdparty/niflib/src/obj/NiRoom.cpp 3rdparty/niflib/src/obj/NiRoomGroup.cpp 3rdparty/niflib/src/obj/NiRotatingParticles.cpp 3rdparty/niflib/src/obj/NiRotatingParticlesData.cpp 3rdparty/niflib/src/obj/NiScreenElements.cpp 3rdparty/niflib/src/obj/NiScreenElementsData.cpp 3rdparty/niflib/src/obj/NiScreenLODData.cpp 3rdparty/niflib/src/obj/NiSequence.cpp 3rdparty/niflib/src/obj/NiSequenceData.cpp 3rdparty/niflib/src/obj/NiSequenceStreamHelper.cpp 3rdparty/niflib/src/obj/NiShadeProperty.cpp 3rdparty/niflib/src/obj/NiShadowGenerator.cpp 3rdparty/niflib/src/obj/NiSingleInterpController.cpp 3rdparty/niflib/src/obj/NiSkinData.cpp 3rdparty/niflib/src/obj/NiSkinInstance.cpp 3rdparty/niflib/src/obj/NiSkinningLODController.cpp 3rdparty/niflib/src/obj/NiSkinningMeshModifier.cpp 3rdparty/niflib/src/obj/NiSkinPartition.cpp 3rdparty/niflib/src/obj/NiSortAdjustNode.cpp 3rdparty/niflib/src/obj/NiSourceCubeMap.cpp 3rdparty/niflib/src/obj/NiSourceTexture.cpp 3rdparty/niflib/src/obj/NiSpecularProperty.cpp 3rdparty/niflib/src/obj/NiSphericalCollider.cpp 3rdparty/niflib/src/obj/NiSpotLight.cpp 3rdparty/niflib/src/obj/NiStencilProperty.cpp 3rdparty/niflib/src/obj/NiStringExtraData.cpp 3rdparty/niflib/src/obj/NiStringPalette.cpp 3rdparty/niflib/src/obj/NiStringsExtraData.cpp 3rdparty/niflib/src/obj/NiSwitchNode.cpp 3rdparty/niflib/src/obj/NiTextKeyExtraData.cpp 3rdparty/niflib/src/obj/NiTexture.cpp 3rdparty/niflib/src/obj/NiTextureEffect.cpp 3rdparty/niflib/src/obj/NiTextureModeProperty.cpp 3rdparty/niflib/src/obj/NiTextureProperty.cpp 3rdparty/niflib/src/obj/NiTextureTransformController.cpp 3rdparty/niflib/src/obj/NiTexturingProperty.cpp 3rdparty/niflib/src/obj/NiTimeController.cpp 3rdparty/niflib/src/obj/NiTransformController.cpp 3rdparty/niflib/src/obj/NiTransformData.cpp 3rdparty/niflib/src/obj/NiTransformEvaluator.cpp 3rdparty/niflib/src/obj/NiTransformInterpolator.cpp 3rdparty/niflib/src/obj/NiTransparentProperty.cpp 3rdparty/niflib/src/obj/NiTriBasedGeom.cpp 3rdparty/niflib/src/obj/NiTriBasedGeomData.cpp 3rdparty/niflib/src/obj/NiTriShape.cpp 3rdparty/niflib/src/obj/NiTriShapeData.cpp 3rdparty/niflib/src/obj/NiTriShapeSkinController.cpp 3rdparty/niflib/src/obj/NiTriStrips.cpp 3rdparty/niflib/src/obj/NiTriStripsData.cpp 3rdparty/niflib/src/obj/NiUVController.cpp 3rdparty/niflib/src/obj/NiUVData.cpp 3rdparty/niflib/src/obj/NiVectorExtraData.cpp 3rdparty/niflib/src/obj/NiVertexColorProperty.cpp 3rdparty/niflib/src/obj/NiVertWeightsExtraData.cpp 3rdparty/niflib/src/obj/NiVisController.cpp 3rdparty/niflib/src/obj/NiVisData.cpp 3rdparty/niflib/src/obj/NiWireframeProperty.cpp 3rdparty/niflib/src/obj/NiZBufferProperty.cpp 3rdparty/niflib/src/obj/RootCollisionNode.cpp 3rdparty/niflib/src/obj/NiCollisionSwitch.cpp 3rdparty/niflib/src/obj/SkyShaderProperty.cpp 3rdparty/niflib/src/obj/TallGrassShaderProperty.cpp 3rdparty/niflib/src/obj/TileShaderProperty.cpp 3rdparty/niflib/src/obj/VolumetricFogShaderProperty.cpp 3rdparty/niflib/src/obj/WaterShaderProperty.cpp 3rdparty/niflib/TriStripper/connectivity_graph.cpp 3rdparty/niflib/TriStripper/policy.cpp 3rdparty/niflib/TriStripper/tri_stripper.cpp)
set (TootleSrc 3rdparty/tootle/src/TootleLib/aligned_malloc.cpp 3rdparty/tootle/src/TootleLib/clustering.cpp 3rdparty/tootle/src/TootleLib/d3doverdrawwindow.cpp 3rdparty/tootle/src/TootleLib/d3dwm.cpp 3rdparty/tootle/src/TootleLib/error.c 3rdparty/tootle/src/TootleLib/feedback.cpp 3rdparty/tootle/src/TootleLib/fit.cpp 3rdparty/tootle/src/TootleLib/gdiwm.cpp 3rdparty/tootle/src/TootleLib/heap.c 3rdparty/tootle/src/TootleLib/overdraw.cpp 3rdparty/tootle/src/TootleLib/soup.cpp 3rdparty/tootle/src/TootleLib/souptomesh.cpp 3rdparty/tootle/src/TootleLib/Stripifier.cpp 3rdparty/tootle/src/TootleLib/Timer.cpp 3rdparty/tootle/src/TootleLib/tootlelib.cpp 3rdparty/tootle/src/TootleLib/triorder.cpp 3rdparty/tootle/src/TootleLib/RayTracer/TootleRaytracer.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTBoundingBox.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTCamera.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTCore.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTCoreUtils.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTH2KDTreeBuilder.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTHeuristicKDTreeBuilder.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTKDTree.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTKDTreeBuilder.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTMesh.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTOrthoCamera.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTPPMImage.cpp 3rdparty/tootle/src/TootleLib/RayTracer/JRT/JRTTriangleIntersection.cpp 3rdparty/tootle/src/TootleLib/RayTracer/Math/JMLFuncs.cpp)
add_library (MGEfuncs SHARED MGEfuncs/NifConverter.cpp MGEfuncs/LandTessellator.cpp MGEfuncs/progmesh/CollapseTriangle.cpp MGEfuncs/progmesh/CollapseVertex.cpp MGEfuncs/progmesh/Progmesh.cpp MGEfuncs/exports.def ${NiflibSrc} ${NiflibSrc2} ${NiflibSrc3} ${TootleSrc})
target_link_libraries (MGEfuncs kernel32 user32 d3d9 d3dx9)
set_target_properties (MGEfuncs PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL;NIFLIB_STATIC_LINK")
# Make sure dll does not have lib- prefix
set_target_properties (d3d8 dinput8 MGEfuncs PROPERTIES PREFIX "")
set_target_properties (d3d8 dinput8 MGEfuncs PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
if (CMAKE_COMPILER_IS_GNUCXX)
# Compile options; C++17, optimize, strip symbols and kill stdcall decoration
set (CMAKE_CXX_FLAGS "-std=gnu++17 -O2 -march=core2 -mtune=sandybridge -mstackrealign -ffast-math -fgcse-after-reload -Wformat")
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s,--kill-at,--enable-stdcall-fixup")
endif (CMAKE_COMPILER_IS_GNUCXX)
if (MSVC_VERSION)
# Compile options; C++17, optimize
set (CMAKE_CXX_FLAGS "/std:c++17 /O2 /fp:fast /arch:SSE2")
endif (MSVC_VERSION)
# TODO: MGEXEgui build (install to Morrowind directory)