refactor(build): move vendored deps to third_party
This commit is contained in:
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
[submodule "lib/CLI11"]
|
[submodule "third_party/CLI11"]
|
||||||
path = lib/CLI11
|
path = third_party/CLI11
|
||||||
url = https://github.com/CLIUtils/CLI11
|
url = https://github.com/CLIUtils/CLI11
|
||||||
[submodule "lib/proxy"]
|
[submodule "third_party/proxy"]
|
||||||
path = lib/proxy
|
path = third_party/proxy
|
||||||
url = https://github.com/ngcpp/proxy
|
url = https://github.com/ngcpp/proxy
|
||||||
|
|||||||
+12
-35
@@ -25,9 +25,7 @@ find_package(Protobuf REQUIRED)
|
|||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
find_package(rvl CONFIG QUIET)
|
find_package(rvl CONFIG QUIET)
|
||||||
|
|
||||||
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/CMakeLists.txt")
|
add_subdirectory(third_party)
|
||||||
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/lib/CLI11" "${CMAKE_CURRENT_BINARY_DIR}/vendor/cli11")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavcodec libavformat libavutil libswscale)
|
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavcodec libavformat libavutil libswscale)
|
||||||
pkg_check_modules(PROTOBUF_PKG QUIET IMPORTED_TARGET protobuf)
|
pkg_check_modules(PROTOBUF_PKG QUIET IMPORTED_TARGET protobuf)
|
||||||
@@ -64,11 +62,6 @@ if (NOT TARGET rvl::rvl)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CVMMAP_PROXY_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/lib/proxy/include")
|
|
||||||
if (NOT EXISTS "${CVMMAP_PROXY_INCLUDE_DIR}/proxy/proxy.h")
|
|
||||||
message(FATAL_ERROR "proxy headers not found at ${CVMMAP_PROXY_INCLUDE_DIR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(cvmmap_streamer_foxglove_proto STATIC)
|
add_library(cvmmap_streamer_foxglove_proto STATIC)
|
||||||
protobuf_generate(
|
protobuf_generate(
|
||||||
TARGET cvmmap_streamer_foxglove_proto
|
TARGET cvmmap_streamer_foxglove_proto
|
||||||
@@ -109,10 +102,10 @@ target_link_libraries(cvmmap_streamer_depth_proto PUBLIC cvmmap_streamer_protobu
|
|||||||
add_library(cvmmap_streamer_mcap_runtime STATIC
|
add_library(cvmmap_streamer_mcap_runtime STATIC
|
||||||
src/record/mcap_runtime.cpp)
|
src/record/mcap_runtime.cpp)
|
||||||
target_include_directories(cvmmap_streamer_mcap_runtime
|
target_include_directories(cvmmap_streamer_mcap_runtime
|
||||||
PUBLIC
|
PUBLIC)
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include")
|
|
||||||
target_link_libraries(cvmmap_streamer_mcap_runtime
|
target_link_libraries(cvmmap_streamer_mcap_runtime
|
||||||
PUBLIC
|
PUBLIC
|
||||||
|
mcap::mcap
|
||||||
PkgConfig::ZSTD
|
PkgConfig::ZSTD
|
||||||
PkgConfig::LZ4)
|
PkgConfig::LZ4)
|
||||||
|
|
||||||
@@ -135,10 +128,6 @@ add_library(cvmmap_streamer_common STATIC
|
|||||||
target_include_directories(cvmmap_streamer_common
|
target_include_directories(cvmmap_streamer_common
|
||||||
PUBLIC
|
PUBLIC
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/include"
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/tomlplusplus/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
|
|
||||||
"${CVMMAP_PROXY_INCLUDE_DIR}"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
set(CVMMAP_STREAMER_LINK_DEPS
|
set(CVMMAP_STREAMER_LINK_DEPS
|
||||||
@@ -150,7 +139,11 @@ set(CVMMAP_STREAMER_LINK_DEPS
|
|||||||
PkgConfig::ZSTD
|
PkgConfig::ZSTD
|
||||||
PkgConfig::LZ4
|
PkgConfig::LZ4
|
||||||
rvl::rvl
|
rvl::rvl
|
||||||
cvmmap::client)
|
cvmmap::client
|
||||||
|
CLI11::CLI11
|
||||||
|
tomlplusplus::tomlplusplus
|
||||||
|
mcap::mcap
|
||||||
|
msft_proxy4::proxy)
|
||||||
|
|
||||||
if (TARGET cppzmq::cppzmq)
|
if (TARGET cppzmq::cppzmq)
|
||||||
list(APPEND CVMMAP_STREAMER_LINK_DEPS cppzmq::cppzmq)
|
list(APPEND CVMMAP_STREAMER_LINK_DEPS cppzmq::cppzmq)
|
||||||
@@ -170,10 +163,6 @@ elseif (TARGET spdlog)
|
|||||||
list(APPEND CVMMAP_STREAMER_LINK_DEPS spdlog)
|
list(APPEND CVMMAP_STREAMER_LINK_DEPS spdlog)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TARGET CLI11::CLI11)
|
|
||||||
list(APPEND CVMMAP_STREAMER_LINK_DEPS CLI11::CLI11)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND CVMMAP_STREAMER_LINK_DEPS cvmmap_streamer_protobuf)
|
list(APPEND CVMMAP_STREAMER_LINK_DEPS cvmmap_streamer_protobuf)
|
||||||
if (TARGET PkgConfig::PROTOBUF_PKG)
|
if (TARGET PkgConfig::PROTOBUF_PKG)
|
||||||
list(APPEND CVMMAP_STREAMER_LINK_DEPS PkgConfig::PROTOBUF_PKG)
|
list(APPEND CVMMAP_STREAMER_LINK_DEPS PkgConfig::PROTOBUF_PKG)
|
||||||
@@ -186,10 +175,6 @@ function(add_cvmmap_binary target source)
|
|||||||
target_include_directories(${target}
|
target_include_directories(${target}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/include"
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/tomlplusplus/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
|
|
||||||
"${CVMMAP_PROXY_INCLUDE_DIR}"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
target_link_libraries(${target}
|
target_link_libraries(${target}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
@@ -213,15 +198,14 @@ add_executable(mcap_reader_tester src/testers/mcap_reader_tester.cpp)
|
|||||||
target_include_directories(mcap_reader_tester
|
target_include_directories(mcap_reader_tester
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/include"
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
|
|
||||||
"${CVMMAP_PROXY_INCLUDE_DIR}"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
target_link_libraries(mcap_reader_tester
|
target_link_libraries(mcap_reader_tester
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
CLI11::CLI11
|
||||||
cvmmap_streamer_foxglove_proto
|
cvmmap_streamer_foxglove_proto
|
||||||
cvmmap_streamer_depth_proto
|
cvmmap_streamer_depth_proto
|
||||||
cvmmap_streamer_mcap_runtime
|
cvmmap_streamer_mcap_runtime
|
||||||
|
mcap::mcap
|
||||||
PkgConfig::ZSTD
|
PkgConfig::ZSTD
|
||||||
PkgConfig::LZ4)
|
PkgConfig::LZ4)
|
||||||
if (TARGET spdlog::spdlog)
|
if (TARGET spdlog::spdlog)
|
||||||
@@ -229,9 +213,6 @@ if (TARGET spdlog::spdlog)
|
|||||||
elseif (TARGET spdlog)
|
elseif (TARGET spdlog)
|
||||||
target_link_libraries(mcap_reader_tester PRIVATE spdlog)
|
target_link_libraries(mcap_reader_tester PRIVATE spdlog)
|
||||||
endif()
|
endif()
|
||||||
if (TARGET CLI11::CLI11)
|
|
||||||
target_link_libraries(mcap_reader_tester PRIVATE CLI11::CLI11)
|
|
||||||
endif()
|
|
||||||
target_link_libraries(mcap_reader_tester PRIVATE cvmmap_streamer_protobuf)
|
target_link_libraries(mcap_reader_tester PRIVATE cvmmap_streamer_protobuf)
|
||||||
if (TARGET PkgConfig::PROTOBUF_PKG)
|
if (TARGET PkgConfig::PROTOBUF_PKG)
|
||||||
target_link_libraries(mcap_reader_tester PRIVATE PkgConfig::PROTOBUF_PKG)
|
target_link_libraries(mcap_reader_tester PRIVATE PkgConfig::PROTOBUF_PKG)
|
||||||
@@ -244,15 +225,14 @@ add_executable(mcap_replay_tester src/testers/mcap_replay_tester.cpp)
|
|||||||
target_include_directories(mcap_replay_tester
|
target_include_directories(mcap_replay_tester
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/include"
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
|
|
||||||
"${CVMMAP_PROXY_INCLUDE_DIR}"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
target_link_libraries(mcap_replay_tester
|
target_link_libraries(mcap_replay_tester
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
|
CLI11::CLI11
|
||||||
cvmmap_streamer_foxglove_proto
|
cvmmap_streamer_foxglove_proto
|
||||||
cvmmap_streamer_mcap_runtime
|
cvmmap_streamer_mcap_runtime
|
||||||
|
mcap::mcap
|
||||||
PkgConfig::ZSTD
|
PkgConfig::ZSTD
|
||||||
PkgConfig::LZ4)
|
PkgConfig::LZ4)
|
||||||
if (TARGET spdlog::spdlog)
|
if (TARGET spdlog::spdlog)
|
||||||
@@ -260,9 +240,6 @@ if (TARGET spdlog::spdlog)
|
|||||||
elseif (TARGET spdlog)
|
elseif (TARGET spdlog)
|
||||||
target_link_libraries(mcap_replay_tester PRIVATE spdlog)
|
target_link_libraries(mcap_replay_tester PRIVATE spdlog)
|
||||||
endif()
|
endif()
|
||||||
if (TARGET CLI11::CLI11)
|
|
||||||
target_link_libraries(mcap_replay_tester PRIVATE CLI11::CLI11)
|
|
||||||
endif()
|
|
||||||
target_link_libraries(mcap_replay_tester PRIVATE cvmmap_streamer_protobuf)
|
target_link_libraries(mcap_replay_tester PRIVATE cvmmap_streamer_protobuf)
|
||||||
if (TARGET PkgConfig::PROTOBUF_PKG)
|
if (TARGET PkgConfig::PROTOBUF_PKG)
|
||||||
target_link_libraries(mcap_replay_tester PRIVATE PkgConfig::PROTOBUF_PKG)
|
target_link_libraries(mcap_replay_tester PRIVATE PkgConfig::PROTOBUF_PKG)
|
||||||
|
|||||||
Vendored
Vendored
+38
@@ -0,0 +1,38 @@
|
|||||||
|
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/CLI11/CMakeLists.txt")
|
||||||
|
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CLI11" "${CMAKE_CURRENT_BINARY_DIR}/cli11")
|
||||||
|
elseif(NOT TARGET CLI11::CLI11)
|
||||||
|
set(_CVMMAP_STREAMER_FIND_PACKAGE_TARGETS_GLOBAL "${CMAKE_FIND_PACKAGE_TARGETS_GLOBAL}")
|
||||||
|
set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL TRUE)
|
||||||
|
find_package(CLI11 CONFIG REQUIRED)
|
||||||
|
set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL "${_CVMMAP_STREAMER_FIND_PACKAGE_TARGETS_GLOBAL}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET msft_proxy4::proxy)
|
||||||
|
set(CVMMAP_STREAMER_PROXY_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/proxy/include")
|
||||||
|
if(NOT EXISTS "${CVMMAP_STREAMER_PROXY_INCLUDE_DIR}/proxy/proxy.h")
|
||||||
|
message(FATAL_ERROR "proxy headers not found at ${CVMMAP_STREAMER_PROXY_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
add_library(cvmmap_streamer_proxy_headers INTERFACE)
|
||||||
|
target_include_directories(cvmmap_streamer_proxy_headers INTERFACE "${CVMMAP_STREAMER_PROXY_INCLUDE_DIR}")
|
||||||
|
add_library(msft_proxy4::proxy ALIAS cvmmap_streamer_proxy_headers)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET tomlplusplus::tomlplusplus)
|
||||||
|
set(CVMMAP_STREAMER_TOML_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/tomlplusplus/include")
|
||||||
|
if(NOT EXISTS "${CVMMAP_STREAMER_TOML_INCLUDE_DIR}/toml++/toml.hpp")
|
||||||
|
message(FATAL_ERROR "tomlplusplus headers not found at ${CVMMAP_STREAMER_TOML_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
add_library(cvmmap_streamer_tomlplusplus_headers INTERFACE)
|
||||||
|
target_include_directories(cvmmap_streamer_tomlplusplus_headers INTERFACE "${CVMMAP_STREAMER_TOML_INCLUDE_DIR}")
|
||||||
|
add_library(tomlplusplus::tomlplusplus ALIAS cvmmap_streamer_tomlplusplus_headers)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET mcap::mcap)
|
||||||
|
set(CVMMAP_STREAMER_MCAP_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/mcap/include")
|
||||||
|
if(NOT EXISTS "${CVMMAP_STREAMER_MCAP_INCLUDE_DIR}/mcap/mcap.hpp")
|
||||||
|
message(FATAL_ERROR "mcap headers not found at ${CVMMAP_STREAMER_MCAP_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
add_library(cvmmap_streamer_mcap_headers INTERFACE)
|
||||||
|
target_include_directories(cvmmap_streamer_mcap_headers INTERFACE "${CVMMAP_STREAMER_MCAP_INCLUDE_DIR}")
|
||||||
|
add_library(mcap::mcap ALIAS cvmmap_streamer_mcap_headers)
|
||||||
|
endif()
|
||||||
Vendored
+16
@@ -0,0 +1,16 @@
|
|||||||
|
# Third-Party Dependencies
|
||||||
|
|
||||||
|
All vendored dependencies in this repo live under `third_party/`.
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
- `CLI11` (git submodule): command-line parsing, target `CLI11::CLI11`
|
||||||
|
- `proxy` (git submodule): proxy/rtti headers, target `msft_proxy4::proxy`
|
||||||
|
- `tomlplusplus` (vendored source drop): TOML parsing, target `tomlplusplus::tomlplusplus`
|
||||||
|
- `mcap` (vendored source drop): MCAP headers, target `mcap::mcap`
|
||||||
|
|
||||||
|
Bootstrap:
|
||||||
|
- `git submodule sync --recursive`
|
||||||
|
- `git submodule update --init --recursive`
|
||||||
|
|
||||||
|
Rule:
|
||||||
|
- New vendored dependencies must live under `third_party/` and be exposed through `third_party/CMakeLists.txt`.
|
||||||
Vendored
Vendored
Vendored
Reference in New Issue
Block a user