46 lines
1.3 KiB
CMake
46 lines
1.3 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
|
|
SocketServer.cpp
|
|
CameraController.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"
|
|
)
|
|
# --------------------------------------------------------
|