From bbdf4af98fbcef7bf8267e35037efae51edbc7eb Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Wed, 30 Mar 2022 16:09:40 -0300 Subject: [PATCH] cmake work-around for cmake < 3.21 PkgConfig::xyz won't exist before 3.21 if xyz doesn't require any flags (which is common for a system-installed header-only library like oxenc). (CMake bug 22180) --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index baef9ef..41fdebc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,7 +76,10 @@ elseif(BUILD_SHARED_LIBS) pkg_check_modules(oxenc liboxenc IMPORTED_TARGET) if(oxenc_FOUND) - target_link_libraries(oxenmq PUBLIC PkgConfig::oxenc) + # Work around cmake bug 22180 (PkgConfig::tgt not set if no flags needed) + if(TARGET PkgConfig::oxenc OR CMAKE_VERSION VERSION_GREATER_EQUAL "3.21") + target_link_libraries(oxenmq PUBLIC PkgConfig::oxenc) + endif() else() add_subdirectory(oxen-encoding) target_link_libraries(oxenmq PUBLIC oxenc)