62 lines
2.1 KiB
CMake
62 lines
2.1 KiB
CMake
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
cmake_minimum_required(VERSION 3.22)
|
|
project(cmvr_media_source_hub LANGUAGES CXX)
|
|
enable_testing()
|
|
endif()
|
|
|
|
add_library(media_source_hub STATIC
|
|
src/media_source_hub.cpp
|
|
)
|
|
|
|
target_compile_features(media_source_hub PUBLIC cxx_std_17)
|
|
target_include_directories(media_source_hub
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../..
|
|
)
|
|
|
|
add_library(cmvr_es::media_source_hub ALIAS media_source_hub)
|
|
|
|
if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
add_library(media_source_hub_device_adapter STATIC
|
|
src/device_media_source_adapter.cpp
|
|
)
|
|
target_compile_features(media_source_hub_device_adapter PUBLIC cxx_std_17)
|
|
target_include_directories(media_source_hub_device_adapter
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../..
|
|
)
|
|
target_link_libraries(media_source_hub_device_adapter
|
|
PUBLIC
|
|
cmvr_es::media_source_hub
|
|
cmvr_es::common
|
|
cmvr_es::proto
|
|
cmvr_es::logging
|
|
)
|
|
add_library(cmvr_es::media_source_hub_device_adapter ALIAS media_source_hub_device_adapter)
|
|
endif()
|
|
|
|
option(CMVR_MEDIA_SOURCE_HUB_BUILD_TESTS
|
|
"Build the standalone MediaSourceHub self-test"
|
|
${PROJECT_IS_TOP_LEVEL})
|
|
|
|
if(CMVR_MEDIA_SOURCE_HUB_BUILD_TESTS)
|
|
find_package(Threads REQUIRED)
|
|
add_executable(media_source_hub_test
|
|
tests/media_source_hub_test.cpp
|
|
)
|
|
target_compile_features(media_source_hub_test PRIVATE cxx_std_17)
|
|
target_link_libraries(media_source_hub_test
|
|
PRIVATE
|
|
cmvr_es::media_source_hub
|
|
Threads::Threads
|
|
)
|
|
# This self-test only links the static Hub and pthreads. In the root build,
|
|
# the project-wide third-party RUNPATH can otherwise make the loader pick up
|
|
# a vendor libstdc++.so (for example from the AUBO SDK), even though the test
|
|
# has no dependency on that SDK.
|
|
set_target_properties(media_source_hub_test PROPERTIES
|
|
SKIP_BUILD_RPATH TRUE
|
|
)
|
|
add_test(NAME media_source_hub_test COMMAND media_source_hub_test)
|
|
endif()
|