client-cpp/third-party)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 package
Alternatively 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.21.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 when WITH_SSL=ON) |
mac/ | thrift-0.21.0.tar.gz, boost_1_60_0.tar.gz (Xcode CLT usually provides m4/flex/bison) |
windows/ | thrift-0.21.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.