Getting started
OpenADS is a CMake project written in C++17. It builds on Windows (MSVC), Linux (clang or gcc), and macOS (AppleClang).
Build
git clone https://github.com/FiveTechSoft/OpenADS
cd OpenADS
cmake --preset default
cmake --build build/default --config Release
ctest --test-dir build/default --output-on-failure -C Release
Output binaries:
ace64.dll(Windows) /libace.so(Linux) /libace.dylib(macOS) underbuild/default/src/Release/— the drop-in ACE replacement.tools/serverd/openads_serverd— standalone TCP server CLI.tools/bench/openads_bench— cross-platform SQL workload timer.
Optional features
cmake -DOPENADS_WITH_TLS=ON …— enablestls://client URIs inAdsConnect60. Vendorsmbedtls 3.6 LTS(Apache 2.0) at configure time via FetchContent.cmake -DOPENADS_WITH_HTTP=ON …— enables the Studio web console embedded inopenads_serverd. Vendorscpp-httplibandnlohmann/json.
Smoke test (drop-in)
Place ace64.dll (or libace.so) on a Harbour application’s
PATH ahead of any SAP-shipped copy. Existing contrib/rddads
calls now hit OpenADS.
Smoke test (TCP server + Studio)
# 1. Build with HTTP enabled
cmake -S . -B build/http -DOPENADS_WITH_HTTP=ON
cmake --build build/http --target openads_serverd --config Release
# 2. Launch the daemon
./build/http/tools/serverd/openads_serverd \
--port 6262 \
--http-port 6263 \
--data /path/to/your/data
# 3. Open the Studio in any browser
xdg-open http://localhost:6263/ # Linux
open http://localhost:6263/ # macOS
start http://localhost:6263/ # Windows