You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
-21Lines changed: 0 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,27 +61,6 @@ Formatting conventions:
61
61
- comments are good, TileDB uses [doxygen](http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html) for class doc strings.
62
62
- format code using [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
63
63
64
-
### Building with sanitizers
65
-
66
-
TileDB can be built with [clang sanitizers](https://clang.llvm.org/docs/AddressSanitizer.html) enabled. To enable them, you have to bootstrap with the `--enable-sanitizer` flag, as well as the vcpkg base triplet corresponding to your platform. The following platforms support sanitizers:
67
-
68
-
*`arm64-osx`
69
-
*`x64-linux`
70
-
*`x64-osx`
71
-
*`x64-windows`
72
-
73
-
> [!NOTE]
74
-
> Currently only the `address` sanitizer is supported.
|`--prefix=PREFIX`|`-Prefix=PREFIX`|`CMAKE_INSTALL_PREFIX=<PREFIX>`|Install files in tree rooted at `PREFIX` (defaults to `TileDB/dist`)|
69
+
|`--vcpkg-base-triplet=TRIPLET`|`-VcpkgBaseTriplet=TRIPLET`|`TILEDB_VCPKG_BASE_TRIPLET=TRIPLET`|Vcpkg base triplet, needed for features like ASAN and RelWithDebInfo|
69
70
|`--linkage=shared/static`|`-Linkage=shared/static`|`BUILD_SHARED_LIBS=ON/OFF`|Linkage of the compiled TileDB library (defaults to `shared`) |
70
71
|`--remove-deprecations`|`-RemoveDeprecations`|`TILEDB_REMOVE_DEPRECATIONS=ON`|Build TileDB without deprecated APIs|
|`--disable-tests`|`-DisableTests`|`TILEDB_TESTS=OFF`|Disables building the TileDB test suite|
86
87
88
+
The supported vcpkg base triplet values are:
89
+
90
+
*`arm64-osx`
91
+
*`x64-linux`
92
+
*`x64-osx`
93
+
*`x64-windows`
94
+
87
95
> [!TIP]
88
96
> You can see all TileDB-specific CMake variables in [BuildOptions.cmake](../../cmake/Options/BuildOptions.cmake).
89
97
@@ -125,4 +133,29 @@ Vcpkg will not be automatically downloaded if:
125
133
* The `TILEDB_DISABLE_AUTO_VCPKG` environment variable has been defined.
126
134
* The build tree has been configured by directly calling CMake and the `CMAKE_TOOLCHAIN_FILE` variable has been set by the user.
127
135
128
-
In these cases no dependencies CMake will find the dependencies based on the rules of the [`find_package`](https://cmake.org/cmake/help/latest/command/find_package.html#command:find_package) command. The user is responsible for providing them.
136
+
In these cases CMake will find the dependencies based on the rules of the [`find_package`](https://cmake.org/cmake/help/latest/command/find_package.html) command. The user is responsible for providing the dependencies.
137
+
138
+
### Building with sanitizers
139
+
140
+
TileDB can be built with [clang sanitizers](https://clang.llvm.org/docs/AddressSanitizer.html) enabled. To enable them, you have to bootstrap with the `--enable-sanitizer` flag, as well as the [vcpkg base triplet](#configuration-options) corresponding to your platform:
141
+
142
+
> [!NOTE]
143
+
> Currently only the `address` sanitizer is supported.
> To avoid errors, building with sanitizers must be done in a separate build directory.
153
+
154
+
### Building with optimizations and debug symbols
155
+
156
+
TileDB supports configuring in `RelWithDebInfo` mode, which compiles code with optimizations while also emitting debug symbols. However on non-Windows platforms the dependencies built by vcpkg do not build by default with symbols. To enable that you have to do either of the following:
157
+
158
+
*[Specify a vcpkg base triplet](#configuration-options).
159
+
* Configure by directly calling CMake and setting a vcpkg triplet with the `VCPKG_DEFAULT_TRIPLET` variable. In this case you are responsible to ensure the appropriate options are passed to the triplet file.
160
+
161
+
Configuring in `RelWithDebInfo` mode and enabling ASAN at the same time is not supported.
0 commit comments