This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/compositor/CMakeLists.txt
Omar Emara 624b0ac656 Realtime Compositor: Add evaluator and engine
This patch adds the core realtime compositor evaluator as well as a
compositor draw engine powered by the evaluator that operates in the
viewport. The realtime compositor is a new GPU accelerated compositor
that will be used to power the viewport compositor imminently as well as
the existing compositor in the future.

This patch only adds the evaluator and engine as an experimental
feature, the implementation of the nodes themselves will be committed
separately.

See T99210.

Differential Revision: https://developer.blender.org/D15206

Reviewed By: Clement Foucault
2022-08-10 09:14:22 +02:00

683 lines
21 KiB
CMake

# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright 2011 Blender Foundation. All rights reserved.
add_subdirectory(realtime_compositor)
if(WITH_COMPOSITOR_CPU)
set(INC
.
intern
nodes
operations
../blenkernel
../blenlib
../blentranslation
../depsgraph
../imbuf
../makesdna
../makesrna
../nodes
../windowmanager
../nodes/composite
../nodes/intern
../render
../render/intern
../../../extern/clew/include
../../../intern/atomic
../../../intern/clog
../../../intern/guardedalloc
# dna_type_offsets.h
${CMAKE_CURRENT_BINARY_DIR}/../makesdna/intern
# RNA_prototypes.h
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
)
set(SRC
COM_compositor.h
COM_defines.h
intern/COM_BufferArea.h
intern/COM_BufferOperation.cc
intern/COM_BufferOperation.h
intern/COM_BufferRange.h
intern/COM_BuffersIterator.h
intern/COM_CPUDevice.cc
intern/COM_CPUDevice.h
intern/COM_ChunkOrder.cc
intern/COM_ChunkOrder.h
intern/COM_ChunkOrderHotspot.cc
intern/COM_ChunkOrderHotspot.h
intern/COM_CompositorContext.cc
intern/COM_CompositorContext.h
intern/COM_ConstantFolder.cc
intern/COM_ConstantFolder.h
intern/COM_Converter.cc
intern/COM_Converter.h
intern/COM_Debug.cc
intern/COM_Debug.h
intern/COM_Device.cc
intern/COM_Device.h
intern/COM_Enums.cc
intern/COM_Enums.h
intern/COM_ExecutionGroup.cc
intern/COM_ExecutionGroup.h
intern/COM_ExecutionModel.cc
intern/COM_ExecutionModel.h
intern/COM_ExecutionSystem.cc
intern/COM_ExecutionSystem.h
intern/COM_FullFrameExecutionModel.cc
intern/COM_FullFrameExecutionModel.h
intern/COM_MemoryBuffer.cc
intern/COM_MemoryBuffer.h
intern/COM_MemoryProxy.cc
intern/COM_MemoryProxy.h
intern/COM_MetaData.cc
intern/COM_MetaData.h
intern/COM_MultiThreadedOperation.cc
intern/COM_MultiThreadedOperation.h
intern/COM_MultiThreadedRowOperation.cc
intern/COM_MultiThreadedRowOperation.h
intern/COM_Node.cc
intern/COM_Node.h
intern/COM_NodeConverter.cc
intern/COM_NodeConverter.h
intern/COM_NodeGraph.cc
intern/COM_NodeGraph.h
intern/COM_NodeOperation.cc
intern/COM_NodeOperation.h
intern/COM_NodeOperationBuilder.cc
intern/COM_NodeOperationBuilder.h
intern/COM_OpenCLDevice.cc
intern/COM_OpenCLDevice.h
intern/COM_SharedOperationBuffers.cc
intern/COM_SharedOperationBuffers.h
intern/COM_SingleThreadedOperation.cc
intern/COM_SingleThreadedOperation.h
intern/COM_TiledExecutionModel.cc
intern/COM_TiledExecutionModel.h
intern/COM_WorkPackage.cc
intern/COM_WorkPackage.h
intern/COM_WorkScheduler.cc
intern/COM_WorkScheduler.h
intern/COM_compositor.cc
operations/COM_QualityStepHelper.cc
operations/COM_QualityStepHelper.h
# Internal nodes
nodes/COM_SocketProxyNode.cc
nodes/COM_SocketProxyNode.h
# input nodes
nodes/COM_BokehImageNode.cc
nodes/COM_BokehImageNode.h
nodes/COM_ColorNode.cc
nodes/COM_ColorNode.h
nodes/COM_ImageNode.cc
nodes/COM_ImageNode.h
nodes/COM_MaskNode.cc
nodes/COM_MaskNode.h
nodes/COM_MovieClipNode.cc
nodes/COM_MovieClipNode.h
nodes/COM_OutputFileNode.cc
nodes/COM_OutputFileNode.h
nodes/COM_RenderLayersNode.cc
nodes/COM_RenderLayersNode.h
nodes/COM_SceneTimeNode.cc
nodes/COM_SceneTimeNode.h
nodes/COM_SwitchNode.cc
nodes/COM_SwitchNode.h
nodes/COM_SwitchViewNode.cc
nodes/COM_SwitchViewNode.h
nodes/COM_TextureNode.cc
nodes/COM_TextureNode.h
nodes/COM_TimeNode.cc
nodes/COM_TimeNode.h
nodes/COM_ValueNode.cc
nodes/COM_ValueNode.h
# output nodes
nodes/COM_CompositorNode.cc
nodes/COM_CompositorNode.h
nodes/COM_SplitViewerNode.cc
nodes/COM_SplitViewerNode.h
nodes/COM_ViewLevelsNode.cc
nodes/COM_ViewLevelsNode.h
nodes/COM_ViewerNode.cc
nodes/COM_ViewerNode.h
operations/COM_CalculateMeanOperation.cc
operations/COM_CalculateMeanOperation.h
operations/COM_CalculateStandardDeviationOperation.cc
operations/COM_CalculateStandardDeviationOperation.h
# distort nodes
nodes/COM_FlipNode.cc
nodes/COM_FlipNode.h
nodes/COM_RotateNode.cc
nodes/COM_RotateNode.h
nodes/COM_ScaleNode.cc
nodes/COM_ScaleNode.h
nodes/COM_TranslateNode.cc
nodes/COM_TranslateNode.h
nodes/COM_DisplaceNode.cc
nodes/COM_DisplaceNode.h
nodes/COM_MapUVNode.cc
nodes/COM_MapUVNode.h
nodes/COM_ChannelMatteNode.cc
nodes/COM_ChannelMatteNode.h
nodes/COM_ChromaMatteNode.cc
nodes/COM_ChromaMatteNode.h
nodes/COM_ColorMatteNode.cc
nodes/COM_ColorMatteNode.h
nodes/COM_DifferenceMatteNode.cc
nodes/COM_DifferenceMatteNode.h
nodes/COM_DistanceMatteNode.cc
nodes/COM_DistanceMatteNode.h
nodes/COM_LensDistortionNode.cc
nodes/COM_LensDistortionNode.h
nodes/COM_LuminanceMatteNode.cc
nodes/COM_LuminanceMatteNode.h
nodes/COM_GlareNode.cc
nodes/COM_GlareNode.h
nodes/COM_SunBeamsNode.cc
nodes/COM_SunBeamsNode.h
operations/COM_SunBeamsOperation.cc
operations/COM_SunBeamsOperation.h
nodes/COM_CryptomatteNode.cc
nodes/COM_CryptomatteNode.h
operations/COM_CryptomatteOperation.cc
operations/COM_CryptomatteOperation.h
nodes/COM_CornerPinNode.cc
nodes/COM_CornerPinNode.h
nodes/COM_PlaneTrackDeformNode.cc
nodes/COM_PlaneTrackDeformNode.h
nodes/COM_CropNode.cc
nodes/COM_CropNode.h
operations/COM_CropOperation.cc
operations/COM_CropOperation.h
nodes/COM_DefocusNode.cc
nodes/COM_DefocusNode.h
nodes/COM_MovieDistortionNode.cc
nodes/COM_MovieDistortionNode.h
nodes/COM_Stabilize2dNode.cc
nodes/COM_Stabilize2dNode.h
nodes/COM_TransformNode.cc
nodes/COM_TransformNode.h
# color nodes
nodes/COM_AlphaOverNode.cc
nodes/COM_AlphaOverNode.h
nodes/COM_BrightnessNode.cc
nodes/COM_BrightnessNode.h
nodes/COM_ColorBalanceNode.cc
nodes/COM_ColorBalanceNode.h
nodes/COM_ColorCorrectionNode.cc
nodes/COM_ColorCorrectionNode.h
nodes/COM_ColorCurveNode.cc
nodes/COM_ColorCurveNode.h
nodes/COM_ColorExposureNode.cc
nodes/COM_ColorExposureNode.h
nodes/COM_ColorRampNode.cc
nodes/COM_ColorRampNode.h
nodes/COM_ColorToBWNode.cc
nodes/COM_ColorToBWNode.h
nodes/COM_ConvertAlphaNode.cc
nodes/COM_ConvertAlphaNode.h
nodes/COM_ConvertColorSpaceNode.cc
nodes/COM_ConvertColorSpaceNode.h
nodes/COM_GammaNode.cc
nodes/COM_GammaNode.h
nodes/COM_HueSaturationValueCorrectNode.cc
nodes/COM_HueSaturationValueCorrectNode.h
nodes/COM_HueSaturationValueNode.cc
nodes/COM_HueSaturationValueNode.h
nodes/COM_InvertNode.cc
nodes/COM_InvertNode.h
nodes/COM_MixNode.cc
nodes/COM_MixNode.h
nodes/COM_SetAlphaNode.cc
nodes/COM_SetAlphaNode.h
nodes/COM_TonemapNode.cc
nodes/COM_TonemapNode.h
nodes/COM_VectorCurveNode.cc
nodes/COM_VectorCurveNode.h
nodes/COM_ZCombineNode.cc
nodes/COM_ZCombineNode.h
operations/COM_TonemapOperation.cc
operations/COM_TonemapOperation.h
# converter nodes
nodes/COM_CombineColorNode.cc
nodes/COM_CombineColorNode.h
nodes/COM_CombineColorNodeLegacy.cc
nodes/COM_CombineColorNodeLegacy.h
nodes/COM_CombineXYZNode.cc
nodes/COM_CombineXYZNode.h
nodes/COM_IDMaskNode.cc
nodes/COM_IDMaskNode.h
nodes/COM_SeparateColorNode.cc
nodes/COM_SeparateColorNode.h
nodes/COM_SeparateColorNodeLegacy.cc
nodes/COM_SeparateColorNodeLegacy.h
nodes/COM_SeparateXYZNode.cc
nodes/COM_SeparateXYZNode.h
nodes/COM_MapRangeNode.cc
nodes/COM_MapRangeNode.h
nodes/COM_MapValueNode.cc
nodes/COM_MapValueNode.h
nodes/COM_MathNode.cc
nodes/COM_MathNode.h
nodes/COM_NormalNode.cc
nodes/COM_NormalNode.h
nodes/COM_NormalizeNode.cc
nodes/COM_NormalizeNode.h
operations/COM_NormalizeOperation.cc
operations/COM_NormalizeOperation.h
nodes/COM_PixelateNode.cc
nodes/COM_PixelateNode.h
operations/COM_PixelateOperation.cc
operations/COM_PixelateOperation.h
# Filter nodes
nodes/COM_BilateralBlurNode.cc
nodes/COM_BilateralBlurNode.h
operations/COM_BilateralBlurOperation.cc
operations/COM_BilateralBlurOperation.h
nodes/COM_VectorBlurNode.cc
nodes/COM_VectorBlurNode.h
operations/COM_VectorBlurOperation.cc
operations/COM_VectorBlurOperation.h
nodes/COM_AntiAliasingNode.cc
nodes/COM_AntiAliasingNode.h
nodes/COM_BlurNode.cc
nodes/COM_BlurNode.h
nodes/COM_BokehBlurNode.cc
nodes/COM_BokehBlurNode.h
nodes/COM_DenoiseNode.cc
nodes/COM_DenoiseNode.h
nodes/COM_DespeckleNode.cc
nodes/COM_DespeckleNode.h
nodes/COM_DilateErodeNode.cc
nodes/COM_DilateErodeNode.h
nodes/COM_DirectionalBlurNode.cc
nodes/COM_DirectionalBlurNode.h
nodes/COM_FilterNode.cc
nodes/COM_FilterNode.h
nodes/COM_InpaintNode.cc
nodes/COM_InpaintNode.h
nodes/COM_PosterizeNode.cc
nodes/COM_PosterizeNode.h
operations/COM_BlurBaseOperation.cc
operations/COM_BlurBaseOperation.h
operations/COM_BokehBlurOperation.cc
operations/COM_BokehBlurOperation.h
operations/COM_DirectionalBlurOperation.cc
operations/COM_DirectionalBlurOperation.h
operations/COM_FastGaussianBlurOperation.cc
operations/COM_FastGaussianBlurOperation.h
operations/COM_GammaCorrectOperation.cc
operations/COM_GammaCorrectOperation.h
operations/COM_GaussianAlphaBlurBaseOperation.cc
operations/COM_GaussianAlphaBlurBaseOperation.h
operations/COM_GaussianAlphaXBlurOperation.cc
operations/COM_GaussianAlphaXBlurOperation.h
operations/COM_GaussianAlphaYBlurOperation.cc
operations/COM_GaussianAlphaYBlurOperation.h
operations/COM_GaussianBlurBaseOperation.cc
operations/COM_GaussianBlurBaseOperation.h
operations/COM_GaussianBokehBlurOperation.cc
operations/COM_GaussianBokehBlurOperation.h
operations/COM_GaussianXBlurOperation.cc
operations/COM_GaussianXBlurOperation.h
operations/COM_GaussianYBlurOperation.cc
operations/COM_GaussianYBlurOperation.h
operations/COM_MovieClipAttributeOperation.cc
operations/COM_MovieClipAttributeOperation.h
operations/COM_MovieDistortionOperation.cc
operations/COM_MovieDistortionOperation.h
operations/COM_PosterizeOperation.cc
operations/COM_PosterizeOperation.h
operations/COM_SMAAOperation.cc
operations/COM_SMAAOperation.h
operations/COM_VariableSizeBokehBlurOperation.cc
operations/COM_VariableSizeBokehBlurOperation.h
# Matte nodes
nodes/COM_BoxMaskNode.cc
nodes/COM_BoxMaskNode.h
nodes/COM_ColorSpillNode.cc
nodes/COM_ColorSpillNode.h
nodes/COM_DoubleEdgeMaskNode.cc
nodes/COM_DoubleEdgeMaskNode.h
nodes/COM_EllipseMaskNode.cc
nodes/COM_EllipseMaskNode.h
operations/COM_DoubleEdgeMaskOperation.cc
operations/COM_DoubleEdgeMaskOperation.h
nodes/COM_KeyingScreenNode.cc
nodes/COM_KeyingScreenNode.h
operations/COM_KeyingScreenOperation.cc
operations/COM_KeyingScreenOperation.h
nodes/COM_TrackPositionNode.cc
nodes/COM_TrackPositionNode.h
operations/COM_TrackPositionOperation.cc
operations/COM_TrackPositionOperation.h
nodes/COM_KeyingNode.cc
nodes/COM_KeyingNode.h
operations/COM_KeyingBlurOperation.cc
operations/COM_KeyingBlurOperation.h
operations/COM_KeyingClipOperation.cc
operations/COM_KeyingClipOperation.h
operations/COM_KeyingDespillOperation.cc
operations/COM_KeyingDespillOperation.h
operations/COM_KeyingOperation.cc
operations/COM_KeyingOperation.h
operations/COM_ColorSpillOperation.cc
operations/COM_ColorSpillOperation.h
operations/COM_RenderLayersProg.cc
operations/COM_RenderLayersProg.h
operations/COM_BokehImageOperation.cc
operations/COM_BokehImageOperation.h
operations/COM_ImageOperation.cc
operations/COM_ImageOperation.h
operations/COM_MultilayerImageOperation.cc
operations/COM_MultilayerImageOperation.h
operations/COM_TextureOperation.cc
operations/COM_TextureOperation.h
operations/COM_SocketProxyOperation.cc
operations/COM_SocketProxyOperation.h
operations/COM_CompositorOperation.cc
operations/COM_CompositorOperation.h
operations/COM_ConvertDepthToRadiusOperation.cc
operations/COM_ConvertDepthToRadiusOperation.h
operations/COM_OutputFileMultiViewOperation.cc
operations/COM_OutputFileMultiViewOperation.h
operations/COM_OutputFileOperation.cc
operations/COM_OutputFileOperation.h
operations/COM_PreviewOperation.cc
operations/COM_PreviewOperation.h
operations/COM_SplitOperation.cc
operations/COM_SplitOperation.h
operations/COM_ViewerOperation.cc
operations/COM_ViewerOperation.h
operations/COM_ZCombineOperation.cc
operations/COM_ZCombineOperation.h
operations/COM_ChangeHSVOperation.cc
operations/COM_ChangeHSVOperation.h
operations/COM_ChannelMatteOperation.cc
operations/COM_ChannelMatteOperation.h
operations/COM_ChromaMatteOperation.cc
operations/COM_ChromaMatteOperation.h
operations/COM_ColorCurveOperation.cc
operations/COM_ColorCurveOperation.h
operations/COM_ColorExposureOperation.cc
operations/COM_ColorExposureOperation.h
operations/COM_ColorMatteOperation.cc
operations/COM_ColorMatteOperation.h
operations/COM_ColorRampOperation.cc
operations/COM_ColorRampOperation.h
operations/COM_CurveBaseOperation.cc
operations/COM_CurveBaseOperation.h
operations/COM_DifferenceMatteOperation.cc
operations/COM_DifferenceMatteOperation.h
operations/COM_DistanceRGBMatteOperation.cc
operations/COM_DistanceRGBMatteOperation.h
operations/COM_DistanceYCCMatteOperation.cc
operations/COM_DistanceYCCMatteOperation.h
operations/COM_HueSaturationValueCorrectOperation.cc
operations/COM_HueSaturationValueCorrectOperation.h
operations/COM_LuminanceMatteOperation.cc
operations/COM_LuminanceMatteOperation.h
operations/COM_VectorCurveOperation.cc
operations/COM_VectorCurveOperation.h
operations/COM_BrightnessOperation.cc
operations/COM_BrightnessOperation.h
operations/COM_ColorCorrectionOperation.cc
operations/COM_ColorCorrectionOperation.h
operations/COM_ConstantOperation.cc
operations/COM_ConstantOperation.h
operations/COM_GammaOperation.cc
operations/COM_GammaOperation.h
operations/COM_MixOperation.cc
operations/COM_MixOperation.h
operations/COM_ReadBufferOperation.cc
operations/COM_ReadBufferOperation.h
operations/COM_SetColorOperation.cc
operations/COM_SetColorOperation.h
operations/COM_SetValueOperation.cc
operations/COM_SetValueOperation.h
operations/COM_SetVectorOperation.cc
operations/COM_SetVectorOperation.h
operations/COM_WriteBufferOperation.cc
operations/COM_WriteBufferOperation.h
operations/COM_MathBaseOperation.cc
operations/COM_MathBaseOperation.h
operations/COM_AlphaOverKeyOperation.cc
operations/COM_AlphaOverKeyOperation.h
operations/COM_AlphaOverMixedOperation.cc
operations/COM_AlphaOverMixedOperation.h
operations/COM_AlphaOverPremultiplyOperation.cc
operations/COM_AlphaOverPremultiplyOperation.h
operations/COM_ColorBalanceASCCDLOperation.cc
operations/COM_ColorBalanceASCCDLOperation.h
operations/COM_ColorBalanceLGGOperation.cc
operations/COM_ColorBalanceLGGOperation.h
operations/COM_InvertOperation.cc
operations/COM_InvertOperation.h
operations/COM_MapRangeOperation.cc
operations/COM_MapRangeOperation.h
operations/COM_MapValueOperation.cc
operations/COM_MapValueOperation.h
operations/COM_SetAlphaMultiplyOperation.cc
operations/COM_SetAlphaMultiplyOperation.h
operations/COM_SetAlphaReplaceOperation.cc
operations/COM_SetAlphaReplaceOperation.h
# Distort operation
operations/COM_DisplaceOperation.cc
operations/COM_DisplaceOperation.h
operations/COM_DisplaceSimpleOperation.cc
operations/COM_DisplaceSimpleOperation.h
operations/COM_FlipOperation.cc
operations/COM_FlipOperation.h
operations/COM_MapUVOperation.cc
operations/COM_MapUVOperation.h
operations/COM_PlaneCornerPinOperation.cc
operations/COM_PlaneCornerPinOperation.h
operations/COM_PlaneDistortCommonOperation.cc
operations/COM_PlaneDistortCommonOperation.h
operations/COM_PlaneTrackOperation.cc
operations/COM_PlaneTrackOperation.h
operations/COM_ProjectorLensDistortionOperation.cc
operations/COM_ProjectorLensDistortionOperation.h
operations/COM_RotateOperation.cc
operations/COM_RotateOperation.h
operations/COM_ScaleOperation.cc
operations/COM_ScaleOperation.h
operations/COM_ScreenLensDistortionOperation.cc
operations/COM_ScreenLensDistortionOperation.h
operations/COM_TransformOperation.cc
operations/COM_TransformOperation.h
operations/COM_TranslateOperation.cc
operations/COM_TranslateOperation.h
operations/COM_WrapOperation.cc
operations/COM_WrapOperation.h
# Filter operations
operations/COM_ConvolutionEdgeFilterOperation.cc
operations/COM_ConvolutionEdgeFilterOperation.h
operations/COM_ConvolutionFilterOperation.cc
operations/COM_ConvolutionFilterOperation.h
operations/COM_DenoiseOperation.cc
operations/COM_DenoiseOperation.h
operations/COM_DespeckleOperation.cc
operations/COM_DespeckleOperation.h
operations/COM_DilateErodeOperation.cc
operations/COM_DilateErodeOperation.h
operations/COM_GlareBaseOperation.cc
operations/COM_GlareBaseOperation.h
operations/COM_GlareFogGlowOperation.cc
operations/COM_GlareFogGlowOperation.h
operations/COM_GlareGhostOperation.cc
operations/COM_GlareGhostOperation.h
operations/COM_GlareSimpleStarOperation.cc
operations/COM_GlareSimpleStarOperation.h
operations/COM_GlareStreaksOperation.cc
operations/COM_GlareStreaksOperation.h
operations/COM_GlareThresholdOperation.cc
operations/COM_GlareThresholdOperation.h
operations/COM_InpaintOperation.cc
operations/COM_InpaintOperation.h
operations/COM_SetSamplerOperation.cc
operations/COM_SetSamplerOperation.h
# Convert operations
operations/COM_ConvertOperation.cc
operations/COM_ConvertOperation.h
operations/COM_IDMaskOperation.cc
operations/COM_IDMaskOperation.h
operations/COM_ConvertColorSpaceOperation.cc
operations/COM_ConvertColorSpaceOperation.h
operations/COM_DotproductOperation.cc
operations/COM_DotproductOperation.h
# Matte operation
operations/COM_BoxMaskOperation.cc
operations/COM_BoxMaskOperation.h
operations/COM_EllipseMaskOperation.cc
operations/COM_EllipseMaskOperation.h
operations/COM_ConvertColorProfileOperation.cc
operations/COM_ConvertColorProfileOperation.h
operations/COM_MovieClipOperation.cc
operations/COM_MovieClipOperation.h
operations/COM_AntiAliasOperation.cc
operations/COM_AntiAliasOperation.h
operations/COM_MaskOperation.cc
operations/COM_MaskOperation.h
)
set(LIB
bf_blenkernel
bf_blenlib
extern_clew
)
list(APPEND INC
${CMAKE_CURRENT_BINARY_DIR}/operations
)
data_to_c(
${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
SRC
)
add_definitions(-DCL_USE_DEPRECATED_OPENCL_1_1_APIS)
set(GENSRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/operations)
set(GENSRC ${GENSRC_DIR}/COM_SMAAAreaTexture.h)
add_custom_command(
OUTPUT ${GENSRC}
COMMAND ${CMAKE_COMMAND} -E make_directory ${GENSRC_DIR}
COMMAND "$<TARGET_FILE:smaa_areatex>" ${GENSRC}
DEPENDS smaa_areatex
)
add_custom_target(smaa_areatex_header
SOURCES ${GENSRC}
)
list(APPEND SRC
${GENSRC}
)
unset(GENSRC)
unset(GENSRC_DIR)
if(WITH_OPENIMAGEDENOISE)
add_definitions(-DWITH_OPENIMAGEDENOISE)
add_definitions(-DOIDN_STATIC_LIB)
list(APPEND INC_SYS
${OPENIMAGEDENOISE_INCLUDE_DIRS}
${TBB_INCLUDE_DIRS}
)
list(APPEND LIB
${OPENIMAGEDENOISE_LIBRARIES}
${TBB_LIBRARIES}
)
endif()
blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
if(WITH_UNITY_BUILD)
set_target_properties(bf_compositor PROPERTIES UNITY_BUILD ON)
set_target_properties(bf_compositor PROPERTIES UNITY_BUILD_BATCH_SIZE 10)
endif()
if(COMMAND target_precompile_headers)
target_precompile_headers(bf_compositor PRIVATE COM_precomp.h)
endif()
if(CXX_WARN_NO_SUGGEST_OVERRIDE)
target_compile_options(bf_compositor PRIVATE "-Wsuggest-override")
endif()
add_dependencies(bf_compositor smaa_areatex_header)
if(WITH_GTESTS)
set(TEST_SRC
tests/COM_BufferArea_test.cc
tests/COM_BufferRange_test.cc
tests/COM_BuffersIterator_test.cc
tests/COM_NodeOperation_test.cc
)
set(TEST_INC
)
set(TEST_LIB
bf_compositor
)
include(GTestTesting)
blender_add_test_lib(bf_compositor_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
endif()
# Needed so we can use dna_type_offsets.h for defaults initialization.
add_dependencies(bf_compositor bf_dna)
# RNA_prototypes.h
add_dependencies(bf_compositor bf_rna)
# End WITH_COMPOSITOR_CPU.
endif()