Files
oak-editor/engine/src/capi/CMakeLists.txt
T
Mike-Solar b26ffb7d64 engine: add the renderer family to the C ABI facade
- oakengine_renderer_create/set_mode/last_error, render_frame (sync,
  60s timeout, CPU frames via the existing worker pool),
  render_audio (planar float), cancel; frames and audio buffers are
  owned handles with borrowed data pointers
- output colorspace names map to OCIO display transforms, with
  graceful fallback to reference-space output
- oakengine_renderer_test: parameter validation and error paths need
  no GL and always run; render assertions gate on
  DynamicRenderer backend availability and SKIP cleanly otherwise
- fix a facade bug found by its own test: wait_for_ticket leaked a
  connected lambda capturing a stack reference, which a subsequent
  cancelled ticket could fire into reused stack memory
2026-07-20 05:26:42 +08:00

35 lines
1.3 KiB
CMake

# Oak - Non-Linear Video Editor
# Copyright (C) 2026 Oak Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# C ABI facade of liboakengine (mirrors the pattern documented in
# render/ipc/CMakeLists.txt):
# - include/oakengine/*.h public C API
# - src/capi/*.cpp C ABI implementations
# The init/project/timeline families wrap the engine core, the project
# serializer and the sequence/viewer timeline objects.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
include/oakengine/init.h
include/oakengine/project.h
include/oakengine/timeline.h
include/oakengine/renderer.h
src/capi/init.cpp
src/capi/project.cpp
src/capi/timeline.cpp
src/capi/renderer.cpp
PARENT_SCOPE
)