UI: Improve contrast on playhead
[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 # ***** END GPL LICENSE BLOCK *****
20
21 set(INC
22   .
23   intern
24   nodes
25   operations
26   ../blenkernel
27   ../blenlib
28   ../blentranslation
29   ../depsgraph
30   ../imbuf
31   ../makesdna
32   ../makesrna
33   ../nodes
34   ../windowmanager
35   ../nodes/composite
36   ../nodes/intern
37   ../render
38   ../render/intern
39   ../../../extern/clew/include
40   ../../../intern/atomic
41   ../../../intern/guardedalloc
42 )
43
44 set(INC_SYS
45
46 )
47
48 set(SRC
49   COM_compositor.h
50   COM_defines.h
51
52   intern/COM_BufferArea.h
53   intern/COM_BufferOperation.cc
54   intern/COM_BufferOperation.h
55   intern/COM_BufferRange.h
56   intern/COM_BuffersIterator.h
57   intern/COM_CPUDevice.cc
58   intern/COM_CPUDevice.h
59   intern/COM_ChunkOrder.cc
60   intern/COM_ChunkOrder.h
61   intern/COM_ChunkOrderHotspot.cc
62   intern/COM_ChunkOrderHotspot.h
63   intern/COM_CompositorContext.cc
64   intern/COM_CompositorContext.h
65   intern/COM_ConstantFolder.cc
66   intern/COM_ConstantFolder.h
67   intern/COM_Converter.cc
68   intern/COM_Converter.h
69   intern/COM_Debug.cc
70   intern/COM_Debug.h
71   intern/COM_Device.cc
72   intern/COM_Device.h
73   intern/COM_Enums.cc
74   intern/COM_Enums.h
75   intern/COM_ExecutionGroup.cc
76   intern/COM_ExecutionGroup.h
77   intern/COM_ExecutionModel.cc
78   intern/COM_ExecutionModel.h
79   intern/COM_ExecutionSystem.cc
80   intern/COM_ExecutionSystem.h
81   intern/COM_FullFrameExecutionModel.cc
82   intern/COM_FullFrameExecutionModel.h
83   intern/COM_MemoryBuffer.cc
84   intern/COM_MemoryBuffer.h
85   intern/COM_MemoryProxy.cc
86   intern/COM_MemoryProxy.h
87   intern/COM_MetaData.cc
88   intern/COM_MetaData.h
89   intern/COM_MultiThreadedOperation.cc
90   intern/COM_MultiThreadedOperation.h
91   intern/COM_MultiThreadedRowOperation.cc
92   intern/COM_MultiThreadedRowOperation.h
93   intern/COM_Node.cc
94   intern/COM_Node.h
95   intern/COM_NodeConverter.cc
96   intern/COM_NodeConverter.h
97   intern/COM_NodeGraph.cc
98   intern/COM_NodeGraph.h
99   intern/COM_NodeOperation.cc
100   intern/COM_NodeOperation.h
101   intern/COM_NodeOperationBuilder.cc
102   intern/COM_NodeOperationBuilder.h
103   intern/COM_OpenCLDevice.cc
104   intern/COM_OpenCLDevice.h
105   intern/COM_SharedOperationBuffers.cc
106   intern/COM_SharedOperationBuffers.h
107   intern/COM_SingleThreadedOperation.cc
108   intern/COM_SingleThreadedOperation.h
109   intern/COM_TiledExecutionModel.cc
110   intern/COM_TiledExecutionModel.h
111   intern/COM_WorkPackage.cc
112   intern/COM_WorkPackage.h
113   intern/COM_WorkScheduler.cc
114   intern/COM_WorkScheduler.h
115   intern/COM_compositor.cc
116
117   operations/COM_QualityStepHelper.cc
118   operations/COM_QualityStepHelper.h
119
120   # Internal nodes
121   nodes/COM_SocketProxyNode.cc
122   nodes/COM_SocketProxyNode.h
123
124   # input nodes
125   nodes/COM_BokehImageNode.cc
126   nodes/COM_BokehImageNode.h
127   nodes/COM_ColorNode.cc
128   nodes/COM_ColorNode.h
129   nodes/COM_ImageNode.cc
130   nodes/COM_ImageNode.h
131   nodes/COM_MaskNode.cc
132   nodes/COM_MaskNode.h
133   nodes/COM_MovieClipNode.cc
134   nodes/COM_MovieClipNode.h
135   nodes/COM_OutputFileNode.cc
136   nodes/COM_OutputFileNode.h
137   nodes/COM_RenderLayersNode.cc
138   nodes/COM_RenderLayersNode.h
139   nodes/COM_SwitchNode.cc
140   nodes/COM_SwitchNode.h
141   nodes/COM_SwitchViewNode.cc
142   nodes/COM_SwitchViewNode.h
143   nodes/COM_TextureNode.cc
144   nodes/COM_TextureNode.h
145   nodes/COM_TimeNode.cc
146   nodes/COM_TimeNode.h
147   nodes/COM_ValueNode.cc
148   nodes/COM_ValueNode.h
149
150   # output nodes
151   nodes/COM_CompositorNode.cc
152   nodes/COM_CompositorNode.h
153   nodes/COM_SplitViewerNode.cc
154   nodes/COM_SplitViewerNode.h
155   nodes/COM_ViewLevelsNode.cc
156   nodes/COM_ViewLevelsNode.h
157   nodes/COM_ViewerNode.cc
158   nodes/COM_ViewerNode.h
159   operations/COM_CalculateMeanOperation.cc
160   operations/COM_CalculateMeanOperation.h
161   operations/COM_CalculateStandardDeviationOperation.cc
162   operations/COM_CalculateStandardDeviationOperation.h
163
164   # distort nodes
165   nodes/COM_FlipNode.cc
166   nodes/COM_FlipNode.h
167   nodes/COM_RotateNode.cc
168   nodes/COM_RotateNode.h
169   nodes/COM_ScaleNode.cc
170   nodes/COM_ScaleNode.h
171   nodes/COM_TranslateNode.cc
172   nodes/COM_TranslateNode.h
173
174   nodes/COM_DisplaceNode.cc
175   nodes/COM_DisplaceNode.h
176   nodes/COM_MapUVNode.cc
177   nodes/COM_MapUVNode.h
178
179   nodes/COM_ChannelMatteNode.cc
180   nodes/COM_ChannelMatteNode.h
181   nodes/COM_ChromaMatteNode.cc
182   nodes/COM_ChromaMatteNode.h
183   nodes/COM_ColorMatteNode.cc
184   nodes/COM_ColorMatteNode.h
185   nodes/COM_DifferenceMatteNode.cc
186   nodes/COM_DifferenceMatteNode.h
187   nodes/COM_DistanceMatteNode.cc
188   nodes/COM_DistanceMatteNode.h
189   nodes/COM_LensDistortionNode.cc
190   nodes/COM_LensDistortionNode.h
191   nodes/COM_LuminanceMatteNode.cc
192   nodes/COM_LuminanceMatteNode.h
193
194   nodes/COM_GlareNode.cc
195   nodes/COM_GlareNode.h
196
197   nodes/COM_SunBeamsNode.cc
198   nodes/COM_SunBeamsNode.h
199   operations/COM_SunBeamsOperation.cc
200   operations/COM_SunBeamsOperation.h
201
202   nodes/COM_CryptomatteNode.cc
203   nodes/COM_CryptomatteNode.h
204   operations/COM_CryptomatteOperation.cc
205   operations/COM_CryptomatteOperation.h
206
207   nodes/COM_CornerPinNode.cc
208   nodes/COM_CornerPinNode.h
209   nodes/COM_PlaneTrackDeformNode.cc
210   nodes/COM_PlaneTrackDeformNode.h
211
212   nodes/COM_CropNode.cc
213   nodes/COM_CropNode.h
214   operations/COM_CropOperation.cc
215   operations/COM_CropOperation.h
216
217   nodes/COM_DefocusNode.cc
218   nodes/COM_DefocusNode.h
219   nodes/COM_MovieDistortionNode.cc
220   nodes/COM_MovieDistortionNode.h
221   nodes/COM_Stabilize2dNode.cc
222   nodes/COM_Stabilize2dNode.h
223   nodes/COM_TransformNode.cc
224   nodes/COM_TransformNode.h
225
226   # color nodes
227   nodes/COM_AlphaOverNode.cc
228   nodes/COM_AlphaOverNode.h
229   nodes/COM_BrightnessNode.cc
230   nodes/COM_BrightnessNode.h
231   nodes/COM_ColorBalanceNode.cc
232   nodes/COM_ColorBalanceNode.h
233   nodes/COM_ColorCorrectionNode.cc
234   nodes/COM_ColorCorrectionNode.h
235   nodes/COM_ColorCurveNode.cc
236   nodes/COM_ColorCurveNode.h
237   nodes/COM_ColorExposureNode.cc
238   nodes/COM_ColorExposureNode.h
239   nodes/COM_ColorRampNode.cc
240   nodes/COM_ColorRampNode.h
241   nodes/COM_ColorToBWNode.cc
242   nodes/COM_ColorToBWNode.h
243   nodes/COM_ConvertAlphaNode.cc
244   nodes/COM_ConvertAlphaNode.h
245   nodes/COM_GammaNode.cc
246   nodes/COM_GammaNode.h
247   nodes/COM_HueSaturationValueCorrectNode.cc
248   nodes/COM_HueSaturationValueCorrectNode.h
249   nodes/COM_HueSaturationValueNode.cc
250   nodes/COM_HueSaturationValueNode.h
251   nodes/COM_InvertNode.cc
252   nodes/COM_InvertNode.h
253   nodes/COM_MixNode.cc
254   nodes/COM_MixNode.h
255   nodes/COM_SetAlphaNode.cc
256   nodes/COM_SetAlphaNode.h
257   nodes/COM_TonemapNode.cc
258   nodes/COM_TonemapNode.h
259   nodes/COM_VectorCurveNode.cc
260   nodes/COM_VectorCurveNode.h
261   nodes/COM_ZCombineNode.cc
262   nodes/COM_ZCombineNode.h
263   operations/COM_TonemapOperation.cc
264   operations/COM_TonemapOperation.h
265
266   # converter nodes
267   nodes/COM_CombineColorNode.cc
268   nodes/COM_CombineColorNode.h
269   nodes/COM_IDMaskNode.cc
270   nodes/COM_IDMaskNode.h
271   nodes/COM_SeparateColorNode.cc
272   nodes/COM_SeparateColorNode.h
273
274   nodes/COM_MapRangeNode.cc
275   nodes/COM_MapRangeNode.h
276   nodes/COM_MapValueNode.cc
277   nodes/COM_MapValueNode.h
278   nodes/COM_MathNode.cc
279   nodes/COM_MathNode.h
280   nodes/COM_NormalNode.cc
281   nodes/COM_NormalNode.h
282   nodes/COM_NormalizeNode.cc
283   nodes/COM_NormalizeNode.h
284
285   operations/COM_NormalizeOperation.cc
286   operations/COM_NormalizeOperation.h
287
288   nodes/COM_PixelateNode.cc
289   nodes/COM_PixelateNode.h
290   operations/COM_PixelateOperation.cc
291   operations/COM_PixelateOperation.h
292
293   # Filter nodes
294   nodes/COM_BilateralBlurNode.cc
295   nodes/COM_BilateralBlurNode.h
296   operations/COM_BilateralBlurOperation.cc
297   operations/COM_BilateralBlurOperation.h
298   nodes/COM_VectorBlurNode.cc
299   nodes/COM_VectorBlurNode.h
300   operations/COM_VectorBlurOperation.cc
301   operations/COM_VectorBlurOperation.h
302   nodes/COM_AntiAliasingNode.cc
303   nodes/COM_AntiAliasingNode.h
304   nodes/COM_BlurNode.cc
305   nodes/COM_BlurNode.h
306   nodes/COM_BokehBlurNode.cc
307   nodes/COM_BokehBlurNode.h
308   nodes/COM_DenoiseNode.cc
309   nodes/COM_DenoiseNode.h
310   nodes/COM_DespeckleNode.cc
311   nodes/COM_DespeckleNode.h
312   nodes/COM_DilateErodeNode.cc
313   nodes/COM_DilateErodeNode.h
314   nodes/COM_DirectionalBlurNode.cc
315   nodes/COM_DirectionalBlurNode.h
316   nodes/COM_FilterNode.cc
317   nodes/COM_FilterNode.h
318   nodes/COM_InpaintNode.cc
319   nodes/COM_InpaintNode.h
320   nodes/COM_PosterizeNode.cc
321   nodes/COM_PosterizeNode.h
322
323   operations/COM_BlurBaseOperation.cc
324   operations/COM_BlurBaseOperation.h
325   operations/COM_BokehBlurOperation.cc
326   operations/COM_BokehBlurOperation.h
327   operations/COM_DirectionalBlurOperation.cc
328   operations/COM_DirectionalBlurOperation.h
329   operations/COM_FastGaussianBlurOperation.cc
330   operations/COM_FastGaussianBlurOperation.h
331   operations/COM_GammaCorrectOperation.cc
332   operations/COM_GammaCorrectOperation.h
333   operations/COM_GaussianAlphaBlurBaseOperation.cc
334   operations/COM_GaussianAlphaBlurBaseOperation.h
335   operations/COM_GaussianAlphaXBlurOperation.cc
336   operations/COM_GaussianAlphaXBlurOperation.h
337   operations/COM_GaussianAlphaYBlurOperation.cc
338   operations/COM_GaussianAlphaYBlurOperation.h
339   operations/COM_GaussianBlurBaseOperation.cc
340   operations/COM_GaussianBlurBaseOperation.h
341   operations/COM_GaussianBokehBlurOperation.cc
342   operations/COM_GaussianBokehBlurOperation.h
343   operations/COM_GaussianXBlurOperation.cc
344   operations/COM_GaussianXBlurOperation.h
345   operations/COM_GaussianYBlurOperation.cc
346   operations/COM_GaussianYBlurOperation.h
347   operations/COM_MovieClipAttributeOperation.cc
348   operations/COM_MovieClipAttributeOperation.h
349   operations/COM_MovieDistortionOperation.cc
350   operations/COM_MovieDistortionOperation.h
351   operations/COM_PosterizeOperation.cc
352   operations/COM_PosterizeOperation.h
353   operations/COM_SMAAOperation.cc
354   operations/COM_SMAAOperation.h
355   operations/COM_VariableSizeBokehBlurOperation.cc
356   operations/COM_VariableSizeBokehBlurOperation.h
357
358   # Matte nodes
359   nodes/COM_BoxMaskNode.cc
360   nodes/COM_BoxMaskNode.h
361   nodes/COM_ColorSpillNode.cc
362   nodes/COM_ColorSpillNode.h
363   nodes/COM_DoubleEdgeMaskNode.cc
364   nodes/COM_DoubleEdgeMaskNode.h
365   nodes/COM_EllipseMaskNode.cc
366   nodes/COM_EllipseMaskNode.h
367
368   operations/COM_DoubleEdgeMaskOperation.cc
369   operations/COM_DoubleEdgeMaskOperation.h
370
371
372   nodes/COM_KeyingScreenNode.cc
373   nodes/COM_KeyingScreenNode.h
374   operations/COM_KeyingScreenOperation.cc
375   operations/COM_KeyingScreenOperation.h
376
377   nodes/COM_TrackPositionNode.cc
378   nodes/COM_TrackPositionNode.h
379   operations/COM_TrackPositionOperation.cc
380   operations/COM_TrackPositionOperation.h
381
382   nodes/COM_KeyingNode.cc
383   nodes/COM_KeyingNode.h
384   operations/COM_KeyingBlurOperation.cc
385   operations/COM_KeyingBlurOperation.h
386   operations/COM_KeyingClipOperation.cc
387   operations/COM_KeyingClipOperation.h
388   operations/COM_KeyingDespillOperation.cc
389   operations/COM_KeyingDespillOperation.h
390   operations/COM_KeyingOperation.cc
391   operations/COM_KeyingOperation.h
392
393   operations/COM_ColorSpillOperation.cc
394   operations/COM_ColorSpillOperation.h
395   operations/COM_RenderLayersProg.cc
396   operations/COM_RenderLayersProg.h
397
398   operations/COM_BokehImageOperation.cc
399   operations/COM_BokehImageOperation.h
400   operations/COM_ImageOperation.cc
401   operations/COM_ImageOperation.h
402   operations/COM_MultilayerImageOperation.cc
403   operations/COM_MultilayerImageOperation.h
404   operations/COM_TextureOperation.cc
405   operations/COM_TextureOperation.h
406
407
408   operations/COM_SocketProxyOperation.cc
409   operations/COM_SocketProxyOperation.h
410
411   operations/COM_CompositorOperation.cc
412   operations/COM_CompositorOperation.h
413   operations/COM_ConvertDepthToRadiusOperation.cc
414   operations/COM_ConvertDepthToRadiusOperation.h
415   operations/COM_OutputFileMultiViewOperation.cc
416   operations/COM_OutputFileMultiViewOperation.h
417   operations/COM_OutputFileOperation.cc
418   operations/COM_OutputFileOperation.h
419   operations/COM_PreviewOperation.cc
420   operations/COM_PreviewOperation.h
421   operations/COM_SplitOperation.cc
422   operations/COM_SplitOperation.h
423   operations/COM_ViewerOperation.cc
424   operations/COM_ViewerOperation.h
425   operations/COM_ZCombineOperation.cc
426   operations/COM_ZCombineOperation.h
427
428   operations/COM_ChangeHSVOperation.cc
429   operations/COM_ChangeHSVOperation.h
430   operations/COM_ChannelMatteOperation.cc
431   operations/COM_ChannelMatteOperation.h
432   operations/COM_ChromaMatteOperation.cc
433   operations/COM_ChromaMatteOperation.h
434   operations/COM_ColorCurveOperation.cc
435   operations/COM_ColorCurveOperation.h
436   operations/COM_ColorExposureOperation.cc
437   operations/COM_ColorExposureOperation.h
438   operations/COM_ColorMatteOperation.cc
439   operations/COM_ColorMatteOperation.h
440   operations/COM_ColorRampOperation.cc
441   operations/COM_ColorRampOperation.h
442   operations/COM_CurveBaseOperation.cc
443   operations/COM_CurveBaseOperation.h
444   operations/COM_DifferenceMatteOperation.cc
445   operations/COM_DifferenceMatteOperation.h
446   operations/COM_DistanceRGBMatteOperation.cc
447   operations/COM_DistanceRGBMatteOperation.h
448   operations/COM_DistanceYCCMatteOperation.cc
449   operations/COM_DistanceYCCMatteOperation.h
450   operations/COM_HueSaturationValueCorrectOperation.cc
451   operations/COM_HueSaturationValueCorrectOperation.h
452   operations/COM_LuminanceMatteOperation.cc
453   operations/COM_LuminanceMatteOperation.h
454   operations/COM_VectorCurveOperation.cc
455   operations/COM_VectorCurveOperation.h
456
457   operations/COM_BrightnessOperation.cc
458   operations/COM_BrightnessOperation.h
459   operations/COM_ColorCorrectionOperation.cc
460   operations/COM_ColorCorrectionOperation.h
461   operations/COM_ConstantOperation.cc
462   operations/COM_ConstantOperation.h
463   operations/COM_GammaOperation.cc
464   operations/COM_GammaOperation.h
465   operations/COM_MixOperation.cc
466   operations/COM_MixOperation.h
467   operations/COM_ReadBufferOperation.cc
468   operations/COM_ReadBufferOperation.h
469   operations/COM_SetColorOperation.cc
470   operations/COM_SetColorOperation.h
471   operations/COM_SetValueOperation.cc
472   operations/COM_SetValueOperation.h
473   operations/COM_SetVectorOperation.cc
474   operations/COM_SetVectorOperation.h
475   operations/COM_WriteBufferOperation.cc
476   operations/COM_WriteBufferOperation.h
477
478   operations/COM_MathBaseOperation.cc
479   operations/COM_MathBaseOperation.h
480
481   operations/COM_AlphaOverKeyOperation.cc
482   operations/COM_AlphaOverKeyOperation.h
483   operations/COM_AlphaOverMixedOperation.cc
484   operations/COM_AlphaOverMixedOperation.h
485   operations/COM_AlphaOverPremultiplyOperation.cc
486   operations/COM_AlphaOverPremultiplyOperation.h
487
488   operations/COM_ColorBalanceASCCDLOperation.cc
489   operations/COM_ColorBalanceASCCDLOperation.h
490   operations/COM_ColorBalanceLGGOperation.cc
491   operations/COM_ColorBalanceLGGOperation.h
492   operations/COM_InvertOperation.cc
493   operations/COM_InvertOperation.h
494   operations/COM_MapRangeOperation.cc
495   operations/COM_MapRangeOperation.h
496   operations/COM_MapValueOperation.cc
497   operations/COM_MapValueOperation.h
498   operations/COM_SetAlphaMultiplyOperation.cc
499   operations/COM_SetAlphaMultiplyOperation.h
500   operations/COM_SetAlphaReplaceOperation.cc
501   operations/COM_SetAlphaReplaceOperation.h
502
503   # Distort operation
504   operations/COM_DisplaceOperation.cc
505   operations/COM_DisplaceOperation.h
506   operations/COM_DisplaceSimpleOperation.cc
507   operations/COM_DisplaceSimpleOperation.h
508   operations/COM_FlipOperation.cc
509   operations/COM_FlipOperation.h
510   operations/COM_MapUVOperation.cc
511   operations/COM_MapUVOperation.h
512   operations/COM_PlaneCornerPinOperation.cc
513   operations/COM_PlaneCornerPinOperation.h
514   operations/COM_PlaneDistortCommonOperation.cc
515   operations/COM_PlaneDistortCommonOperation.h
516   operations/COM_PlaneTrackOperation.cc
517   operations/COM_PlaneTrackOperation.h
518   operations/COM_ProjectorLensDistortionOperation.cc
519   operations/COM_ProjectorLensDistortionOperation.h
520   operations/COM_RotateOperation.cc
521   operations/COM_RotateOperation.h
522   operations/COM_ScaleOperation.cc
523   operations/COM_ScaleOperation.h
524   operations/COM_ScreenLensDistortionOperation.cc
525   operations/COM_ScreenLensDistortionOperation.h
526   operations/COM_TransformOperation.cc
527   operations/COM_TransformOperation.h
528   operations/COM_TranslateOperation.cc
529   operations/COM_TranslateOperation.h
530   operations/COM_WrapOperation.cc
531   operations/COM_WrapOperation.h
532
533   # Filter operations
534   operations/COM_ConvolutionEdgeFilterOperation.cc
535   operations/COM_ConvolutionEdgeFilterOperation.h
536   operations/COM_ConvolutionFilterOperation.cc
537   operations/COM_ConvolutionFilterOperation.h
538   operations/COM_DenoiseOperation.cc
539   operations/COM_DenoiseOperation.h
540   operations/COM_DespeckleOperation.cc
541   operations/COM_DespeckleOperation.h
542   operations/COM_DilateErodeOperation.cc
543   operations/COM_DilateErodeOperation.h
544   operations/COM_GlareBaseOperation.cc
545   operations/COM_GlareBaseOperation.h
546   operations/COM_GlareFogGlowOperation.cc
547   operations/COM_GlareFogGlowOperation.h
548   operations/COM_GlareGhostOperation.cc
549   operations/COM_GlareGhostOperation.h
550   operations/COM_GlareSimpleStarOperation.cc
551   operations/COM_GlareSimpleStarOperation.h
552   operations/COM_GlareStreaksOperation.cc
553   operations/COM_GlareStreaksOperation.h
554   operations/COM_GlareThresholdOperation.cc
555   operations/COM_GlareThresholdOperation.h
556   operations/COM_InpaintOperation.cc
557   operations/COM_InpaintOperation.h
558   operations/COM_SetSamplerOperation.cc
559   operations/COM_SetSamplerOperation.h
560
561
562   # Convert operations
563   operations/COM_ConvertOperation.cc
564   operations/COM_ConvertOperation.h
565   operations/COM_IDMaskOperation.cc
566   operations/COM_IDMaskOperation.h
567
568   operations/COM_DotproductOperation.cc
569   operations/COM_DotproductOperation.h
570
571   # Matte operation
572   operations/COM_BoxMaskOperation.cc
573   operations/COM_BoxMaskOperation.h
574   operations/COM_EllipseMaskOperation.cc
575   operations/COM_EllipseMaskOperation.h
576
577   operations/COM_ConvertColorProfileOperation.cc
578   operations/COM_ConvertColorProfileOperation.h
579   operations/COM_MovieClipOperation.cc
580   operations/COM_MovieClipOperation.h
581
582   operations/COM_AntiAliasOperation.cc
583   operations/COM_AntiAliasOperation.h
584
585   operations/COM_MaskOperation.cc
586   operations/COM_MaskOperation.h
587 )
588
589 set(LIB
590   bf_blenkernel
591   bf_blenlib
592   extern_clew
593 )
594
595 list(APPEND INC
596   ${CMAKE_CURRENT_BINARY_DIR}/operations
597 )
598
599 data_to_c(
600   ${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
601   ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
602   SRC
603 )
604
605 add_definitions(-DCL_USE_DEPRECATED_OPENCL_1_1_APIS)
606
607 set(GENSRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/operations)
608 set(GENSRC ${GENSRC_DIR}/COM_SMAAAreaTexture.h)
609 add_custom_command(
610   OUTPUT ${GENSRC}
611   COMMAND ${CMAKE_COMMAND} -E make_directory ${GENSRC_DIR}
612   COMMAND "$<TARGET_FILE:smaa_areatex>" ${GENSRC}
613   DEPENDS smaa_areatex
614 )
615 add_custom_target(smaa_areatex_header
616   SOURCES ${GENSRC}
617 )
618 list(APPEND SRC
619   ${GENSRC}
620 )
621 unset(GENSRC)
622 unset(GENSRC_DIR)
623
624 if(WITH_INTERNATIONAL)
625   add_definitions(-DWITH_INTERNATIONAL)
626 endif()
627
628 if(WITH_OPENIMAGEDENOISE)
629   add_definitions(-DWITH_OPENIMAGEDENOISE)
630   add_definitions(-DOIDN_STATIC_LIB)
631   list(APPEND INC_SYS
632     ${OPENIMAGEDENOISE_INCLUDE_DIRS}
633     ${TBB_INCLUDE_DIRS}
634   )
635   list(APPEND LIB
636     ${OPENIMAGEDENOISE_LIBRARIES}
637     ${TBB_LIBRARIES}
638   )
639 endif()
640
641 blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
642
643 if(CXX_WARN_NO_SUGGEST_OVERRIDE)
644   target_compile_options(bf_compositor PRIVATE "-Wsuggest-override")
645 endif()
646
647 add_dependencies(bf_compositor smaa_areatex_header)
648
649 if(WITH_GTESTS)
650   set(TEST_SRC
651     tests/COM_BufferArea_test.cc
652     tests/COM_BufferRange_test.cc
653     tests/COM_BuffersIterator_test.cc
654     tests/COM_NodeOperation_test.cc
655   )
656   set(TEST_INC
657   )
658   set(TEST_LIB
659     bf_compositor
660   )
661   include(GTestTesting)
662   blender_add_test_lib(bf_compositor_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
663 endif()