#include "opendal.hpp"
#include <vector>
int main() {
auto op = opendal::Operator("memory");
std::vector<uint8_t> data = {1, 2, 3, 4, 5};
op.write("test", data);
auto result = op.read("test"); // result == data
}More examples can be found here.
You can use FetchContent to add OpenDAL to your project.
FetchContent_Declare(
opendal-cpp
GIT_REPOSITORY https://github.com/apache/opendal.git
GIT_TAG v0.40.0
SOURCE_SUBDIR bindings/cpp
)
FetchContent_MakeAvailable(opendal-cpp)Or you can download the source code and add it to your project.
mkdir third_party
cd third_party
git clone https://github.com/apache/opendal.git
git checkout v0.40.0add_subdirectory(third_party/opendal/bindings/cpp)Now you can use OpenDAL in your project.
target_link_libraries(your_target opendal_cpp)Support for more package managers is coming soon!
- CMake >= 3.22
- C++ compiler with C++17 support
mkdir build
cd build
# Add -DOPENDAL_DEV=ON to make development environment for OpenDAL
cmake ..
makeYou should build the project with OPENDAL_ENABLE_TESTING option. Then run:
make testYou should build the project with OPENDAL_ENABLE_DOCUMENTATION option. Then run:
make docsOPENDAL_DEV: Enable development environment for OpenDAL. It will enable most development options. With this option, you don't need to set other options. Default:OFFOPENDAL_ENABLE_ADDRESS_SANITIZER: Enable address sanitizer. Default:OFFOPENDAL_ENABLE_DOCUMENTATION: Enable documentation. Default:OFFOPENDAL_DOCS_ONLY: Only build documentation. Default:OFFOPENDAL_ENABLE_TESTING: Enable testing. Default:OFF
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
Apache OpenDAL, OpenDAL, and Apache are either registered trademarks or trademarks of the Apache Software Foundation.
