Skip to content

Commit fe435c9

Browse files
committed
chore: add namespace compatibility macro for Roaring64Map (libroaring vcpkg/apt)
1 parent 4266782 commit fe435c9

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

LegacyFindPackages.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,14 @@ message("ROARING_LIBRARIES: " ${ROARING_LIBRARIES})
127127
if (NOT ROARING_INCLUDE_DIRS OR NOT ROARING_LIBRARIES)
128128
message(FATAL_ERROR "Could not find libroaring")
129129
endif ()
130+
file(READ "${ROARING_INCLUDE_DIRS}/roaring/roaring.hh" ROARING_HEADER_CONTENTS)
131+
string(REGEX MATCH "namespace roaring" ROARING_HAS_NAMESPACE "${ROARING_HEADER_CONTENTS}")
132+
if (ROARING_HAS_NAMESPACE)
133+
message(STATUS "Roaring64Map is in namespace roaring")
134+
else ()
135+
message(STATUS "Roaring64Map is in global namespace")
136+
add_definitions(-DROARING_NAMESPACE_GLOBAL)
137+
endif ()
130138

131139
if (LINK_STATIC AND NOT VCPKG_TRIPLET)
132140
find_library(LIB_ZSTD NAMES libzstd.a)

lib/NegativeAcksTracker.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ using ClientImplPtr = std::shared_ptr<ClientImpl>;
4242
class ExecutorService;
4343
using ExecutorServicePtr = std::shared_ptr<ExecutorService>;
4444
using LedgerId = int64_t;
45-
#if __cplusplus >= 202002L
45+
#ifdef ROARING_NAMESPACE_GLOBAL
4646
using ConditionalRoaringMap = Roaring64Map;
4747
#else
4848
using ConditionalRoaringMap = roaring::Roaring64Map;

0 commit comments

Comments
 (0)