Files
vizionStreamer/CMakeLists.txt
2025-12-12 10:30:38 +01:00

42 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(vizionStreamer)
set(CMAKE_CXX_STANDARD 23)
# ---------------- Vizion SDK integration ----------------
set(VIZIONSDK_ROOT "/opt/vizionsdk")
set(VIZIONSDK_INCLUDE_DIR "${VIZIONSDK_ROOT}/include")
set(VIZIONSDK_LIB_DIR "${VIZIONSDK_ROOT}/lib")
# Add VizionSDK include directory
include_directories(${VIZIONSDK_INCLUDE_DIR})
# Find VizionSDK library
find_library(VIZIONSDK_LIBRARY
NAMES VizionSDK
PATHS ${VIZIONSDK_LIB_DIR}
NO_DEFAULT_PATH
REQUIRED
)
# Create executable
add_executable(vizionStreamer main.cpp)
# Link VizionSDK library
target_link_libraries(vizionStreamer PRIVATE ${VIZIONSDK_LIBRARY})
# Set RPATH so the executable can find the SDK .so at runtime without needing LD_LIBRARY_PATH
set_target_properties(vizionStreamer PROPERTIES
BUILD_RPATH "${VIZIONSDK_LIB_DIR}"
INSTALL_RPATH "${VIZIONSDK_LIB_DIR}"
)
# Copy VxConfig.conf to build directory on every build
add_custom_command(TARGET vizionStreamer POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/config/VxConfig.conf
${CMAKE_BINARY_DIR}/VxConfig.conf
COMMENT "Copying VxConfig.conf to build directory"
)
# --------------------------------------------------------