Adds cmake/LiveKitSDK.cmake, adapted from livekit-examples/cpp-example-collection's helper of the same name, with the VERSION="latest" GitHub-API resolution path removed: this project pins an exact client-sdk-cpp release (1.10.1, the newest tag as of today), and the pin should not be silently bypassable. The module also now exports the runtime shared libraries so packaging can stage liblivekit/liblivekit_ffi next to the plugin module later. core/ links LiveKit::livekit PUBLIC. A new smoke test proves the SDK is not just linked but loadable and callable: livekit::initialize()/shutdown() round-trip in-process, a second initialize() reports "already initialized", the log level round-trips, and the SDK's generated LIVEKIT_BUILD_VERSION is asserted equal to the version CMake pinned (so a stale extracted SDK directory fails loudly rather than being silently reused). Also adds core/tests/test_util.h, a dependency-free assertion harness that keeps running after a failure and prints a pass/fail count, so CI output says how much actually ran instead of dying on the first bare assert(). cmake_minimum_required goes 3.16 -> 3.19 (file(ARCHIVE_EXTRACT)). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RL8abRmgFXkVASHkkqiJbE
26 lines
575 B
CMake
26 lines
575 B
CMake
# streamer-tools OBS Camera Plugin - core library
|
|
#
|
|
# No OBS dependency by design (see docs/superpowers/specs/
|
|
# 2026-09-06-obs-camera-plugin-design.md in the streamer-tools repo) --
|
|
# this must build and test headlessly on every platform.
|
|
|
|
add_library(stplugin_core STATIC
|
|
src/core.cpp
|
|
)
|
|
|
|
target_include_directories(stplugin_core
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(stplugin_core
|
|
PUBLIC
|
|
LiveKit::livekit
|
|
)
|
|
|
|
set_target_properties(stplugin_core PROPERTIES
|
|
POSITION_INDEPENDENT_CODE ON
|
|
)
|
|
|
|
add_subdirectory(tests)
|