C · Installation

Installation

3.0.0-rc.1 · 4c3e5023

cmake -B build_release -D CMAKE_BUILD_TYPE=Release -D USEARCH_BUILD_SHARED=1 -D USEARCH_DENSE_DTYPES=11 && cmake --build build_release --config Release

That leaves both libraries in build_release/, carrying all eleven dense storage types; precompiled ones ship on the releases page. Put c/ on the include path, or include/ once installed, where the C headers sit beside the C++ ones, and link either library. One header, usearch/usearch.h, pulls in every modality: dense_index.h, sequence_index.h, shapes_index.h and geospatial_index.h. ctest --test-dir build_release -R usearch_test_c runs the smoke test in c/test.c.

-D USEARCH_INSTALL=1 adds the CMake package and a .pc file, and cpack then archives the preview SDK. It holds the stripped shared library, the C headers, the C++ wrappers in cpp/usearch/, the package, the .pc and the license, but neither the archive nor the header-only core.

cmake -B build_release -D CMAKE_BUILD_TYPE=Release -D USEARCH_BUILD_SHARED=1 -D USEARCH_INSTALL=1 -D USEARCH_DENSE_DTYPES=11
cmake --build build_release --config Release
cpack --config build_release/CPackConfig.cmake # usearch-<version>-<platform>-sdk.tar.gz, a ZIP on Windows

Consumers link it as usearch::shared after find_package(usearch), or through pkg-config --cflags --libs usearch. cmake --install build_release --component static adds usearch::static, and --component core the header-only templates as usearch::header.

-D USEARCH_BUILD_STUB=1 adds a brute-force stand-in under the same library names in build_release/stub/. It answers every verb of every modality by exhaustive scan with the C++ standard library alone, so a binding links and runs its suite in seconds without building the engine. Its search is exact, its traversal statistics are invented, and its checkpoints are its own memory image, readable by nothing else.