Files
cuframes/CMakeLists.txt
gx a7da4ea728 python: skeleton pybind11 bindings (issue #6 task #197)
Каркас Python-пакета `cuframes`:
- python/pyproject.toml — scikit-build-core конфиг
- python/CMakeLists.txt — pybind11 module через FetchContent
- python/src/_native.cpp — module entry, error таксономия,
  enum mirrors (PixelFormat, SubscriberMode), version
- python/cuframes/__init__.py — re-export публичного API
- python/tests/test_smoke.py — smoke tests без real subscribe
- python/README.md — статус + build instructions
- CMakeLists.txt — подключение python/ при BUILD_PYTHON_BINDINGS=ON

Реальный subscriber/frame wrapper в следующих коммитах
(tasks #198-#202).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-13 12:59:04 +01:00

46 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(cuframes
VERSION 0.4.0
DESCRIPTION "Zero-copy frame sharing via CUDA VMM + POSIX FD"
LANGUAGES C CXX CUDA
)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
set(CMAKE_CUDA_ARCHITECTURES "75;86;89;90;120")
endif()
option(BUILD_TESTING "Build tests" ON)
option(BUILD_EXAMPLES "Build examples" ON)
option(BUILD_FFMPEG_FILTER "Build FFmpeg vf_cuda_ipc_export filter (out-of-tree, требует patch FFmpeg)" OFF)
option(BUILD_PYTHON_BINDINGS "Build Python bindings (Phase 3+)" OFF)
option(BUILD_TOOLS "Build standalone tools (cuframes-rtsp-source)" ON)
enable_testing()
add_subdirectory(libcuframes)
if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
if(BUILD_FFMPEG_FILTER)
add_subdirectory(filter)
endif()
if(BUILD_TOOLS)
add_subdirectory(tools/cuframes-rtsp-source)
endif()
if(BUILD_PYTHON_BINDINGS)
add_subdirectory(python)
endif()