CMake downloads (or reuses) build-time tarballs and archives here. The
directory ships with the source tree so you can stage dependencies on a
networked machine, copy the whole IoTDB checkout to an offline host, and
build client-cpp with -DIOTDB_OFFLINE=ON.
Tarballs themselves are not committed to Git (see per-platform
.gitignore files). Only this README and the empty platform folders are
tracked. Each linux/, mac/, and windows/ sub-folder ships a minimal
.gitignore (* with !.gitignore) so Git keeps the directory in the
tree while ignoring downloaded archives.
third-party/
├── linux/ # tarballs for Linux offline builds
├── mac/ # tarballs for macOS offline builds
└── windows/ # tarballs / zips for Windows offline builds
Override the root with -DIOTDB_DEPS_DIR=<path> (Maven: -Diotdb.deps.dir=...).
The platform sub-folder (linux/, mac/, windows/) is selected automatically.
Run a normal online configure once; CMake caches everything under the
matching <os>/ folder:
cmake -S iotdb-client/client-cpp -B build
# or: mvn -P with-cpp -pl iotdb-client/client-cpp -am -DskipTests packageAlternatively copy files manually from the URLs listed in
README.md (Offline build section).
-
Copy the entire IoTDB repository (including
iotdb-client/client-cpp/third-party/<os>/). -
Configure with offline mode:
cmake -S iotdb-client/client-cpp -B build -DIOTDB_OFFLINE=ON cmake --build build --config Release --target install
| Platform | Typical files |
|---|---|
linux/ |
thrift-0.24.0.tar.gz, boost_1_60_0.tar.gz, m4-1.4.19.tar.gz, flex-2.6.4.tar.gz, bison-3.8.tar.gz (+ openssl-3.5.0.tar.gz only when WITH_SSL=ON and no system OpenSSL is present) |
mac/ |
thrift-0.24.0.tar.gz, boost_1_60_0.tar.gz (Xcode CLT usually provides m4/flex/bison) |
windows/ |
thrift-0.24.0.tar.gz, boost_1_60_0.tar.gz, win_flex_bison-2.5.25.zip (or any win_flex_bison*.zip; skip if flex/bison already on PATH) |
Download URLs: see the Offline build table in README.md.