Migrates the build system from Conan 1 to Conan 2:
- Update all conan commands to v2 syntax (export, install, profile)
- Convert profiles to Conan 2 INI format with [settings] and [conf] sections
- Add tool_requires() for build tools (protobuf, grpc, b2)
- Fix wasmedge/0.11.2 recipe for Conan 2 compatibility (package_id syntax)
- Update CI workflows for all platforms (Linux, macOS, Docker/HBB)
- Document dual Boost setup (manual for WasmEdge, Conan for app)
- Force glibc-compatible builds via source compilation in HBB
- Ensure dependency version consistency with override=True
Maintains full backwards compatibility while preparing for Conan 1 EOL.
- Copies the recipe for Snappy from Conan Center, but removes three
lines that explicitly link the standard library, which prevents
builders from statically linking it.
- Removes the recipe for RocksDB now that an official recipe for version
6.27.3 is in Conan Center.
Developers will likely need to remove cached versions of both RocksDB
and Snappy:
```
conan remove -f rocksdb
conan remove -f snappy
```
---------
Co-authored-by: John Freeman <jfreeman08@gmail.com>
Introduces a conanfile.py (and a Conan recipe for RocksDB) to enable building the package with Conan, choosing more recent default versions of dependencies. It removes almost all of the CMake build files related to dependencies, and the configurations for Travis CI and GitLab CI. A new set of cross-platform build instructions are written in BUILD.md.
Includes example GitHub Actions workflow for each of Linux, macOS, Windows.
* Test on macos-12
We use the <concepts> library which was not added to Apple Clang until
version 13.1.6. The default Clang on macos-11 (the sometimes current
version of macos-latest) is 13.0.0, and the default Clang on macos-12 is
14.0.0.
Closes#4223.