1ab41b6740
- New fabric-bridge node: initiator mode reads local MXL flow and transfers via Fabrics (RDMA/TCP); target mode receives remote data and commits to local MXL flow writer - Add set_mxl_instance/get_mxl_instance to Node base class - CMake option DMF_BUILD_FABRICS=OFF by default (needs libfabric) - Target publishes target_info in status for out-of-band exchange - Initiator receives target_info via config parameter
47 lines
1.3 KiB
CMake
47 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.24 FATAL_ERROR)
|
|
|
|
project(dmf-studio
|
|
VERSION 0.1.0
|
|
LANGUAGES CXX C
|
|
)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
|
|
option(DMF_BUILD_TESTS "Build tests" ON)
|
|
option(DMF_BUILD_MXL_TOOLS "Build MXL tools (testsrc, sink)" OFF)
|
|
option(DMF_BUILD_DECKLINK "Build DeckLink I/O nodes" ON)
|
|
option(DMF_BUILD_FABRICS "Build Fabrics bridge nodes" OFF)
|
|
|
|
set(DECKLINK_SDK_DIR "" CACHE PATH "Path to Blackmagic DeckLink SDK root")
|
|
|
|
if(DMF_BUILD_DECKLINK AND DECKLINK_SDK_DIR)
|
|
add_subdirectory(nodes/decklink-in)
|
|
add_subdirectory(nodes/decklink-out)
|
|
endif()
|
|
|
|
if(DMF_BUILD_FABRICS)
|
|
set(MXL_ENABLE_FABRICS_OFI ON CACHE BOOL "" FORCE)
|
|
add_subdirectory(nodes/fabric-bridge)
|
|
endif()
|
|
|
|
find_package(fmt CONFIG REQUIRED)
|
|
find_package(spdlog CONFIG REQUIRED)
|
|
find_package(nlohmann_json CONFIG REQUIRED)
|
|
find_package(Libwebsockets CONFIG REQUIRED)
|
|
find_package(Catch2 CONFIG QUIET)
|
|
|
|
set(BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
add_subdirectory(extern/mxl)
|
|
add_subdirectory(libs/dmf-node)
|
|
add_subdirectory(libs/dmf-engine)
|
|
add_subdirectory(nodes/passthrough)
|
|
add_subdirectory(engine)
|
|
|
|
if(DMF_BUILD_TESTS AND Catch2_FOUND)
|
|
add_subdirectory(tests)
|
|
endif()
|