This patch allows the compositor context to specify exactly which outputs it needs, selecting from: Composite, Viewer, File Output, and Previews. Previously, the compositor fully executed if any of those were needed, without granular control on which outputs are needed exactly. For the viewport compositor engine, it requests Composite and Viewer, with no Previews or File Outputs. For the render pipeline, it requests Composite and File Output, with node Viewer or Previews. For the interactive compositor, it requests Viewer if the backdrop is visible or an image editor with the viewer image is visible, it requests Compositor if an image editor with the render result is visible, it requests Previews if a node editor has previews overlay enabled. File outputs are never requested. Pull Request: https://projects.blender.org/blender/blender/pulls/133960
103 lines
2.0 KiB
CMake
103 lines
2.0 KiB
CMake
# SPDX-FileCopyrightText: 2023 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(INC
|
|
../include
|
|
../io
|
|
../../compositor
|
|
../../compositor/algorithms
|
|
../../compositor/cached_resources
|
|
../../compositor/derived_resources
|
|
../../compositor/utilities
|
|
../../makesrna
|
|
|
|
# RNA_prototypes.hh
|
|
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
|
)
|
|
|
|
set(INC_SYS
|
|
)
|
|
|
|
set(SRC
|
|
add_menu_assets.cc
|
|
clipboard.cc
|
|
drawnode.cc
|
|
link_drag_search.cc
|
|
node_add.cc
|
|
node_context_path.cc
|
|
node_draw.cc
|
|
node_edit.cc
|
|
node_geometry_attribute_search.cc
|
|
node_gizmo.cc
|
|
node_group.cc
|
|
node_ops.cc
|
|
node_relationships.cc
|
|
node_select.cc
|
|
node_shader_preview.cc
|
|
node_templates.cc
|
|
node_view.cc
|
|
space_node.cc
|
|
|
|
node_intern.hh
|
|
)
|
|
|
|
set(LIB
|
|
PRIVATE bf::animrig
|
|
PRIVATE bf::asset_system
|
|
PRIVATE bf::blenfont
|
|
PRIVATE bf::blenkernel
|
|
PRIVATE bf::blenlib
|
|
PRIVATE bf::blenloader
|
|
PRIVATE bf::blentranslation
|
|
PRIVATE bf::depsgraph
|
|
PRIVATE bf::dna
|
|
PRIVATE bf::draw
|
|
bf_editor_screen
|
|
PRIVATE bf::functions
|
|
PRIVATE bf::geometry
|
|
PRIVATE bf::gpu
|
|
PRIVATE bf::imbuf
|
|
PRIVATE bf::intern::guardedalloc
|
|
bf_compositor
|
|
PRIVATE bf::extern::fmtlib
|
|
PRIVATE bf::nodes
|
|
PRIVATE bf::render
|
|
PRIVATE bf::windowmanager
|
|
)
|
|
|
|
if(WITH_OPENIMAGEDENOISE)
|
|
add_definitions(-DWITH_OPENIMAGEDENOISE)
|
|
endif()
|
|
|
|
if(WITH_OPENSUBDIV)
|
|
add_definitions(-DWITH_OPENSUBDIV)
|
|
endif()
|
|
|
|
if(WITH_OPENVDB)
|
|
list(APPEND INC
|
|
../../../../intern/openvdb
|
|
)
|
|
list(APPEND INC_SYS
|
|
${OPENVDB_INCLUDE_DIRS}
|
|
)
|
|
list(APPEND LIB
|
|
bf_intern_openvdb
|
|
${OPENVDB_LIBRARIES}
|
|
)
|
|
add_definitions(-DWITH_OPENVDB ${OPENVDB_DEFINITIONS})
|
|
endif()
|
|
|
|
if(WITH_TBB)
|
|
if(WIN32)
|
|
# TBB includes `Windows.h` which will define min/max macros
|
|
# that will collide with the STL versions.
|
|
add_definitions(-DNOMINMAX)
|
|
endif()
|
|
endif()
|
|
|
|
blender_add_lib(bf_editor_space_node "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
|
|
# RNA_prototypes.hh dna_type_offsets.h
|
|
add_dependencies(bf_editor_space_node bf_rna)
|