0ad53d3ab804595e681df6f6879649b693313745
[blender.git] / source / blender / compositor / 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) 2011, Blender Foundation
18 # All rights reserved.
19 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Jeroen Bakker, Monique Dewanchand, Blender Developers Fund.
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 set(INC
27         .
28         intern
29         nodes
30         operations
31         ../blenkernel
32         ../blenlib
33         ../blentranslation
34         ../imbuf
35         ../makesdna
36         ../makesrna
37         ../windowmanager
38         ../nodes
39         ../nodes/composite
40         ../nodes/intern
41         ../render/extern/include
42         ../render/intern/include
43         ../../../extern/clew/include
44         ../../../intern/guardedalloc
45         ../../../intern/atomic
46 )
47
48 set(INC_SYS
49
50 )
51
52 set(SRC
53         COM_compositor.h
54         COM_defines.h
55
56         intern/COM_compositor.cpp
57         intern/COM_ExecutionSystem.cpp
58         intern/COM_ExecutionSystem.h
59         intern/COM_NodeConverter.cpp
60         intern/COM_NodeConverter.h
61         intern/COM_NodeOperationBuilder.cpp
62         intern/COM_NodeOperationBuilder.h
63         intern/COM_NodeGraph.cpp
64         intern/COM_NodeGraph.h
65         intern/COM_Converter.cpp
66         intern/COM_Converter.h
67         intern/COM_ExecutionGroup.cpp
68         intern/COM_ExecutionGroup.h
69         intern/COM_Node.cpp
70         intern/COM_Node.h
71         intern/COM_NodeOperation.cpp
72         intern/COM_NodeOperation.h
73         intern/COM_SocketReader.cpp
74         intern/COM_SocketReader.h
75         intern/COM_MemoryProxy.cpp
76         intern/COM_MemoryProxy.h
77         intern/COM_MemoryBuffer.cpp
78         intern/COM_MemoryBuffer.h
79         intern/COM_WorkScheduler.cpp
80         intern/COM_WorkScheduler.h
81         intern/COM_WorkPackage.cpp
82         intern/COM_WorkPackage.h
83         intern/COM_ChunkOrder.cpp
84         intern/COM_ChunkOrder.h
85         intern/COM_ChunkOrderHotspot.cpp
86         intern/COM_ChunkOrderHotspot.h
87         intern/COM_Device.cpp
88         intern/COM_Device.h
89         intern/COM_CPUDevice.cpp
90         intern/COM_CPUDevice.h
91         intern/COM_OpenCLDevice.cpp
92         intern/COM_OpenCLDevice.h
93         intern/COM_CompositorContext.cpp
94         intern/COM_CompositorContext.h
95         intern/COM_SingleThreadedOperation.cpp
96         intern/COM_SingleThreadedOperation.h
97         intern/COM_Debug.cpp
98         intern/COM_Debug.h
99
100         operations/COM_QualityStepHelper.h
101         operations/COM_QualityStepHelper.cpp
102
103         # Internal nodes
104         nodes/COM_SocketProxyNode.cpp
105         nodes/COM_SocketProxyNode.h
106
107         # input nodes
108         nodes/COM_RenderLayersNode.cpp
109         nodes/COM_RenderLayersNode.h
110         nodes/COM_ImageNode.cpp
111         nodes/COM_ImageNode.h
112         nodes/COM_TextureNode.cpp
113         nodes/COM_TextureNode.h
114         nodes/COM_BokehImageNode.cpp
115         nodes/COM_BokehImageNode.h
116         nodes/COM_ColorNode.cpp
117         nodes/COM_ColorNode.h
118         nodes/COM_ValueNode.cpp
119         nodes/COM_ValueNode.h
120         nodes/COM_TimeNode.cpp
121         nodes/COM_TimeNode.h
122         nodes/COM_SwitchNode.cpp
123         nodes/COM_SwitchNode.h
124         nodes/COM_SwitchViewNode.cpp
125         nodes/COM_SwitchViewNode.h
126         nodes/COM_MovieClipNode.cpp
127         nodes/COM_MovieClipNode.h
128         nodes/COM_OutputFileNode.cpp
129         nodes/COM_OutputFileNode.h
130         nodes/COM_MaskNode.cpp
131         nodes/COM_MaskNode.h
132
133         # output nodes
134         nodes/COM_CompositorNode.cpp
135         nodes/COM_CompositorNode.h
136         nodes/COM_ViewerNode.cpp
137         nodes/COM_ViewerNode.h
138         nodes/COM_SplitViewerNode.cpp
139         nodes/COM_SplitViewerNode.h
140         nodes/COM_ViewLevelsNode.cpp
141         nodes/COM_ViewLevelsNode.h
142         operations/COM_CalculateStandardDeviationOperation.cpp
143         operations/COM_CalculateStandardDeviationOperation.h
144         operations/COM_CalculateMeanOperation.cpp
145         operations/COM_CalculateMeanOperation.h
146
147         # distort nodes
148         nodes/COM_TranslateNode.cpp
149         nodes/COM_TranslateNode.h
150         nodes/COM_ScaleNode.cpp
151         nodes/COM_ScaleNode.h
152         nodes/COM_RotateNode.cpp
153         nodes/COM_RotateNode.h
154         nodes/COM_FlipNode.cpp
155         nodes/COM_FlipNode.h
156
157         nodes/COM_MapUVNode.cpp
158         nodes/COM_MapUVNode.h
159         nodes/COM_DisplaceNode.cpp
160         nodes/COM_DisplaceNode.h
161
162         nodes/COM_DifferenceMatteNode.cpp
163         nodes/COM_DifferenceMatteNode.h
164         nodes/COM_LuminanceMatteNode.cpp
165         nodes/COM_LuminanceMatteNode.h
166         nodes/COM_DistanceMatteNode.cpp
167         nodes/COM_DistanceMatteNode.h
168         nodes/COM_ChromaMatteNode.cpp
169         nodes/COM_ChromaMatteNode.h
170         nodes/COM_ColorMatteNode.cpp
171         nodes/COM_ColorMatteNode.h
172         nodes/COM_ChannelMatteNode.cpp
173         nodes/COM_ChannelMatteNode.h
174         nodes/COM_LensDistortionNode.cpp
175         nodes/COM_LensDistortionNode.h
176
177         nodes/COM_GlareNode.cpp
178         nodes/COM_GlareNode.h
179
180         nodes/COM_SunBeamsNode.cpp
181         nodes/COM_SunBeamsNode.h
182         operations/COM_SunBeamsOperation.cpp
183         operations/COM_SunBeamsOperation.h
184
185         nodes/COM_CryptomatteNode.cpp
186         nodes/COM_CryptomatteNode.h
187         operations/COM_CryptomatteOperation.cpp
188         operations/COM_CryptomatteOperation.h
189
190         nodes/COM_CornerPinNode.cpp
191         nodes/COM_CornerPinNode.h
192         nodes/COM_PlaneTrackDeformNode.cpp
193         nodes/COM_PlaneTrackDeformNode.h
194
195         nodes/COM_CropNode.cpp
196         nodes/COM_CropNode.h
197         operations/COM_CropOperation.cpp
198         operations/COM_CropOperation.h
199
200         nodes/COM_TransformNode.cpp
201         nodes/COM_TransformNode.h
202         nodes/COM_Stabilize2dNode.cpp
203         nodes/COM_Stabilize2dNode.h
204         nodes/COM_MovieDistortionNode.cpp
205         nodes/COM_MovieDistortionNode.h
206         nodes/COM_DefocusNode.cpp
207         nodes/COM_DefocusNode.h
208
209         # color nodes
210         nodes/COM_VectorCurveNode.cpp
211         nodes/COM_VectorCurveNode.h
212         nodes/COM_ColorCurveNode.cpp
213         nodes/COM_ColorCurveNode.h
214         nodes/COM_ColorToBWNode.cpp
215         nodes/COM_ColorToBWNode.h
216         nodes/COM_ColorRampNode.cpp
217         nodes/COM_ColorRampNode.h
218         nodes/COM_MixNode.cpp
219         nodes/COM_MixNode.h
220         nodes/COM_AlphaOverNode.cpp
221         nodes/COM_AlphaOverNode.h
222         nodes/COM_ZCombineNode.cpp
223         nodes/COM_ZCombineNode.h
224         nodes/COM_BrightnessNode.cpp
225         nodes/COM_BrightnessNode.h
226         nodes/COM_ColorBalanceNode.cpp
227         nodes/COM_ColorBalanceNode.h
228         nodes/COM_InvertNode.cpp
229         nodes/COM_InvertNode.h
230         nodes/COM_GammaNode.cpp
231         nodes/COM_GammaNode.h
232         nodes/COM_SetAlphaNode.cpp
233         nodes/COM_SetAlphaNode.h
234         nodes/COM_ConvertAlphaNode.cpp
235         nodes/COM_ConvertAlphaNode.h
236         nodes/COM_HueSaturationValueNode.cpp
237         nodes/COM_HueSaturationValueNode.h
238         nodes/COM_HueSaturationValueCorrectNode.cpp
239         nodes/COM_HueSaturationValueCorrectNode.h
240         nodes/COM_ColorCorrectionNode.cpp
241         nodes/COM_ColorCorrectionNode.h
242         nodes/COM_TonemapNode.cpp
243         nodes/COM_TonemapNode.h
244         operations/COM_TonemapOperation.cpp
245         operations/COM_TonemapOperation.h
246
247         # converter nodes
248         nodes/COM_IDMaskNode.cpp
249         nodes/COM_IDMaskNode.h
250         nodes/COM_SeparateColorNode.cpp
251         nodes/COM_SeparateColorNode.h
252         nodes/COM_CombineColorNode.cpp
253         nodes/COM_CombineColorNode.h
254
255         nodes/COM_NormalNode.cpp
256         nodes/COM_NormalNode.h
257         nodes/COM_NormalizeNode.cpp
258         nodes/COM_NormalizeNode.h
259         nodes/COM_MathNode.cpp
260         nodes/COM_MathNode.h
261         nodes/COM_MapValueNode.cpp
262         nodes/COM_MapValueNode.h
263         nodes/COM_MapRangeNode.cpp
264         nodes/COM_MapRangeNode.h
265
266         operations/COM_NormalizeOperation.cpp
267         operations/COM_NormalizeOperation.h
268
269         nodes/COM_PixelateNode.cpp
270         nodes/COM_PixelateNode.h
271         operations/COM_PixelateOperation.cpp
272         operations/COM_PixelateOperation.h
273
274         # Filter nodes
275         nodes/COM_BilateralBlurNode.cpp
276         nodes/COM_BilateralBlurNode.h
277         operations/COM_BilateralBlurOperation.cpp
278         operations/COM_BilateralBlurOperation.h
279         nodes/COM_VectorBlurNode.cpp
280         nodes/COM_VectorBlurNode.h
281         operations/COM_VectorBlurOperation.cpp
282         operations/COM_VectorBlurOperation.h
283
284         nodes/COM_FilterNode.cpp
285         nodes/COM_FilterNode.h
286         nodes/COM_DespeckleNode.cpp
287         nodes/COM_DespeckleNode.h
288         nodes/COM_DilateErodeNode.cpp
289         nodes/COM_DilateErodeNode.h
290         nodes/COM_InpaintNode.cpp
291         nodes/COM_InpaintNode.h
292         nodes/COM_BlurNode.cpp
293         nodes/COM_BlurNode.h
294         nodes/COM_BokehBlurNode.cpp
295         nodes/COM_BokehBlurNode.h
296         nodes/COM_DirectionalBlurNode.cpp
297         nodes/COM_DirectionalBlurNode.h
298         operations/COM_GaussianAlphaXBlurOperation.cpp
299         operations/COM_GaussianAlphaXBlurOperation.h
300         operations/COM_GaussianAlphaYBlurOperation.cpp
301         operations/COM_GaussianAlphaYBlurOperation.h
302         operations/COM_GaussianXBlurOperation.cpp
303         operations/COM_GaussianXBlurOperation.h
304         operations/COM_GaussianYBlurOperation.cpp
305         operations/COM_GaussianYBlurOperation.h
306         operations/COM_GaussianBokehBlurOperation.cpp
307         operations/COM_GaussianBokehBlurOperation.h
308         operations/COM_BokehBlurOperation.cpp
309         operations/COM_BokehBlurOperation.h
310         operations/COM_VariableSizeBokehBlurOperation.cpp
311         operations/COM_VariableSizeBokehBlurOperation.h
312         operations/COM_FastGaussianBlurOperation.cpp
313         operations/COM_FastGaussianBlurOperation.h
314         operations/COM_BlurBaseOperation.cpp
315         operations/COM_BlurBaseOperation.h
316         operations/COM_DirectionalBlurOperation.cpp
317         operations/COM_DirectionalBlurOperation.h
318         operations/COM_MovieClipAttributeOperation.cpp
319         operations/COM_MovieClipAttributeOperation.h
320         operations/COM_MovieDistortionOperation.cpp
321         operations/COM_MovieDistortionOperation.h
322         operations/COM_GammaCorrectOperation.h
323         operations/COM_GammaCorrectOperation.cpp
324
325         # Matte nodes
326         nodes/COM_BoxMaskNode.cpp
327         nodes/COM_BoxMaskNode.h
328         nodes/COM_EllipseMaskNode.cpp
329         nodes/COM_EllipseMaskNode.h
330         nodes/COM_ColorSpillNode.cpp
331         nodes/COM_ColorSpillNode.h
332         nodes/COM_DoubleEdgeMaskNode.cpp
333         nodes/COM_DoubleEdgeMaskNode.h
334
335         operations/COM_DoubleEdgeMaskOperation.cpp
336         operations/COM_DoubleEdgeMaskOperation.h
337
338
339         nodes/COM_KeyingScreenNode.cpp
340         nodes/COM_KeyingScreenNode.h
341         operations/COM_KeyingScreenOperation.cpp
342         operations/COM_KeyingScreenOperation.h
343
344         nodes/COM_TrackPositionNode.cpp
345         nodes/COM_TrackPositionNode.h
346         operations/COM_TrackPositionOperation.cpp
347         operations/COM_TrackPositionOperation.h
348
349         nodes/COM_KeyingNode.cpp
350         nodes/COM_KeyingNode.h
351         operations/COM_KeyingOperation.cpp
352         operations/COM_KeyingOperation.h
353         operations/COM_KeyingBlurOperation.cpp
354         operations/COM_KeyingBlurOperation.h
355         operations/COM_KeyingDespillOperation.cpp
356         operations/COM_KeyingDespillOperation.h
357         operations/COM_KeyingClipOperation.cpp
358         operations/COM_KeyingClipOperation.h
359
360         operations/COM_ColorSpillOperation.cpp
361         operations/COM_ColorSpillOperation.h
362         operations/COM_RenderLayersProg.cpp
363         operations/COM_RenderLayersProg.h
364
365         operations/COM_ImageOperation.cpp
366         operations/COM_ImageOperation.h
367         operations/COM_MultilayerImageOperation.cpp
368         operations/COM_MultilayerImageOperation.h
369         operations/COM_TextureOperation.cpp
370         operations/COM_TextureOperation.h
371         operations/COM_BokehImageOperation.cpp
372         operations/COM_BokehImageOperation.h
373
374
375         operations/COM_SocketProxyOperation.h
376         operations/COM_SocketProxyOperation.cpp
377
378         operations/COM_CompositorOperation.h
379         operations/COM_CompositorOperation.cpp
380         operations/COM_OutputFileOperation.h
381         operations/COM_OutputFileOperation.cpp
382         operations/COM_OutputFileMultiViewOperation.h
383         operations/COM_OutputFileMultiViewOperation.cpp
384         operations/COM_ViewerOperation.h
385         operations/COM_ViewerOperation.cpp
386         operations/COM_PreviewOperation.h
387         operations/COM_PreviewOperation.cpp
388         operations/COM_SplitOperation.h
389         operations/COM_SplitOperation.cpp
390         operations/COM_ConvertDepthToRadiusOperation.h
391         operations/COM_ConvertDepthToRadiusOperation.cpp
392         operations/COM_ZCombineOperation.cpp
393         operations/COM_ZCombineOperation.h
394
395         operations/COM_ChangeHSVOperation.h
396         operations/COM_ChangeHSVOperation.cpp
397         operations/COM_ColorCurveOperation.h
398         operations/COM_ColorCurveOperation.cpp
399         operations/COM_ColorRampOperation.h
400         operations/COM_ColorRampOperation.cpp
401         operations/COM_VectorCurveOperation.h
402         operations/COM_VectorCurveOperation.cpp
403         operations/COM_CurveBaseOperation.h
404         operations/COM_CurveBaseOperation.cpp
405         operations/COM_HueSaturationValueCorrectOperation.cpp
406         operations/COM_HueSaturationValueCorrectOperation.h
407         operations/COM_DifferenceMatteOperation.cpp
408         operations/COM_DifferenceMatteOperation.h
409         operations/COM_LuminanceMatteOperation.cpp
410         operations/COM_LuminanceMatteOperation.h
411         operations/COM_DistanceRGBMatteOperation.cpp
412         operations/COM_DistanceRGBMatteOperation.h
413         operations/COM_DistanceYCCMatteOperation.cpp
414         operations/COM_DistanceYCCMatteOperation.h
415         operations/COM_ChromaMatteOperation.cpp
416         operations/COM_ChromaMatteOperation.h
417         operations/COM_ColorMatteOperation.cpp
418         operations/COM_ColorMatteOperation.h
419         operations/COM_ChannelMatteOperation.cpp
420         operations/COM_ChannelMatteOperation.h
421
422         operations/COM_ReadBufferOperation.cpp
423         operations/COM_ReadBufferOperation.h
424         operations/COM_WriteBufferOperation.cpp
425         operations/COM_WriteBufferOperation.h
426         operations/COM_MixOperation.h
427         operations/COM_MixOperation.cpp
428         operations/COM_BrightnessOperation.cpp
429         operations/COM_BrightnessOperation.h
430         operations/COM_GammaOperation.cpp
431         operations/COM_GammaOperation.h
432         operations/COM_ColorCorrectionOperation.cpp
433         operations/COM_ColorCorrectionOperation.h
434         operations/COM_SetValueOperation.h
435         operations/COM_SetValueOperation.cpp
436         operations/COM_SetColorOperation.h
437         operations/COM_SetColorOperation.cpp
438         operations/COM_SetVectorOperation.h
439         operations/COM_SetVectorOperation.cpp
440
441         operations/COM_MathBaseOperation.h
442         operations/COM_MathBaseOperation.cpp
443
444         operations/COM_AlphaOverMixedOperation.h
445         operations/COM_AlphaOverMixedOperation.cpp
446         operations/COM_AlphaOverPremultiplyOperation.h
447         operations/COM_AlphaOverPremultiplyOperation.cpp
448         operations/COM_AlphaOverKeyOperation.h
449         operations/COM_AlphaOverKeyOperation.cpp
450
451         operations/COM_ColorBalanceLGGOperation.h
452         operations/COM_ColorBalanceLGGOperation.cpp
453         operations/COM_ColorBalanceASCCDLOperation.h
454         operations/COM_ColorBalanceASCCDLOperation.cpp
455         operations/COM_InvertOperation.cpp
456         operations/COM_InvertOperation.h
457         operations/COM_SetAlphaOperation.cpp
458         operations/COM_SetAlphaOperation.h
459         operations/COM_MapValueOperation.cpp
460         operations/COM_MapValueOperation.h
461         operations/COM_MapRangeOperation.cpp
462         operations/COM_MapRangeOperation.h
463
464         # Distort operation
465         operations/COM_TranslateOperation.h
466         operations/COM_TranslateOperation.cpp
467         operations/COM_WrapOperation.h
468         operations/COM_WrapOperation.cpp
469         operations/COM_RotateOperation.h
470         operations/COM_RotateOperation.cpp
471         operations/COM_ScaleOperation.h
472         operations/COM_ScaleOperation.cpp
473         operations/COM_MapUVOperation.h
474         operations/COM_MapUVOperation.cpp
475         operations/COM_DisplaceOperation.h
476         operations/COM_DisplaceOperation.cpp
477         operations/COM_DisplaceSimpleOperation.h
478         operations/COM_DisplaceSimpleOperation.cpp
479         operations/COM_FlipOperation.h
480         operations/COM_FlipOperation.cpp
481         operations/COM_ProjectorLensDistortionOperation.cpp
482         operations/COM_ProjectorLensDistortionOperation.h
483         operations/COM_ScreenLensDistortionOperation.cpp
484         operations/COM_ScreenLensDistortionOperation.h
485         operations/COM_PlaneDistortCommonOperation.cpp
486         operations/COM_PlaneDistortCommonOperation.h
487         operations/COM_PlaneTrackOperation.cpp
488         operations/COM_PlaneTrackOperation.h
489         operations/COM_PlaneCornerPinOperation.cpp
490         operations/COM_PlaneCornerPinOperation.h
491
492         #Filter operations
493         operations/COM_ConvolutionFilterOperation.h
494         operations/COM_ConvolutionFilterOperation.cpp
495         operations/COM_ConvolutionEdgeFilterOperation.h
496         operations/COM_ConvolutionEdgeFilterOperation.cpp
497         operations/COM_DespeckleOperation.cpp
498         operations/COM_DespeckleOperation.h
499         operations/COM_DilateErodeOperation.cpp
500         operations/COM_DilateErodeOperation.h
501         operations/COM_InpaintOperation.cpp
502         operations/COM_InpaintOperation.h
503         operations/COM_GlareThresholdOperation.cpp
504         operations/COM_GlareThresholdOperation.h
505         operations/COM_GlareBaseOperation.cpp
506         operations/COM_GlareBaseOperation.h
507         operations/COM_GlareSimpleStarOperation.cpp
508         operations/COM_GlareSimpleStarOperation.h
509         operations/COM_GlareStreaksOperation.cpp
510         operations/COM_GlareStreaksOperation.h
511         operations/COM_GlareGhostOperation.cpp
512         operations/COM_GlareGhostOperation.h
513         operations/COM_GlareFogGlowOperation.cpp
514         operations/COM_GlareFogGlowOperation.h
515         operations/COM_SetSamplerOperation.cpp
516         operations/COM_SetSamplerOperation.h
517
518
519         #Convert operations
520         operations/COM_IDMaskOperation.cpp
521         operations/COM_IDMaskOperation.h
522         operations/COM_ConvertOperation.cpp
523         operations/COM_ConvertOperation.h
524
525         operations/COM_DotproductOperation.cpp
526         operations/COM_DotproductOperation.h
527
528         # Matte operation
529         operations/COM_BoxMaskOperation.h
530         operations/COM_BoxMaskOperation.cpp
531         operations/COM_EllipseMaskOperation.h
532         operations/COM_EllipseMaskOperation.cpp
533
534         operations/COM_MovieClipOperation.cpp
535         operations/COM_MovieClipOperation.h
536         operations/COM_ConvertColorProfileOperation.cpp
537         operations/COM_ConvertColorProfileOperation.h
538
539         operations/COM_AntiAliasOperation.cpp
540         operations/COM_AntiAliasOperation.h
541
542         operations/COM_MaskOperation.cpp
543         operations/COM_MaskOperation.h
544 )
545
546 list(APPEND INC
547         ${CMAKE_CURRENT_BINARY_DIR}/operations
548 )
549
550 data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
551           ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h SRC)
552
553 add_definitions(-DCL_USE_DEPRECATED_OPENCL_1_1_APIS)
554
555 if(WITH_INTERNATIONAL)
556         add_definitions(-DWITH_INTERNATIONAL)
557 endif()
558
559 blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}")