Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake: Remove dirty find_package hack. #1257

Merged
merged 3 commits into from
Nov 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 54 additions & 56 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
cmake_minimum_required(VERSION 3.13)

include(CMakeDependentOption)
include("${CMAKE_CURRENT_LIST_DIR}/thirdparty/cmake_functions/qt/qt_msvc_path.cmake")

if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW) # Prevent HDF5 from overwriting our output paths
Expand Down Expand Up @@ -91,17 +90,20 @@ option(ECAL_NPCAP_SUPPORT "Enable the eCAL Npcap Receiver (
option(ECAL_USE_CLOCKLOCK_MUTEX "Use native mutex with monotonic clock (requires glibc >= 2.30)" OFF)

# Set option regarding third party library builds
# option(ECAL_THIRDPARTY_BUILD_LIBSSH2 "Build libssh2 with eCAL" ON)
# option(ECAL_THIRDPARTY_BUILD_ZLIB "Build zlib with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_ASIO "Build asio with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS "Build CMakeFunctions with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_SPDLOG "Build spdlog with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_TINYXML2 "Build tinyxml2 with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_FINEFTP "Build fineFTP with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_TERMCOLOR "Build termcolor with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_TCP_PUBSUB "Build tcp_pubsub library with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_RECYCLE "Build steinwurf::recylce with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_FTXUI "Build ftxui with eCAL" ON)
# option(ECAL_THIRDPARTY_BUILD_ZLIB "Build zlib with eCAL" ON)
# option(ECAL_THIRDPARTY_BUILD_LIBSSH2 "Build libssh2 with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_GTEST "Build gtest with eCAL" OFF)
option(ECAL_THIRDPARTY_BUILD_RECYCLE "Build steinwurf::recylce with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_SPDLOG "Build spdlog with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_SIMPLEINI "Build simpleini with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_TCLAP "Build tclap library with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_TCP_PUBSUB "Build tcp_pubsub library with eCAL" ON)
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)

if(WIN32)
Expand Down Expand Up @@ -165,59 +167,35 @@ if(MSVC)
endif()
endif()

# --------------------------------------------------------
# detect qt library
# --------------------------------------------------------
if(MSVC)
if (HAS_QT5)
find_package(Qt5 COMPONENTS Core QUIET)
if (NOT "${Qt5_FOUND}")
autodetect_qt5_msvc_dir()
endif()
endif()
endif()

# This is a list of subprojects, that might be build with eCAL
# according to how options ECAL_BUILD_<SUBPROJECT> are set
set(possible_subprojects
Protobuf
spdlog
tinyxml2
fineftp
termcolor
recycle
tcp_pubsub
#libssh2
#zlib zlibstatic
asio
CMakeFunctions
CURL
fineftp
ftxui
GTest
HDF5
CMakeFunctions
#libssh2
Protobuf
qwt
yaml-cpp
ftxui
recycle
simpleini
spdlog
tclap
tcp_pubsub
termcolor
tinyxml2
udpcap
yaml-cpp
#zlib zlibstatic
)

# We should rename the option, but don't know how to do in in a
# backwards compatible way
set(ECAL_THIRDPARTY_BUILD_CMAKEFUNCTIONS ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS})

# For each dependency, check if option to build was set or not
# if so append to `as_subproject` list
foreach (dep IN LISTS possible_subprojects)
string(TOUPPER ${dep} dep_upper)
if (ECAL_THIRDPARTY_BUILD_${dep_upper})
list(APPEND as_subproject ${dep})
endif ()
endforeach()

macro(find_package)
if(NOT "${ARGV0}" IN_LIST as_subproject)
_find_package(${ARGV})
endif()
endmacro()

# if a package does need to be build, include the cmake file with build instructions
foreach (dep IN LISTS possible_subprojects)
string(TOUPPER ${dep} dep_upper)
Expand All @@ -234,6 +212,19 @@ endif()

find_package(CMakeFunctions REQUIRED)

# --------------------------------------------------------
# detect qt library
# --------------------------------------------------------
if(MSVC)
if (HAS_QT5)
find_package(Qt5 COMPONENTS Core QUIET)
if (NOT "${Qt5_FOUND}")
autodetect_qt5_msvc_dir()
endif()
endif()
endif()


git_revision_information(DEFAULT ${ECAL_BUILD_VERSION})
set(eCAL_VERSION_MAJOR ${GIT_REVISION_MAJOR})
set(eCAL_VERSION_MINOR ${GIT_REVISION_MINOR})
Expand Down Expand Up @@ -281,9 +272,12 @@ set(eCAL_install_samples_dir ${CMAKE_INSTALL_BINDIR})
set(eCAL_install_samples_src_dir ${CMAKE_INSTALL_DATADIR}/ecal/samples/)
set(eCAL_install_tests_dir ${CMAKE_INSTALL_BINDIR})

set(eCAL_config_dir ${eCAL_BINARY_DIR}/cmake/)
set(eCAL_config_dir ${CMAKE_CURRENT_BINARY_DIR}/_generated/)
set(eCAL_config ${eCAL_config_dir}/eCALConfig.cmake)
set(eCAL_config_version ${eCAL_config_dir}/eCALConfigVersion.cmake)

file(MAKE_DIRECTORY ${eCAL_config_dir})

if(WIN32)
set(eCAL_install_config_dir cfg)
set(eCAL_install_doc_dir doc)
Expand Down Expand Up @@ -570,20 +564,24 @@ message(STATUS "ECAL_INCLUDE_PY_SAMPLES : ${ECAL_INCLUDE_
message(STATUS "ECAL_INSTALL_SAMPLE_SOURCES : ${ECAL_INSTALL_SAMPLE_SOURCES}")
message(STATUS "ECAL_JOIN_MULTICAST_TWICE : ${ECAL_JOIN_MULTICAST_TWICE}")
message(STATUS "ECAL_NPCAP_SUPPORT : ${ECAL_NPCAP_SUPPORT}")
message(STATUS "ECAL_THIRDPARTY_BUILD_ASIO : ${ECAL_THIRDPARTY_BUILD_ASIO}")
message(STATUS "ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS : ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS}")
message(STATUS "ECAL_THIRDPARTY_BUILD_SPDLOG : ${ECAL_THIRDPARTY_BUILD_SPDLOG}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TINYXML2 : ${ECAL_THIRDPARTY_BUILD_TINYXML2}")
message(STATUS "ECAL_THIRDPARTY_BUILD_CURL : ${ECAL_THIRDPARTY_BUILD_CURL}")
message(STATUS "ECAL_THIRDPARTY_BUILD_FINEFTP : ${ECAL_THIRDPARTY_BUILD_FINEFTP}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TERMCOLOR : ${ECAL_THIRDPARTY_BUILD_TERMCOLOR}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TCP_PUBSUB : ${ECAL_THIRDPARTY_BUILD_TCP_PUBSUB}")
message(STATUS "ECAL_THIRDPARTY_BUILD_RECYCLE : ${ECAL_THIRDPARTY_BUILD_RECYCLE}")
message(STATUS "ECAL_THIRDPARTY_BUILD_FTXUI : ${ECAL_THIRDPARTY_BUILD_FTXUI}")
message(STATUS "ECAL_THIRDPARTY_BUILD_GTEST : ${ECAL_THIRDPARTY_BUILD_GTEST}")
message(STATUS "ECAL_THIRDPARTY_BUILD_PROTOBUF : ${ECAL_THIRDPARTY_BUILD_PROTOBUF}")
message(STATUS "ECAL_THIRDPARTY_BUILD_CURL : ${ECAL_THIRDPARTY_BUILD_CURL}")
message(STATUS "ECAL_THIRDPARTY_BUILD_HDF5 : ${ECAL_THIRDPARTY_BUILD_HDF5}")
message(STATUS "ECAL_THIRDPARTY_BUILD_YAML-CPP : ${ECAL_THIRDPARTY_BUILD_YAML-CPP}")
message(STATUS "ECAL_THIRDPARTY_BUILD_PROTOBUF : ${ECAL_THIRDPARTY_BUILD_PROTOBUF}")
message(STATUS "ECAL_THIRDPARTY_BUILD_QWT : ${ECAL_THIRDPARTY_BUILD_QWT}")
message(STATUS "ECAL_THIRDPARTY_BUILD_RECYCLE : ${ECAL_THIRDPARTY_BUILD_RECYCLE}")
message(STATUS "ECAL_THIRDPARTY_BUILD_SIMPLEINI : ${ECAL_THIRDPARTY_BUILD_SIMPLEINI}")
message(STATUS "ECAL_THIRDPARTY_BUILD_SPDLOG : ${ECAL_THIRDPARTY_BUILD_SPDLOG}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TCLAP : ${ECAL_THIRDPARTY_BUILD_TCLAP}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TCP_PUBSUB : ${ECAL_THIRDPARTY_BUILD_TCP_PUBSUB}")
message(STATUS "ECAL_THIRDPARTY_BUILD_TERMCOLOR : ${ECAL_THIRDPARTY_BUILD_TERMCOLOR}")
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_LINK_HDF5_SHARED : ${ECAL_LINK_HDF5_SHARED}")
message(STATUS "CPACK_PACK_WITH_INNOSETUP : ${CPACK_PACK_WITH_INNOSETUP}")

Expand Down
5 changes: 0 additions & 5 deletions cmake/Modules/Findasio.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
find_path(asio_INCLUDE_DIR
NAMES asio.hpp
HINTS
"${CONAN_ASIO_ROOT}/include"
"${ECAL_PROJECT_ROOT}/thirdparty/asio/asio/include"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH
)

if(asio_INCLUDE_DIR-NOTFOUND)
Expand Down
1 change: 1 addition & 0 deletions cmake/Modules/FindeCAL.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
set(eCAL_FOUND TRUE)
5 changes: 0 additions & 5 deletions cmake/Modules/Findsimpleini.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
find_path(simpleini_INCLUDE_DIR
NAMES SimpleIni.h
HINTS
"${CONAN_SIMPLEINI_ROOT}/include"
"${ECAL_PROJECT_ROOT}/thirdparty/simpleini"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH
)

if(simpleini_INCLUDE_DIR-NOTFOUND)
Expand Down
5 changes: 0 additions & 5 deletions cmake/Modules/Findtclap.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
find_path(tclap_INCLUDE_DIR
NAMES tclap/Arg.h
HINTS
"${CONAN_TCLAP_ROOT}/include"
"${ECAL_PROJECT_ROOT}/thirdparty/tclap/include"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH
)

if(tclap_INCLUDE_DIR-NOTFOUND)
Expand Down
1 change: 1 addition & 0 deletions thirdparty/asio-module/Findasio.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
set(asio_FOUND TRUE)
7 changes: 7 additions & 0 deletions thirdparty/build-asio.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
add_library(asio INTERFACE)
target_include_directories(asio INTERFACE ${CMAKE_CURRENT_LIST_DIR}/asio/asio/include)
target_compile_definitions(asio INTERFACE ASIO_STANDALONE)

add_library(asio::asio ALIAS asio)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/asio-module)
4 changes: 3 additions & 1 deletion thirdparty/build-cmakefunctions.cmake
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
add_subdirectory(thirdparty/cmake_functions)
add_subdirectory(thirdparty/cmake_functions)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmakefunctions-module)
2 changes: 2 additions & 0 deletions thirdparty/build-curl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ if (NOT TARGET CURL::libcurl)
)
endif()
endif()

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/curl-module)
5 changes: 4 additions & 1 deletion thirdparty/build-fineftp.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
add_subdirectory(thirdparty/fineftp-server/fineftp-server EXCLUDE_FROM_ALL)
set_property(TARGET server PROPERTY FOLDER lib/fineftp)
add_library(fineftp::server ALIAS server)

add_library(fineftp::server ALIAS server)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/fineftp-module)
4 changes: 3 additions & 1 deletion thirdparty/build-ftxui.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ if(content MATCHES "VERSION ([0-9]+)\\.[0-9]+\\.[0-9]+")
set(ftxui_VERSION_MAJOR "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR "Couldn't read version info")
endif()
endif()

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/ftxui-module)
4 changes: 3 additions & 1 deletion thirdparty/build-gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ if(NOT TARGET GTest::gtest)
endif()
if(NOT TARGET GTest::gtest_main)
add_library(GTest::gtest_main ALIAS gtest_main)
endif()
endif()

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/gtest-module)
30 changes: 16 additions & 14 deletions thirdparty/build-hdf5.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/" CACHE PATH "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build hdf5 shared" FORCE)

list(APPEND as_subproject HDF5)
#we will need threads
find_package(Threads REQUIRED)

set(HDF5_GENERATE_HEADERS OFF CACHE BOOL "Do not re-generate auto-generated files" FORCE)
set(ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE)
set(HDF5_ENABLE_THREADSAFE ON CACHE BOOL "Enable thread-safety" FORCE)
set(BUILD_TESTING OFF CACHE BOOL "Do not build HDF5 Unit Testing" FORCE)
set(HDF5_BUILD_UTILS OFF CACHE BOOL "Do not build HDF5 Utils" FORCE)
set(HDF5_BUILD_TOOLS OFF CACHE BOOL "Do not build HDF5 Tools" FORCE)
set(HDF5_BUILD_EXAMPLES OFF CACHE BOOL "Do not build HDF5 Library Examples" FORCE)
set(HDF5_BUILD_CPP_LIB OFF CACHE BOOL "Do not build C++ lib" FORCE)
set(HDF5_BUILD_HL_LIB OFF CACHE BOOL "Do not build hdf5-hl" FORCE)
set(HDF5_GENERATE_HEADERS OFF CACHE BOOL "Do not re-generate auto-generated files" FORCE)
set(ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE)
set(HDF5_ENABLE_THREADSAFE ON CACHE BOOL "Enable thread-safety" FORCE)
set(HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "Support ZLIB" FORCE)
set(BUILD_TESTING OFF CACHE BOOL "Do not build HDF5 Unit Testing" FORCE)
set(HDF5_BUILD_UTILS OFF CACHE BOOL "Do not build HDF5 Utils" FORCE)
set(HDF5_BUILD_TOOLS OFF CACHE BOOL "Do not build HDF5 Tools" FORCE)
set(HDF5_BUILD_EXAMPLES OFF CACHE BOOL "Do not build HDF5 Library Examples" FORCE)
set(HDF5_BUILD_CPP_LIB OFF CACHE BOOL "Do not build C++ lib" FORCE)
set(HDF5_BUILD_HL_LIB OFF CACHE BOOL "Do not build hdf5-hl" FORCE)

# TODO: Let HDF5 use its own targets.
# Adding the HDF5 targets to the eCALCoreTargets is a hack that we have had
Expand All @@ -37,9 +37,9 @@

#We need to build hdf5 as shared to enable the threadsafe option. HDF5 uses the BUILD_SHARED_LIBS to check if shared build is on.
# Hence we need to save the old value, enable it, and then set it back to the old value

add_subdirectory(thirdparty/hdf5)

if(NOT TARGET hdf5::hdf5-shared)
add_library(hdf5::hdf5-shared ALIAS hdf5-shared)
get_target_property(is_imported hdf5-shared IMPORTED)
Expand All @@ -50,7 +50,7 @@
)
endif()
endif()

target_include_directories(hdf5-shared INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/thirdparty/hdf5>")

if("${OLD_CMAKE_ARCHIVE_OUTPUT_DIRECTORY}" STREQUAL "")
Expand All @@ -73,4 +73,6 @@
unset(CMAKE_RUNTIME_OUTPUT_DIRECTORY CACHE)
endif()

set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE)
set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/hdf5-module)
4 changes: 3 additions & 1 deletion thirdparty/build-libssh2.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
set(DBUILD_STATIC_LIBS OFF CACHE BOOL "My option" FORCE)
set(BUILD_TESTING OFF CACHE BOOL "My option" FORCE)
add_subdirectory(thirdparty/libssh2)
add_library(LibSSH2 ALIAS libssh2)
add_library(LibSSH2 ALIAS libssh2)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/libssh2-module)
4 changes: 3 additions & 1 deletion thirdparty/build-protobuf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,6 @@ if (NOT is_imported)
endif()

set(Protobuf_PROTOC_EXECUTABLE protoc)
set(Protobuf_VERSION 3.11.4)
set(Protobuf_VERSION 3.11.4)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/protobuf-module)
4 changes: 3 additions & 1 deletion thirdparty/build-qwt.cmake
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
add_subdirectory(thirdparty/qwt)
add_subdirectory(thirdparty/qwt)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/qwt-module)
2 changes: 2 additions & 0 deletions thirdparty/build-recycle.cmake
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
add_subdirectory(thirdparty/recycle EXCLUDE_FROM_ALL)
add_library(steinwurf::recycle ALIAS recycle)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/recycle-module)
5 changes: 5 additions & 0 deletions thirdparty/build-simpleini.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
add_library(simpleini INTERFACE)
target_include_directories(simpleini INTERFACE ${CMAKE_CURRENT_LIST_DIR}/simpleini)

add_library(simpleini::simpleini ALIAS simpleini)
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/simpleini-module)
4 changes: 3 additions & 1 deletion thirdparty/build-spdlog.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ if (NOT TARGET spdlog::spdlog)
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-w>
)
endif()
endif()
endif()

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/spdlog-module)
5 changes: 5 additions & 0 deletions thirdparty/build-tclap.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
add_library(tclap INTERFACE)
target_include_directories(tclap INTERFACE ${CMAKE_CURRENT_LIST_DIR}/tclap/include)

add_library(tclap::tclap ALIAS tclap)
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/tclap-module)
4 changes: 3 additions & 1 deletion thirdparty/build-tcp_pubsub.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
add_subdirectory(thirdparty/tcp_pubsub/tcp_pubsub EXCLUDE_FROM_ALL)
set_property(TARGET tcp_pubsub PROPERTY FOLDER lib/tcp_pubsub)
add_library(tcp_pubsub::tcp_pubsub ALIAS tcp_pubsub)
add_library(tcp_pubsub::tcp_pubsub ALIAS tcp_pubsub)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/tcp_pubsub-module)
Loading