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_CornerPinNode.cpp
187         nodes/COM_CornerPinNode.h
188         nodes/COM_PlaneTrackDeformNode.cpp
189         nodes/COM_PlaneTrackDeformNode.h
190
191         nodes/COM_CropNode.cpp
192         nodes/COM_CropNode.h
193         operations/COM_CropOperation.cpp
194         operations/COM_CropOperation.h
195
196         nodes/COM_TransformNode.cpp
197         nodes/COM_TransformNode.h
198         nodes/COM_Stabilize2dNode.cpp
199         nodes/COM_Stabilize2dNode.h
200         nodes/COM_MovieDistortionNode.cpp
201         nodes/COM_MovieDistortionNode.h
202         nodes/COM_DefocusNode.cpp
203         nodes/COM_DefocusNode.h
204
205         # color nodes
206         nodes/COM_VectorCurveNode.cpp
207         nodes/COM_VectorCurveNode.h
208         nodes/COM_ColorCurveNode.cpp
209         nodes/COM_ColorCurveNode.h
210         nodes/COM_ColorToBWNode.cpp
211         nodes/COM_ColorToBWNode.h
212         nodes/COM_ColorRampNode.cpp
213         nodes/COM_ColorRampNode.h
214         nodes/COM_MixNode.cpp
215         nodes/COM_MixNode.h
216         nodes/COM_AlphaOverNode.cpp
217         nodes/COM_AlphaOverNode.h
218         nodes/COM_ZCombineNode.cpp
219         nodes/COM_ZCombineNode.h
220         nodes/COM_BrightnessNode.cpp
221         nodes/COM_BrightnessNode.h
222         nodes/COM_ColorBalanceNode.cpp
223         nodes/COM_ColorBalanceNode.h
224         nodes/COM_InvertNode.cpp
225         nodes/COM_InvertNode.h
226         nodes/COM_GammaNode.cpp
227         nodes/COM_GammaNode.h
228         nodes/COM_SetAlphaNode.cpp
229         nodes/COM_SetAlphaNode.h
230         nodes/COM_ConvertAlphaNode.cpp
231         nodes/COM_ConvertAlphaNode.h
232         nodes/COM_HueSaturationValueNode.cpp
233         nodes/COM_HueSaturationValueNode.h
234         nodes/COM_HueSaturationValueCorrectNode.cpp
235         nodes/COM_HueSaturationValueCorrectNode.h
236         nodes/COM_ColorCorrectionNode.cpp
237         nodes/COM_ColorCorrectionNode.h
238         nodes/COM_TonemapNode.cpp
239         nodes/COM_TonemapNode.h
240         operations/COM_TonemapOperation.cpp
241         operations/COM_TonemapOperation.h
242
243         # converter nodes
244         nodes/COM_IDMaskNode.cpp
245         nodes/COM_IDMaskNode.h
246         nodes/COM_SeparateColorNode.cpp
247         nodes/COM_SeparateColorNode.h
248         nodes/COM_CombineColorNode.cpp
249         nodes/COM_CombineColorNode.h
250
251         nodes/COM_NormalNode.cpp
252         nodes/COM_NormalNode.h
253         nodes/COM_NormalizeNode.cpp
254         nodes/COM_NormalizeNode.h
255         nodes/COM_MathNode.cpp
256         nodes/COM_MathNode.h
257         nodes/COM_MapValueNode.cpp
258         nodes/COM_MapValueNode.h
259         nodes/COM_MapRangeNode.cpp
260         nodes/COM_MapRangeNode.h
261
262         operations/COM_NormalizeOperation.cpp
263         operations/COM_NormalizeOperation.h
264
265         nodes/COM_PixelateNode.cpp
266         nodes/COM_PixelateNode.h
267         operations/COM_PixelateOperation.cpp
268         operations/COM_PixelateOperation.h
269
270         # Filter nodes
271         nodes/COM_BilateralBlurNode.cpp
272         nodes/COM_BilateralBlurNode.h
273         operations/COM_BilateralBlurOperation.cpp
274         operations/COM_BilateralBlurOperation.h
275         nodes/COM_VectorBlurNode.cpp
276         nodes/COM_VectorBlurNode.h
277         operations/COM_VectorBlurOperation.cpp
278         operations/COM_VectorBlurOperation.h
279
280         nodes/COM_FilterNode.cpp
281         nodes/COM_FilterNode.h
282         nodes/COM_DespeckleNode.cpp
283         nodes/COM_DespeckleNode.h
284         nodes/COM_DilateErodeNode.cpp
285         nodes/COM_DilateErodeNode.h
286         nodes/COM_InpaintNode.cpp
287         nodes/COM_InpaintNode.h
288         nodes/COM_BlurNode.cpp
289         nodes/COM_BlurNode.h
290         nodes/COM_BokehBlurNode.cpp
291         nodes/COM_BokehBlurNode.h
292         nodes/COM_DirectionalBlurNode.cpp
293         nodes/COM_DirectionalBlurNode.h
294         operations/COM_GaussianAlphaXBlurOperation.cpp
295         operations/COM_GaussianAlphaXBlurOperation.h
296         operations/COM_GaussianAlphaYBlurOperation.cpp
297         operations/COM_GaussianAlphaYBlurOperation.h
298         operations/COM_GaussianXBlurOperation.cpp
299         operations/COM_GaussianXBlurOperation.h
300         operations/COM_GaussianYBlurOperation.cpp
301         operations/COM_GaussianYBlurOperation.h
302         operations/COM_GaussianBokehBlurOperation.cpp
303         operations/COM_GaussianBokehBlurOperation.h
304         operations/COM_BokehBlurOperation.cpp
305         operations/COM_BokehBlurOperation.h
306         operations/COM_VariableSizeBokehBlurOperation.cpp
307         operations/COM_VariableSizeBokehBlurOperation.h
308         operations/COM_FastGaussianBlurOperation.cpp
309         operations/COM_FastGaussianBlurOperation.h
310         operations/COM_BlurBaseOperation.cpp
311         operations/COM_BlurBaseOperation.h
312         operations/COM_DirectionalBlurOperation.cpp
313         operations/COM_DirectionalBlurOperation.h
314         operations/COM_MovieClipAttributeOperation.cpp
315         operations/COM_MovieClipAttributeOperation.h
316         operations/COM_MovieDistortionOperation.cpp
317         operations/COM_MovieDistortionOperation.h
318         operations/COM_GammaCorrectOperation.h
319         operations/COM_GammaCorrectOperation.cpp
320
321         # Matte nodes
322         nodes/COM_BoxMaskNode.cpp
323         nodes/COM_BoxMaskNode.h
324         nodes/COM_EllipseMaskNode.cpp
325         nodes/COM_EllipseMaskNode.h
326         nodes/COM_ColorSpillNode.cpp
327         nodes/COM_ColorSpillNode.h
328         nodes/COM_DoubleEdgeMaskNode.cpp
329         nodes/COM_DoubleEdgeMaskNode.h
330
331         operations/COM_DoubleEdgeMaskOperation.cpp
332         operations/COM_DoubleEdgeMaskOperation.h
333
334
335         nodes/COM_KeyingScreenNode.cpp
336         nodes/COM_KeyingScreenNode.h
337         operations/COM_KeyingScreenOperation.cpp
338         operations/COM_KeyingScreenOperation.h
339
340         nodes/COM_TrackPositionNode.cpp
341         nodes/COM_TrackPositionNode.h
342         operations/COM_TrackPositionOperation.cpp
343         operations/COM_TrackPositionOperation.h
344
345         nodes/COM_KeyingNode.cpp
346         nodes/COM_KeyingNode.h
347         operations/COM_KeyingOperation.cpp
348         operations/COM_KeyingOperation.h
349         operations/COM_KeyingBlurOperation.cpp
350         operations/COM_KeyingBlurOperation.h
351         operations/COM_KeyingDespillOperation.cpp
352         operations/COM_KeyingDespillOperation.h
353         operations/COM_KeyingClipOperation.cpp
354         operations/COM_KeyingClipOperation.h
355
356         operations/COM_ColorSpillOperation.cpp
357         operations/COM_ColorSpillOperation.h
358         operations/COM_RenderLayersProg.cpp
359         operations/COM_RenderLayersProg.h
360
361         operations/COM_ImageOperation.cpp
362         operations/COM_ImageOperation.h
363         operations/COM_MultilayerImageOperation.cpp
364         operations/COM_MultilayerImageOperation.h
365         operations/COM_TextureOperation.cpp
366         operations/COM_TextureOperation.h
367         operations/COM_BokehImageOperation.cpp
368         operations/COM_BokehImageOperation.h
369
370
371         operations/COM_SocketProxyOperation.h
372         operations/COM_SocketProxyOperation.cpp
373
374         operations/COM_CompositorOperation.h
375         operations/COM_CompositorOperation.cpp
376         operations/COM_OutputFileOperation.h
377         operations/COM_OutputFileOperation.cpp
378         operations/COM_OutputFileMultiViewOperation.h
379         operations/COM_OutputFileMultiViewOperation.cpp
380         operations/COM_ViewerOperation.h
381         operations/COM_ViewerOperation.cpp
382         operations/COM_PreviewOperation.h
383         operations/COM_PreviewOperation.cpp
384         operations/COM_SplitOperation.h
385         operations/COM_SplitOperation.cpp
386         operations/COM_ConvertDepthToRadiusOperation.h
387         operations/COM_ConvertDepthToRadiusOperation.cpp
388         operations/COM_ZCombineOperation.cpp
389         operations/COM_ZCombineOperation.h
390
391         operations/COM_ChangeHSVOperation.h
392         operations/COM_ChangeHSVOperation.cpp
393         operations/COM_ColorCurveOperation.h
394         operations/COM_ColorCurveOperation.cpp
395         operations/COM_ColorRampOperation.h
396         operations/COM_ColorRampOperation.cpp
397         operations/COM_VectorCurveOperation.h
398         operations/COM_VectorCurveOperation.cpp
399         operations/COM_CurveBaseOperation.h
400         operations/COM_CurveBaseOperation.cpp
401         operations/COM_HueSaturationValueCorrectOperation.cpp
402         operations/COM_HueSaturationValueCorrectOperation.h
403         operations/COM_DifferenceMatteOperation.cpp
404         operations/COM_DifferenceMatteOperation.h
405         operations/COM_LuminanceMatteOperation.cpp
406         operations/COM_LuminanceMatteOperation.h
407         operations/COM_DistanceRGBMatteOperation.cpp
408         operations/COM_DistanceRGBMatteOperation.h
409         operations/COM_DistanceYCCMatteOperation.cpp
410         operations/COM_DistanceYCCMatteOperation.h
411         operations/COM_ChromaMatteOperation.cpp
412         operations/COM_ChromaMatteOperation.h
413         operations/COM_ColorMatteOperation.cpp
414         operations/COM_ColorMatteOperation.h
415         operations/COM_ChannelMatteOperation.cpp
416         operations/COM_ChannelMatteOperation.h
417
418         operations/COM_ReadBufferOperation.cpp
419         operations/COM_ReadBufferOperation.h
420         operations/COM_WriteBufferOperation.cpp
421         operations/COM_WriteBufferOperation.h
422         operations/COM_MixOperation.h
423         operations/COM_MixOperation.cpp
424         operations/COM_BrightnessOperation.cpp
425         operations/COM_BrightnessOperation.h
426         operations/COM_GammaOperation.cpp
427         operations/COM_GammaOperation.h
428         operations/COM_ColorCorrectionOperation.cpp
429         operations/COM_ColorCorrectionOperation.h
430         operations/COM_SetValueOperation.h
431         operations/COM_SetValueOperation.cpp
432         operations/COM_SetColorOperation.h
433         operations/COM_SetColorOperation.cpp
434         operations/COM_SetVectorOperation.h
435         operations/COM_SetVectorOperation.cpp
436
437         operations/COM_MathBaseOperation.h
438         operations/COM_MathBaseOperation.cpp
439
440         operations/COM_AlphaOverMixedOperation.h
441         operations/COM_AlphaOverMixedOperation.cpp
442         operations/COM_AlphaOverPremultiplyOperation.h
443         operations/COM_AlphaOverPremultiplyOperation.cpp
444         operations/COM_AlphaOverKeyOperation.h
445         operations/COM_AlphaOverKeyOperation.cpp
446
447         operations/COM_ColorBalanceLGGOperation.h
448         operations/COM_ColorBalanceLGGOperation.cpp
449         operations/COM_ColorBalanceASCCDLOperation.h
450         operations/COM_ColorBalanceASCCDLOperation.cpp
451         operations/COM_InvertOperation.cpp
452         operations/COM_InvertOperation.h
453         operations/COM_SetAlphaOperation.cpp
454         operations/COM_SetAlphaOperation.h
455         operations/COM_MapValueOperation.cpp
456         operations/COM_MapValueOperation.h
457         operations/COM_MapRangeOperation.cpp
458         operations/COM_MapRangeOperation.h
459
460         # Distort operation
461         operations/COM_TranslateOperation.h
462         operations/COM_TranslateOperation.cpp
463         operations/COM_WrapOperation.h
464         operations/COM_WrapOperation.cpp
465         operations/COM_RotateOperation.h
466         operations/COM_RotateOperation.cpp
467         operations/COM_ScaleOperation.h
468         operations/COM_ScaleOperation.cpp
469         operations/COM_MapUVOperation.h
470         operations/COM_MapUVOperation.cpp
471         operations/COM_DisplaceOperation.h
472         operations/COM_DisplaceOperation.cpp
473         operations/COM_DisplaceSimpleOperation.h
474         operations/COM_DisplaceSimpleOperation.cpp
475         operations/COM_FlipOperation.h
476         operations/COM_FlipOperation.cpp
477         operations/COM_ProjectorLensDistortionOperation.cpp
478         operations/COM_ProjectorLensDistortionOperation.h
479         operations/COM_ScreenLensDistortionOperation.cpp
480         operations/COM_ScreenLensDistortionOperation.h
481         operations/COM_PlaneDistortCommonOperation.cpp
482         operations/COM_PlaneDistortCommonOperation.h
483         operations/COM_PlaneTrackOperation.cpp
484         operations/COM_PlaneTrackOperation.h
485         operations/COM_PlaneCornerPinOperation.cpp
486         operations/COM_PlaneCornerPinOperation.h
487
488         #Filter operations
489         operations/COM_ConvolutionFilterOperation.h
490         operations/COM_ConvolutionFilterOperation.cpp
491         operations/COM_ConvolutionEdgeFilterOperation.h
492         operations/COM_ConvolutionEdgeFilterOperation.cpp
493         operations/COM_DespeckleOperation.cpp
494         operations/COM_DespeckleOperation.h
495         operations/COM_DilateErodeOperation.cpp
496         operations/COM_DilateErodeOperation.h
497         operations/COM_InpaintOperation.cpp
498         operations/COM_InpaintOperation.h
499         operations/COM_GlareThresholdOperation.cpp
500         operations/COM_GlareThresholdOperation.h
501         operations/COM_GlareBaseOperation.cpp
502         operations/COM_GlareBaseOperation.h
503         operations/COM_GlareSimpleStarOperation.cpp
504         operations/COM_GlareSimpleStarOperation.h
505         operations/COM_GlareStreaksOperation.cpp
506         operations/COM_GlareStreaksOperation.h
507         operations/COM_GlareGhostOperation.cpp
508         operations/COM_GlareGhostOperation.h
509         operations/COM_GlareFogGlowOperation.cpp
510         operations/COM_GlareFogGlowOperation.h
511         operations/COM_SetSamplerOperation.cpp
512         operations/COM_SetSamplerOperation.h
513
514
515         #Convert operations
516         operations/COM_IDMaskOperation.cpp
517         operations/COM_IDMaskOperation.h
518         operations/COM_ConvertOperation.cpp
519         operations/COM_ConvertOperation.h
520
521         operations/COM_DotproductOperation.cpp
522         operations/COM_DotproductOperation.h
523
524         # Matte operation
525         operations/COM_BoxMaskOperation.h
526         operations/COM_BoxMaskOperation.cpp
527         operations/COM_EllipseMaskOperation.h
528         operations/COM_EllipseMaskOperation.cpp
529
530         operations/COM_MovieClipOperation.cpp
531         operations/COM_MovieClipOperation.h
532         operations/COM_ConvertColorProfileOperation.cpp
533         operations/COM_ConvertColorProfileOperation.h
534
535         operations/COM_AntiAliasOperation.cpp
536         operations/COM_AntiAliasOperation.h
537
538         operations/COM_MaskOperation.cpp
539         operations/COM_MaskOperation.h
540 )
541
542 list(APPEND INC
543         ${CMAKE_CURRENT_BINARY_DIR}/operations
544 )
545
546 data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
547           ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h SRC)
548
549 add_definitions(-DCL_USE_DEPRECATED_OPENCL_1_1_APIS)
550
551 if(WITH_INTERNATIONAL)
552         add_definitions(-DWITH_INTERNATIONAL)
553 endif()
554
555 blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}")