# Fix
* Fix `absl::monostate` support against C++14
* Fix `MSVC C2466` compilation error
ref: https://learn.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2466
* Fix `bazel test -c opt` run
# CMake
* Bump CMake minimal version to 3.18 to align with pybind11_protobuf and needed to work with pypa/manylinux image (ed need `Development.Module` option in `FindPython3`)
* rename `status` as `status_py_extension_stub` target to avoid conflict with abseil-cpp when fetched (ed cmake target are NOT scoped)<br>
note: still provide the `pybind11_abseil::status` target alias.
* Disable C++ gnu extension.
* Rework third party management
* disable test for dependencies BUT still allow to enable them for pybind11_abseil
* Bump abseil-cpp from `20230802.0` to `20240722.0`
* Bump pybind11 from master(floating) to `v2.13.6`
* Fix XCode build using `MODULE` in `pybind_extension`
* Fix Python support by not linking against the python library as manylinux images and PEP-513 require<br>
ref: https://peps.python.org/pep-0513/#libpythonx-y-so-1
# Bazel
* Update dependencies in `MODULE.bazel` and `WORKSPACE`
* Bump Protobuf to `v29.2`
* Add a `.bazelignore` to avoid to parse cmake's usual `build` directory
* Add a `.bazelrc` with default options (similar to the one in `pybind11_protobuf`)
# Update CI workflows
* Split CMake and Bazel workflows to get independent badges
* Split MacOS (amd64 and M1) and Windows (amd64) and Linux (amd64) jobs
* import ubuntu-build.yml from pybind11_protobuf
## Bazel
* Add C++14, c++17 and c++20 flavours
* Add `-c opt` and `-c dbg` variants
* only test against the default python3.11
## CMake
* Test Python 3.9, 3.10. 3.11, 3.12
* cmake(linux): Test Unix Makefile and Ninja Build generators
* cmake(macOS): Test XCode and Makefile generators
* cmake(windows): Test MSVC (VC 2022) generator
PiperOrigin-RevId: 721778070
* support per-user options
note: since bazelrc `--cxxopts` is append after `BAZEL_CXXOPTS`,
you must use `--cxxopts` on the command line to override it...
note: same file than the one in pybind11_protobuf
Secondary changes:
* pybind11 needs to be pinned to a version right before https://github.com/pybind/pybind11/pull/4786 was merged, to avoid `ctest` `permission denied` errors (to be debugged separately).
* `find_package(PythonLibs REQUIRED)` is removed. It is deprecated (https://github.com/pybind/pybind11/blob/master/docs/faq.rst) and evidently not needed.
* More complete logging.
PiperOrigin-RevId: 595435856