Merging changes from trunk r58091-58323.
[blender-staging.git] / source / gameengine / Ketsji / CMakeLists.txt
1 # ***** BEGIN GPL LICENSE BLOCK *****
2 #
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # The Original Code is Copyright (C) 2006, Blender Foundation
18 # All rights reserved.
19 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Jacques Beaurain.
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 set(INC
27         .
28         KXNetwork
29         ../BlenderRoutines
30         ../Converter
31         ../Expressions
32         ../GameLogic
33         ../Network
34         ../Network/LoopBackNetwork
35         ../Physics/common
36         ../Rasterizer
37         ../Rasterizer/RAS_OpenGLRasterizer
38         ../SceneGraph
39         ../../blender
40         ../../blender/blenfont
41         ../../blender/blenkernel
42         ../../blender/blenlib
43         ../../blender/blenloader
44         ../../blender/gpu
45         ../../blender/imbuf
46         ../../blender/makesdna
47         ../../blender/makesrna
48         ../../blender/python
49         ../../blender/python/generic
50         ../../blender/python/mathutils
51         ../../../intern/container
52         ../../../intern/guardedalloc
53         ../../../intern/string
54 )
55
56 set(INC_SYS
57         ../../../intern/moto/include
58         ../../../extern/recastnavigation/Recast/Include
59         ../../../extern/recastnavigation/Detour/Include
60         ${PTHREADS_INCLUDE_DIRS}
61         ${GLEW_INCLUDE_PATH}
62         ${BOOST_INCLUDE_DIR}
63 )
64
65 set(SRC
66         BL_Action.cpp
67         BL_ActionManager.cpp
68         BL_BlenderShader.cpp
69         BL_Material.cpp
70         BL_Shader.cpp
71         BL_Texture.cpp
72         KX_ArmatureSensor.cpp
73         KX_BlenderMaterial.cpp
74         KX_BulletPhysicsController.cpp
75         KX_Camera.cpp
76         KX_CameraActuator.cpp
77         KX_CameraIpoSGController.cpp
78         KX_CharacterWrapper.cpp
79         KX_ConstraintActuator.cpp
80         KX_ConstraintWrapper.cpp
81         KX_ConvertPhysicsObjects.cpp
82         KX_Dome.cpp
83         KX_EmptyObject.cpp
84         KX_FontObject.cpp
85         KX_GameActuator.cpp
86         KX_GameObject.cpp
87         KX_IpoConvert.cpp
88         KX_IPO_SGController.cpp
89         KX_IPhysicsController.cpp
90         KX_IpoActuator.cpp
91         KX_KetsjiEngine.cpp
92         KX_Light.cpp
93         KX_LightIpoSGController.cpp
94         KX_MaterialIpoController.cpp
95         KX_MeshProxy.cpp
96         KX_MotionState.cpp
97         KX_MouseFocusSensor.cpp
98         KX_NavMeshObject.cpp
99         KX_NearSensor.cpp
100         KX_ObColorIpoSGController.cpp
101         KX_ObjectActuator.cpp
102         KX_ObstacleSimulation.cpp
103         KX_OrientationInterpolator.cpp
104         KX_ParentActuator.cpp
105         KX_PolyProxy.cpp
106         KX_PolygonMaterial.cpp
107         KX_PositionInterpolator.cpp
108         KX_PyConstraintBinding.cpp
109         KX_PyMath.cpp
110         KX_PythonInit.cpp
111         KX_PythonInitTypes.cpp
112         KX_PythonMain.cpp
113         KX_PythonSeq.cpp
114         KX_RadarSensor.cpp
115         KX_RayCast.cpp
116         KX_RayEventManager.cpp
117         KX_RaySensor.cpp
118         KX_SCA_AddObjectActuator.cpp
119         KX_SCA_DynamicActuator.cpp
120         KX_SCA_EndObjectActuator.cpp
121         KX_SCA_ReplaceMeshActuator.cpp
122         KX_SG_BoneParentNodeRelationship.cpp
123         KX_SG_NodeRelationships.cpp
124         KX_ScalarInterpolator.cpp
125         KX_ScalingInterpolator.cpp
126         KX_Scene.cpp
127         KX_SceneActuator.cpp
128         KX_SoundActuator.cpp
129         KX_StateActuator.cpp
130         KX_SteeringActuator.cpp
131         KX_TimeCategoryLogger.cpp
132         KX_TimeLogger.cpp
133         KX_TouchEventManager.cpp
134         KX_TouchSensor.cpp
135         KX_TrackToActuator.cpp
136         KX_VehicleWrapper.cpp
137         KX_VertexProxy.cpp
138         KX_VisibilityActuator.cpp
139         KX_WorldInfo.cpp
140         KX_WorldIpoController.cpp
141
142         BL_Action.h
143         BL_ActionManager.h
144         BL_BlenderShader.h
145         BL_Material.h
146         BL_Shader.h
147         BL_Texture.h
148         KX_ArmatureSensor.h
149         KX_BlenderMaterial.h
150         KX_BulletPhysicsController.h
151         KX_Camera.h
152         KX_CameraActuator.h
153         KX_CameraIpoSGController.h
154         KX_CharacterWrapper.h
155         KX_ClientObjectInfo.h
156         KX_ConstraintActuator.h
157         KX_ConstraintWrapper.h
158         KX_ConvertPhysicsObject.h
159         KX_Dome.h
160         KX_EmptyObject.h
161         KX_FontObject.h
162         KX_GameActuator.h
163         KX_GameObject.h
164         KX_IInterpolator.h
165         KX_IpoConvert.h
166         KX_IPOTransform.h
167         KX_IPO_SGController.h
168         KX_IPhysicsController.h
169         KX_IScalarInterpolator.h
170         KX_ISceneConverter.h
171         KX_ISystem.h
172         KX_IpoActuator.h
173         KX_KetsjiEngine.h
174         KX_Light.h
175         KX_LightIpoSGController.h
176         KX_MaterialIpoController.h
177         KX_MeshProxy.h
178         KX_MotionState.h
179         KX_MouseFocusSensor.h
180         KX_NavMeshObject.h
181         KX_NearSensor.h
182         KX_ObColorIpoSGController.h
183         KX_ObjectActuator.h
184         KX_ObstacleSimulation.h
185         KX_OrientationInterpolator.h
186         KX_ParentActuator.h
187         KX_PhysicsEngineEnums.h
188         KX_PolyProxy.h
189         KX_PolygonMaterial.h
190         KX_PositionInterpolator.h
191         KX_PyConstraintBinding.h
192         KX_PyMath.h
193         KX_PythonInit.h
194         KX_PythonInitTypes.h
195         KX_PythonMain.h
196         KX_PythonSeq.h
197         KX_RadarSensor.h
198         KX_RayCast.h
199         KX_RayEventManager.h
200         KX_RaySensor.h
201         KX_SCA_AddObjectActuator.h
202         KX_SCA_DynamicActuator.h
203         KX_SCA_EndObjectActuator.h
204         KX_SCA_ReplaceMeshActuator.h
205         KX_SG_BoneParentNodeRelationship.h
206         KX_SG_NodeRelationships.h
207         KX_ScalarInterpolator.h
208         KX_ScalingInterpolator.h
209         KX_Scene.h
210         KX_SceneActuator.h
211         KX_SoundActuator.h
212         KX_StateActuator.h
213         KX_SteeringActuator.h
214         KX_TimeCategoryLogger.h
215         KX_TimeLogger.h
216         KX_TouchEventManager.h
217         KX_TouchSensor.h
218         KX_TrackToActuator.h
219         KX_VehicleWrapper.h
220         KX_VertexProxy.h
221         KX_VisibilityActuator.h
222         KX_WorldInfo.h
223         KX_WorldIpoController.h
224
225         # orphan headers (not apart of a library)
226         ../Physics/common/PHY_DynamicTypes.h
227         ../Physics/common/PHY_ICharacter.h
228         ../Physics/common/PHY_IController.h
229         ../Physics/common/PHY_IGraphicController.h
230         ../Physics/common/PHY_IMotionState.h
231         ../Physics/common/PHY_IPhysicsController.h
232         ../Physics/common/PHY_IPhysicsEnvironment.h
233         ../Physics/common/PHY_IVehicle.h
234         ../Physics/common/PHY_Pro.h
235
236 )
237
238 add_definitions(-DGLEW_STATIC)
239
240 if(WITH_IMAGE_DDS)
241         add_definitions(-DWITH_DDS)
242 endif()
243
244 if(WITH_SDL)
245         list(APPEND INC_SYS
246                 ${SDL_INCLUDE_DIR}
247         )
248         add_definitions(-DWITH_SDL)
249 endif()
250
251 if(WITH_CODEC_FFMPEG)
252         add_definitions(-DWITH_FFMPEG)
253 endif()
254
255 if(WITH_AUDASPACE)
256         list(APPEND INC
257                 ../../../intern/audaspace/intern
258                 ../../../intern/audaspace/FX
259         )
260         add_definitions(-DWITH_AUDASPACE)
261 endif()
262
263 if(WITH_BULLET)
264         list(APPEND INC
265                 ../Physics/Bullet
266         )
267         list(APPEND INC_SYS
268                 ${BULLET_INCLUDE_DIRS}
269         )
270         add_definitions(-DWITH_BULLET)
271 endif()
272
273 blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}" "${INC_SYS}")