Add option for CMake to build libredcode, also use CODEC prefix for ffmpeg, quicktime...
[blender-staging.git] / source / gameengine / Ketsji / CMakeLists.txt
1 # $Id$
2 # ***** BEGIN GPL LICENSE BLOCK *****
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 #
18 # The Original Code is Copyright (C) 2006, Blender Foundation
19 # All rights reserved.
20 #
21 # The Original Code is: all of this file.
22 #
23 # Contributor(s): Jacques Beaurain.
24 #
25 # ***** END GPL LICENSE BLOCK *****
26
27 SET(INC
28         .
29         ../../../source/kernel/gen_system
30         ../../../intern/string
31         ../../../intern/guardedalloc
32         ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer 
33         ../../../source/gameengine/Converter
34         ../../../source/blender/imbuf
35         ../../../intern/moto/include
36         ../../../source/gameengine/Ketsji 
37         ../../../source/blender/blenlib
38         ../../../source/blender/blenkernel
39         ../../../source/blender/python
40         ../../../source/blender/python/generic
41         ../../../source/blender 
42         ../../../source/blender/makesdna 
43         ../../../source/gameengine/Rasterizer 
44         ../../../source/gameengine/GameLogic
45         ../../../source/gameengine/Expressions 
46         ../../../source/gameengine/Ketsji/KXNetwork
47         ../../../source/gameengine/Network
48         ../../../source/gameengine/SceneGraph 
49         ../../../source/gameengine/Physics/common
50         ../../../source/gameengine/Network/LoopBackNetwork
51         ../../../intern/audaspace/intern
52         ../../../source/blender/blenloader
53         ../../../source/blender/gpu
54         ../../../extern/glew/include
55 )
56
57 SET(SRC
58         BL_BlenderShader.cpp
59         BL_Material.cpp
60         BL_Shader.cpp
61         BL_Texture.cpp
62         KX_ArmatureSensor.cpp
63         KX_BlenderMaterial.cpp
64         KX_BulletPhysicsController.cpp
65         KX_Camera.cpp
66         KX_CameraActuator.cpp
67         KX_CameraIpoSGController.cpp
68         KX_ConstraintActuator.cpp
69         KX_ConstraintWrapper.cpp
70         KX_ConvertPhysicsObjects.cpp
71         KX_Dome.cpp
72         KX_EmptyObject.cpp
73         KX_GameActuator.cpp
74         KX_GameObject.cpp
75         KX_IPO_SGController.cpp
76         KX_IPhysicsController.cpp
77         KX_IpoActuator.cpp
78         KX_KetsjiEngine.cpp
79         KX_Light.cpp
80         KX_LightIpoSGController.cpp
81         KX_MaterialIpoController.cpp
82         KX_MeshProxy.cpp
83         KX_MotionState.cpp
84         KX_MouseFocusSensor.cpp
85         KX_NearSensor.cpp
86         KX_ObColorIpoSGController.cpp
87         KX_ObjectActuator.cpp
88         KX_OrientationInterpolator.cpp
89         KX_ParentActuator.cpp
90         KX_PhysicsObjectWrapper.cpp
91         KX_PolyProxy.cpp
92         KX_PolygonMaterial.cpp
93         KX_PositionInterpolator.cpp
94         KX_PyConstraintBinding.cpp
95         KX_PyMath.cpp
96         KX_PythonInit.cpp
97         KX_PythonInitTypes.cpp
98         KX_PythonSeq.cpp
99         KX_RadarSensor.cpp
100         KX_RayCast.cpp
101         KX_RayEventManager.cpp
102         KX_RaySensor.cpp
103         KX_SCA_AddObjectActuator.cpp
104         KX_SCA_DynamicActuator.cpp
105         KX_SCA_EndObjectActuator.cpp
106         KX_SCA_ReplaceMeshActuator.cpp
107         KX_SG_BoneParentNodeRelationship.cpp
108         KX_SG_NodeRelationships.cpp
109         KX_ScalarInterpolator.cpp
110         KX_ScalingInterpolator.cpp
111         KX_Scene.cpp
112         KX_SceneActuator.cpp
113         KX_SoundActuator.cpp
114         KX_StateActuator.cpp
115         KX_TimeCategoryLogger.cpp
116         KX_TimeLogger.cpp
117         KX_TouchEventManager.cpp
118         KX_TouchSensor.cpp
119         KX_TrackToActuator.cpp
120         KX_VehicleWrapper.cpp
121         KX_VertexProxy.cpp
122         KX_VisibilityActuator.cpp
123         KX_WorldInfo.cpp
124         KX_WorldIpoController.cpp
125
126         KX_ArmatureSensor.h
127         KX_BlenderMaterial.h
128         KX_BulletPhysicsController.h
129         KX_Camera.h
130         KX_CameraActuator.h
131         KX_CameraIpoSGController.h
132         KX_ClientObjectInfo.h
133         KX_ConstraintActuator.h
134         KX_ConstraintWrapper.h
135         KX_ConvertPhysicsObject.h
136         KX_Dome.h
137         KX_EmptyObject.h
138         KX_GameActuator.h
139         KX_GameObject.h
140         KX_IInterpolator.h
141         KX_IPOTransform.h
142         KX_IPO_SGController.h
143         KX_IPhysicsController.h
144         KX_IScalarInterpolator.h
145         KX_ISceneConverter.h
146         KX_ISystem.h
147         KX_IpoActuator.h
148         KX_KetsjiEngine.h
149         KX_Light.h
150         KX_LightIpoSGController.h
151         KX_MaterialIpoController.h
152         KX_MeshProxy.h
153         KX_MotionState.h
154         KX_MouseFocusSensor.h
155         KX_NearSensor.h
156         KX_ObColorIpoSGController.h
157         KX_ObjectActuator.h
158         KX_OrientationInterpolator.h
159         KX_ParentActuator.h
160         KX_PhysicsEngineEnums.h
161         KX_PhysicsObjectWrapper.h
162         KX_PhysicsPropertiesobsolete.h
163         KX_PolyProxy.h
164         KX_PolygonMaterial.h
165         KX_PositionInterpolator.h
166         KX_PyConstraintBinding.h
167         KX_PyMath.h
168         KX_PythonInit.h
169         KX_PythonInitTypes.h
170         KX_PythonSeq.h
171         KX_RadarSensor.h
172         KX_RayCast.h
173         KX_RayEventManager.h
174         KX_RaySensor.h
175         KX_SCA_AddObjectActuator.h
176         KX_SCA_DynamicActuator.h
177         KX_SCA_EndObjectActuator.h
178         KX_SCA_ReplaceMeshActuator.h
179         KX_SG_BoneParentNodeRelationship.h
180         KX_SG_NodeRelationships.h
181         KX_ScalarInterpolator.h
182         KX_ScalingInterpolator.h
183         KX_Scene.h
184         KX_SceneActuator.h
185         KX_SoundActuator.h
186         KX_StateActuator.h
187         KX_TimeCategoryLogger.h
188         KX_TimeLogger.h
189         KX_TouchEventManager.h
190         KX_TouchSensor.h
191         KX_TrackToActuator.h
192         KX_VehicleWrapper.h
193         KX_VertexProxy.h
194         KX_VisibilityActuator.h
195         KX_WorldInfo.h
196         KX_WorldIpoController.h
197         BL_BlenderShader.h
198         BL_Material.h
199         BL_Shader.h
200         BL_Texture.h
201 )
202
203 ADD_DEFINITIONS(-DGLEW_STATIC)
204
205 IF(WITH_SDL)
206         SET(INC ${INC} ${SDL_INCLUDE_DIR})  
207 ELSE(WITH_SDL)
208         ADD_DEFINITIONS(-DDISABLE_SDL)
209 ENDIF(WITH_SDL)
210
211 IF(WITH_CODEC_FFMPEG)
212         ADD_DEFINITIONS(-DWITH_FFMPEG)
213 ENDIF(WITH_CODEC_FFMPEG)
214
215 IF(WITH_BULLET)
216         ADD_DEFINITIONS(-DUSE_BULLET)
217         LIST(APPEND INC ../../../extern/bullet2/src)
218         LIST(APPEND INC ../../../source/gameengine/Physics/Bullet )
219 ENDIF(WITH_BULLET)
220
221 BLENDERLIB(ge_logic_ketsji "${SRC}" "${INC}")