From 246fdf2d3ce7f0f4d4df22ca5520057d4b246f20 Mon Sep 17 00:00:00 2001 From: Aliaksandr Adziareika Date: Tue, 3 Mar 2026 15:28:15 +0100 Subject: [PATCH] Rework external dependency fetching to use opendaq_dependency() - Replace raw FetchContent_Declare/MakeAvailable with opendaq_dependency() for PcapPlusPlus, npcapsdk, and AsamCmpLib - Set OPENDAQ_ALWAYS_FETCH_* cache variables to preserve current behavior of always fetching dependencies from source --- external/AsamCmpLib/CMakeLists.txt | 13 ++++++------ external/PcapPlusPlus/CMakeLists.txt | 30 ++++++++++++---------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/external/AsamCmpLib/CMakeLists.txt b/external/AsamCmpLib/CMakeLists.txt index a209116..0f970cd 100644 --- a/external/AsamCmpLib/CMakeLists.txt +++ b/external/AsamCmpLib/CMakeLists.txt @@ -1,11 +1,10 @@ -list(APPEND CMAKE_MESSAGE_CONTEXT AsamCmpLib) - +set(OPENDAQ_ALWAYS_FETCH_ASAMCMPLIB ON CACHE BOOL "" FORCE) set(ASAM_CMP_LIB_BUILD_EXAMPLE OFF) set(ASAM_CMP_LIB_ENABLE_TESTS OFF) -FetchContent_Declare( - AsamCmpLib - GIT_REPOSITORY https://github.com/openDAQ/ASAM-CMP-Library.git - GIT_TAG v1.0.2-rc +opendaq_dependency( + NAME AsamCmpLib + GIT_REPOSITORY https://github.com/openDAQ/ASAM-CMP-Library.git + GIT_REF v1.0.2-rc + EXPECT_TARGET asam_cmp ) -FetchContent_MakeAvailable(AsamCmpLib) diff --git a/external/PcapPlusPlus/CMakeLists.txt b/external/PcapPlusPlus/CMakeLists.txt index ded89cb..d67511f 100644 --- a/external/PcapPlusPlus/CMakeLists.txt +++ b/external/PcapPlusPlus/CMakeLists.txt @@ -1,21 +1,19 @@ -list(APPEND CMAKE_MESSAGE_CONTEXT PcapPlusPlus) - - if(MSVC) add_compile_options($<$:/W1>) add_compile_options($<$:/wd4068>) endif() if(WIN32) - FetchContent_Declare( - npcapsdk - URL https://npcap.com/dist/npcap-sdk-1.13.zip + set(OPENDAQ_ALWAYS_FETCH_NPCAPSDK ON CACHE BOOL "" FORCE) + opendaq_dependency( + NAME npcapsdk + URL https://npcap.com/dist/npcap-sdk-1.13.zip ) - FetchContent_MakeAvailable(npcapsdk) - SET(PCAP_ROOT ${npcapsdk_SOURCE_DIR}) + + set(PCAP_ROOT ${npcapsdk_SOURCE_DIR}) + set(PCAP_LINKS_SOLO ON) endif() - set(_OLD_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(_OLD_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") @@ -27,15 +25,13 @@ else() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-fallthrough -Wno-unused-function") endif() -FetchContent_Declare( - PcapPlusPlus - GIT_REPOSITORY https://github.com/seladb/PcapPlusPlus.git - GIT_TAG v25.05 +set(OPENDAQ_ALWAYS_FETCH_PCAPPLUSPLUS ON CACHE BOOL "" FORCE) +opendaq_dependency( + NAME PcapPlusPlus + GIT_REPOSITORY https://github.com/seladb/PcapPlusPlus.git + GIT_REF v25.05 + EXPECT_TARGET Pcap++ ) -if(WIN32) - set(PCAP_LINKS_SOLO ON) -endif() -FetchContent_MakeAvailable(PcapPlusPlus) set(CMAKE_CXX_FLAGS "${_OLD_CMAKE_CXX_FLAGS}") set(CMAKE_C_FLAGS "${_OLD_CMAKE_C_FLAGS}") \ No newline at end of file