Skip to content

Commit d37d2a6

Browse files
committed
Fixed CMake build
1 parent cf0060d commit d37d2a6

File tree

7 files changed

+24
-21
lines changed

7 files changed

+24
-21
lines changed

API/fleece/FLSlice.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,17 @@ FLSliceResult FLSliceResult_New(size_t);
9898
/** Allocates an FLSliceResult, copying the given slice. */
9999
FLSliceResult FLSlice_Copy(FLSlice);
100100

101+
void _FLBuf_Retain(const void*); // internal; do not call
102+
void _FLBuf_Release(const void*); // internal; do not call
103+
101104
/** Increments the ref-count of a FLSliceResult. */
102105
static inline FLSliceResult FLSliceResult_Retain(FLSliceResult s) {
103-
void _FLBuf_Retain(const void*);
104106
_FLBuf_Retain(s.buf);
105107
return s;
106108
}
107109

108110
/** Decrements the ref-count of a FLSliceResult, freeing its memory if it reached zero. */
109111
static inline void FLSliceResult_Release(FLSliceResult s) {
110-
void _FLBuf_Release(const void*);
111112
_FLBuf_Release(s.buf);
112113
}
113114

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ set(FLEECE_BASE_SRC Fleece/Support/Backtrace.cc
4141
Fleece/Support/RefCounted.cc
4242
Fleece/Support/Writer.cc
4343
Fleece/Support/betterassert.cc
44-
Fleece/Support/FLSlice.cc
44+
Fleece/API_Impl/FLSlice.cc
4545
Fleece/Support/slice.cc
4646
Fleece/Support/varint.cc
4747
vendor/libb64/cdecode.c

Fleece.xcodeproj/project.pbxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@
345345
274D8255209D1764008BB39F /* RefCounted.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefCounted.hh; sourceTree = "<group>"; };
346346
2750735D1F4B5F0F003D2CCE /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
347347
275B3595234BE12800FE9CF0 /* FLSlice.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FLSlice.cc; sourceTree = "<group>"; };
348+
275B35A2234E4D3C00FE9CF0 /* cmake */ = {isa = PBXFileReference; lastKnownFileType = folder; path = cmake; sourceTree = "<group>"; };
348349
275C67DB1BFBA0F4008AA9E7 /* Fleece.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Fleece.md; sourceTree = "<group>"; };
349350
275C67DC1BFBA128008AA9E7 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
350351
275CED501D3EF7BE001DE46C /* FleeceException.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FleeceException.cc; sourceTree = "<group>"; };
@@ -530,6 +531,7 @@
530531
27298E3E1C00F8A9000CFBA8 /* vendor */,
531532
270FA25D1BF53CAD005DCB13 /* Products */,
532533
2750735D1F4B5F0F003D2CCE /* CMakeLists.txt */,
534+
275B35A2234E4D3C00FE9CF0 /* cmake */,
533535
27DE2EE22125FAC600123597 /* Frameworks */,
534536
);
535537
sourceTree = "<group>";

Fleece/API_Impl/FLSlice.cc

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616
// limitations under the License.
1717
//
1818

19-
#include "FLSlice.h"
19+
#include "fleece/FLSlice.h"
20+
#include <atomic>
21+
#include <cstddef>
22+
#include "betterassert.hh"
2023

2124

2225
bool FLSlice_Equal(FLSlice a, FLSlice b) {
@@ -83,10 +86,6 @@ namespace fleece {
8386
free(self);
8487
}
8588

86-
static sharedBuffer* fromBuf(const void *buf) {
87-
return offsetby((sharedBuffer*)buf, -((long long)offsetof(sharedBuffer, _buf)));
88-
}
89-
9089
inline void retain() noexcept {
9190
assert(isHeapAligned(this));
9291
++_refCount;
@@ -99,6 +98,10 @@ namespace fleece {
9998
}
10099
};
101100

101+
static sharedBuffer* bufferFromBuf(const void *buf) {
102+
return (sharedBuffer*)((uint8_t*)buf - offsetof(sharedBuffer, _buf));
103+
}
104+
102105
}
103106

104107
using namespace fleece;
@@ -131,19 +134,15 @@ FLSliceResult FLSlice_Copy(FLSlice s) {
131134
}
132135

133136

134-
void _FLBuf_Retain(const void*);
135-
void _FLBuf_Release(const void*);
136-
137-
138137
void _FLBuf_Retain(const void *buf) {
139138
if (buf)
140-
sharedBuffer::fromBuf(buf)->retain();
139+
bufferFromBuf(buf)->retain();
141140
}
142141

143142

144143
void _FLBuf_Release(const void *buf) {
145144
if (buf)
146-
sharedBuffer::fromBuf(buf)->release();
145+
bufferFromBuf(buf)->release();
147146
}
148147

149148

Fleece/Support/Fleece.exp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ _kFLEmptyDict
88

99
_FLSlice_Equal
1010
_FLSlice_Compare
11-
_FLSliceResult_Retain
12-
_FLSliceResult_Release
11+
__FLBuf_Retain
12+
__FLBuf_Release
1313

1414
_FLDoc_FromResultData
1515
_FLDoc_FromJSON

Fleece/Support/betterassert.hh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
#endif // assert_always
3131

3232

33-
#ifndef NDEBUG
34-
35-
#undef assert
33+
#undef assert
34+
#ifdef NDEBUG
35+
#define assert(e) ((void)0)
36+
#else
3637
#define assert(e) assert_always(e)
37-
3838
#endif //NDEBUG

cmake/platform_base.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ function(set_source_files_base)
88
set(
99
${BASE_SSS_RESULT}
1010
Fleece/API_Impl/Fleece.cc
11+
Fleece/API_Impl/FLSlice.cc
1112
Fleece/Core/Array.cc
1213
Fleece/Core/DeepIterator.cc
1314
Fleece/Core/Dict.cc
@@ -77,4 +78,4 @@ function(set_test_source_files_base)
7778
Experimental/KeyTree.cc
7879
PARENT_SCOPE
7980
)
80-
endfunction()
81+
endfunction()

0 commit comments

Comments
 (0)