Ghost Context Refactor
[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/glew-mx
53         ../../../intern/guardedalloc
54         ../../../intern/string
55 )
56
57 set(INC_SYS
58         ../../../intern/moto/include
59         ../../../extern/recastnavigation/Recast/Include
60         ../../../extern/recastnavigation/Detour/Include
61         ${PTHREADS_INCLUDE_DIRS}
62         ${GLEW_INCLUDE_PATH}
63         ${BOOST_INCLUDE_DIR}
64 )
65
66 set(SRC
67         BL_Action.cpp
68         BL_ActionManager.cpp
69         BL_BlenderShader.cpp
70         BL_Material.cpp
71         BL_Shader.cpp
72         BL_Texture.cpp
73         KX_ArmatureSensor.cpp
74         KX_BlenderMaterial.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_Dome.cpp
82         KX_EmptyObject.cpp
83         KX_FontObject.cpp
84         KX_GameActuator.cpp
85         KX_GameObject.cpp
86         KX_IpoConvert.cpp
87         KX_IPO_SGController.cpp
88         KX_IpoActuator.cpp
89         KX_KetsjiEngine.cpp
90         KX_Light.cpp
91         KX_LightIpoSGController.cpp
92         KX_MaterialIpoController.cpp
93         KX_MeshProxy.cpp
94         KX_MotionState.cpp
95         KX_MouseActuator.cpp
96         KX_MouseFocusSensor.cpp
97         KX_NavMeshObject.cpp
98         KX_NearSensor.cpp
99         KX_ObColorIpoSGController.cpp
100         KX_ObjectActuator.cpp
101         KX_ObstacleSimulation.cpp
102         KX_OrientationInterpolator.cpp
103         KX_ParentActuator.cpp
104         KX_PolyProxy.cpp
105         KX_PositionInterpolator.cpp
106         KX_PyConstraintBinding.cpp
107         KX_PyMath.cpp
108         KX_PythonInit.cpp
109         KX_PythonInitTypes.cpp
110         KX_PythonMain.cpp
111         KX_PythonSeq.cpp
112         KX_RadarSensor.cpp
113         KX_RayCast.cpp
114         KX_RayEventManager.cpp
115         KX_RaySensor.cpp
116         KX_SCA_AddObjectActuator.cpp
117         KX_SCA_DynamicActuator.cpp
118         KX_SCA_EndObjectActuator.cpp
119         KX_SCA_ReplaceMeshActuator.cpp
120         KX_SG_BoneParentNodeRelationship.cpp
121         KX_SG_NodeRelationships.cpp
122         KX_ScalarInterpolator.cpp
123         KX_ScalingInterpolator.cpp
124         KX_Scene.cpp
125         KX_SceneActuator.cpp
126         KX_SoundActuator.cpp
127         KX_StateActuator.cpp
128         KX_SteeringActuator.cpp
129         KX_TimeCategoryLogger.cpp
130         KX_TimeLogger.cpp
131         KX_TouchEventManager.cpp
132         KX_TouchSensor.cpp
133         KX_TrackToActuator.cpp
134         KX_VehicleWrapper.cpp
135         KX_VertexProxy.cpp
136         KX_VisibilityActuator.cpp
137         KX_WorldInfo.cpp
138         KX_WorldIpoController.cpp
139
140         BL_Action.h
141         BL_ActionManager.h
142         BL_BlenderShader.h
143         BL_Material.h
144         BL_Shader.h
145         BL_Texture.h
146         KX_ArmatureSensor.h
147         KX_BlenderMaterial.h
148         KX_Camera.h
149         KX_CameraActuator.h
150         KX_CameraIpoSGController.h
151         KX_CharacterWrapper.h
152         KX_ClientObjectInfo.h
153         KX_ConstraintActuator.h
154         KX_ConstraintWrapper.h
155         KX_Dome.h
156         KX_EmptyObject.h
157         KX_FontObject.h
158         KX_GameActuator.h
159         KX_GameObject.h
160         KX_IInterpolator.h
161         KX_IpoConvert.h
162         KX_IPOTransform.h
163         KX_IPO_SGController.h
164         KX_IScalarInterpolator.h
165         KX_ISceneConverter.h
166         KX_ISystem.h
167         KX_IpoActuator.h
168         KX_KetsjiEngine.h
169         KX_Light.h
170         KX_LightIpoSGController.h
171         KX_MaterialIpoController.h
172         KX_MeshProxy.h
173         KX_MotionState.h
174         KX_MouseActuator.h
175         KX_MouseFocusSensor.h
176         KX_NavMeshObject.h
177         KX_NearSensor.h
178         KX_ObColorIpoSGController.h
179         KX_ObjectActuator.h
180         KX_ObstacleSimulation.h
181         KX_OrientationInterpolator.h
182         KX_ParentActuator.h
183         KX_PhysicsEngineEnums.h
184         KX_PolyProxy.h
185         KX_PositionInterpolator.h
186         KX_PyConstraintBinding.h
187         KX_PyMath.h
188         KX_PythonInit.h
189         KX_PythonInitTypes.h
190         KX_PythonMain.h
191         KX_PythonSeq.h
192         KX_RadarSensor.h
193         KX_RayCast.h
194         KX_RayEventManager.h
195         KX_RaySensor.h
196         KX_SCA_AddObjectActuator.h
197         KX_SCA_DynamicActuator.h
198         KX_SCA_EndObjectActuator.h
199         KX_SCA_ReplaceMeshActuator.h
200         KX_SG_BoneParentNodeRelationship.h
201         KX_SG_NodeRelationships.h
202         KX_ScalarInterpolator.h
203         KX_ScalingInterpolator.h
204         KX_Scene.h
205         KX_SceneActuator.h
206         KX_SoundActuator.h
207         KX_StateActuator.h
208         KX_SteeringActuator.h
209         KX_TimeCategoryLogger.h
210         KX_TimeLogger.h
211         KX_TouchEventManager.h
212         KX_TouchSensor.h
213         KX_TrackToActuator.h
214         KX_VehicleWrapper.h
215         KX_VertexProxy.h
216         KX_VisibilityActuator.h
217         KX_WorldInfo.h
218         KX_WorldIpoController.h
219
220         # orphan headers (not apart of a library)
221         ../Physics/common/PHY_DynamicTypes.h
222         ../Physics/common/PHY_ICharacter.h
223         ../Physics/common/PHY_IController.h
224         ../Physics/common/PHY_IGraphicController.h
225         ../Physics/common/PHY_IMotionState.h
226         ../Physics/common/PHY_IPhysicsController.h
227         ../Physics/common/PHY_IPhysicsEnvironment.h
228         ../Physics/common/PHY_IVehicle.h
229         ../Physics/common/PHY_Pro.h
230
231 )
232
233 add_definitions(${GL_DEFINITIONS})
234
235 if(WITH_IMAGE_DDS)
236         add_definitions(-DWITH_DDS)
237 endif()
238
239 if(WITH_SDL)
240         list(APPEND INC_SYS
241                 ${SDL_INCLUDE_DIR}
242         )
243         add_definitions(-DWITH_SDL)
244 endif()
245
246 if(WITH_CODEC_FFMPEG)
247         add_definitions(-DWITH_FFMPEG)
248 endif()
249
250 if(WITH_AUDASPACE)
251         list(APPEND INC
252                 ../../../intern/audaspace/intern
253                 ../../../intern/audaspace/FX
254         )
255         add_definitions(-DWITH_AUDASPACE)
256 endif()
257
258 if(WITH_BULLET)
259         list(APPEND INC
260                 ../Physics/Bullet
261         )
262         list(APPEND INC_SYS
263                 ${BULLET_INCLUDE_DIRS}
264         )
265         add_definitions(-DWITH_BULLET)
266 endif()
267
268 blender_add_lib(ge_logic_ketsji "${SRC}" "${INC}" "${INC_SYS}")