diff --git a/.gitmodules b/.gitmodules index fd27987533..8d3134dd01 100644 --- a/.gitmodules +++ b/.gitmodules @@ -55,3 +55,6 @@ [submodule "thirdparty/udpcap"] path = thirdparty/udpcap/udpcap url = https://github.com/eclipse-ecal/udpcap.git +[submodule "thirdparty/ecaludp/ecaludp"] + path = thirdparty/ecaludp/ecaludp + url = https://github.com/eclipse-ecal/ecaludp diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c42672281..43cb4748b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,6 +135,7 @@ option(ECAL_THIRDPARTY_BUILD_TCP_PUBSUB "Build tcp_pubsub library with eC option(ECAL_THIRDPARTY_BUILD_TERMCOLOR "Build termcolor with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_TINYXML2 "Build tinyxml2 with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_UDPCAP "Build udpcap library with eCAL" OFF) +option(ECAL_THIRDPARTY_BUILD_ECALUDP "Build the builtin ecaludp library from the submodule" ON) if(WIN32) option(ECAL_THIRDPARTY_BUILD_PROTOBUF "Build protobuf with eCAL" ON) @@ -234,7 +235,8 @@ set(possible_subprojects tinyxml2 udpcap yaml-cpp - #zlib zlibstatic + #zlib zlibstatic + ecaludp ) # We should rename the option, but don't know how to do in in a @@ -588,6 +590,7 @@ message(STATUS "ECAL_THIRDPARTY_BUILD_TERMCOLOR : ${ECAL_THIRDPAR message(STATUS "ECAL_THIRDPARTY_BUILD_TINYXML2 : ${ECAL_THIRDPARTY_BUILD_TINYXML2}") message(STATUS "ECAL_THIRDPARTY_BUILD_UDPCAP : ${ECAL_THIRDPARTY_BUILD_UDPCAP}") message(STATUS "ECAL_THIRDPARTY_BUILD_YAML-CPP : ${ECAL_THIRDPARTY_BUILD_YAML-CPP}") +message(STATUS "ECAL_THIRDPARTY_BUILD_ECALUDP : ${ECAL_THIRDPARTY_BUILD_ECALUDP}") message(STATUS "ECAL_LINK_HDF5_SHARED : ${ECAL_LINK_HDF5_SHARED}") message(STATUS "CPACK_PACK_WITH_INNOSETUP : ${CPACK_PACK_WITH_INNOSETUP}") message(STATUS "--------------------------------------------------------------------------------") diff --git a/thirdparty/asio/build-asio.cmake b/thirdparty/asio/build-asio.cmake index 713ba1c4f1..14150616a7 100644 --- a/thirdparty/asio/build-asio.cmake +++ b/thirdparty/asio/build-asio.cmake @@ -1,7 +1,24 @@ -add_library(asio INTERFACE) -target_include_directories(asio INTERFACE ${CMAKE_CURRENT_LIST_DIR}/asio/asio/include) +add_library(asio INTERFACE EXCLUDE_FROM_ALL) +target_include_directories(asio INTERFACE + $ +) target_compile_definitions(asio INTERFACE ASIO_STANDALONE) add_library(asio::asio ALIAS asio) -list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) + +# We don't want to install asio. However we need to have the commands +# Otherwise CMake will not be happy +install( + TARGETS asio + EXPORT asioTargets +) + +install( + EXPORT asioTargets + FILE asioTargets.cmake + DESTINATION lib/CMake + NAMESPACE asio:: + COMPONENT asio_dev +) \ No newline at end of file diff --git a/thirdparty/ecaludp/Modules/Findecaludp.cmake b/thirdparty/ecaludp/Modules/Findecaludp.cmake new file mode 100644 index 0000000000..92ce04b154 --- /dev/null +++ b/thirdparty/ecaludp/Modules/Findecaludp.cmake @@ -0,0 +1 @@ +set(ecaludp_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/ecaludp/build-ecaludp.cmake b/thirdparty/ecaludp/build-ecaludp.cmake new file mode 100644 index 0000000000..041ead0ac0 --- /dev/null +++ b/thirdparty/ecaludp/build-ecaludp.cmake @@ -0,0 +1,15 @@ +set(ECALUDP_ENABLE_NPCAP ${ECAL_CORE_NPCAP_SUPPORT}) +set(ECALUDP_BUILD_SAMPLES OFF) +set(ECALUDP_BUILD_TESTS OFF) +set(ECALUDP_USE_BUILTIN_ASIO OFF) +set(ECALUDP_USE_BUILTIN_RECYCLE OFF) +set(ECALUDP_USE_BUILTIN_UDPCAP OFF) +set(ECALUDP_LIBRARY_TYPE STATIC) + +# Add ecaludp library from subdirectory +add_subdirectory(thirdparty/ecaludp/ecaludp EXCLUDE_FROM_ALL) + +# move the ecaludp target to a subdirectory in the IDE +set_property(TARGET ecaludp PROPERTY FOLDER lib/ecaludp) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/ecaludp/ecaludp b/thirdparty/ecaludp/ecaludp new file mode 160000 index 0000000000..13f5ba7121 --- /dev/null +++ b/thirdparty/ecaludp/ecaludp @@ -0,0 +1 @@ +Subproject commit 13f5ba7121a5c904b5ec4120c7ef7a3a109f9bc7