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