From 366382f21776ad76be4f84cc392da787f30cf2cc Mon Sep 17 00:00:00 2001 From: Amna <amna.snene@savoirfairelinux.com> Date: Mon, 2 Oct 2023 16:37:02 -0400 Subject: [PATCH] build: update msgpack find Change-Id: I2cb64513b019161150e93fd0737fbdf1831fd722 --- CMakeLists.txt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a3db422..90178c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(CTest) include(GNUInstallDirs) +include(CheckIncludeFileCXX) set (prefix ${CMAKE_INSTALL_PREFIX}) set (exec_prefix "\${prefix}") set (libdir "${CMAKE_INSTALL_FULL_LIBDIR}") @@ -38,12 +39,15 @@ if (NOT MSVC) find_package (PkgConfig REQUIRED) - find_package(msgpack-cxx CONFIG) - if(msgpack-cxx_FOUND) - set(MSGPACK_LIB msgpack-cxx) - else() - find_package(msgpackc-cxx CONFIG REQUIRED NAMES msgpackc-cxx msgpack) - set(MSGPACK_LIB msgpackc-cxx) + check_include_file_cxx(msgpack.hpp HAVE_MSGPACKCXX) + if (NOT HAVE_MSGPACKCXX) + find_package(msgpack QUIET CONFIG NAMES msgpack msgpackc-cxx) + if (NOT msgpack_FOUND) + find_package(msgpack REQUIRED CONFIG NAMES msgpack-cxx) + set(MSGPACK_TARGET "msgpack-cxx") + else() + set(MSGPACK_TARGET "msgpackc-cxx") + endif() endif() find_package(fmt) @@ -184,6 +188,9 @@ else() ${WIN32_DEP_DIR}/../msvc/lib/libfmt.lib ${WIN32_DEP_DIR}/../msvc/lib/libmsgpackc-cxx.lib) endif() +if (NOT HAVE_MSGPACKCXX) + target_link_libraries(opendht PUBLIC ${MSGPACK_TARGET}) +endif() if (APPLE) target_link_libraries(dhtnet PRIVATE "-framework CoreFoundation" "-framework Security" "resolv") endif() -- GitLab