-
Notifications
You must be signed in to change notification settings - Fork 4k
GH-45614: [C++] Use Boost's CMake packages instead of FindBoost.cmake in CMake #45623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
assignUser
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! In addition to the dependency issues, the built in FindBoost is also deprecated in recent version (that's why the policy exists).
|
@github-actions crossbow submit -g wheel |
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g wheel |
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g cpp -g python |
|
@github-actions crossbow submit cp313 |
|
Revision: aac1fcc Submitted crossbow builds: ursacomputing/crossbow @ actions-1f84f87ddc |
|
Revision: aac1fcc Submitted crossbow builds: ursacomputing/crossbow @ actions-c37ec9d34c |
|
AppVeyor doesn't fail anymore because of Boost, but it now fails later on mimalloc. That will hopefully be fixed by #45979 |
pitrou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, will merge once CI is green as this is a necessary step for CMake 4.0 compatibility
|
After merging your PR, Conbench analyzed the 0 benchmarking runs that have been run so far on merge-commit a382a1b. None of the specified runs were found on the Conbench server. The full Conbench report has more details. |
### Rationale for this change We always use `BoostConfig.cmake` by #45623. We don't use `FindBoost.cmake`. We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. ### What changes are included in this PR? * Update `vcpkg.json` for `cpp/` and `c_glib/`. * Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio. * C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags. * C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this. * FYI: pkgconf/pkgconf@008d706 * GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: #45994 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
### Rationale for this change We always use `BoostConfig.cmake` by #45623. We don't use `FindBoost.cmake`. We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. ### What changes are included in this PR? * Update `vcpkg.json` for `cpp/` and `c_glib/`. * Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio. * C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags. * C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this. * FYI: pkgconf/pkgconf@008d706 * GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: #45994 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
….cmake in CMake (apache#45623) ### Rationale for this change It seems that `FindBoost.cmake` in CMake may not set dependencies correctly. Furthermore, it has been removed in CMake 4.0. ### What changes are included in this PR? Enable `CMP0167` to use Boost's CMake packages instead of `FindBoost.cmake` in CMake. ### Are these changes tested? Yes. ### Are there any user-facing changes? No. * GitHub Issue: apache#45614 * Closes: apache#45966 Lead-authored-by: Sutou Kouhei <kou@clear-code.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
…pache#46006) ### Rationale for this change We always use `BoostConfig.cmake` by apache#45623. We don't use `FindBoost.cmake`. We need to use recent vcpkg to use `BoostConfig.cmake` because old Boost doesn't provide it. ### What changes are included in this PR? * Update `vcpkg.json` for `cpp/` and `c_glib/`. * Always use the latest vcpkg instead of using vcpkg bundled in Visual Studio. * C++: Don't use gflags for building bundled gRPC because bundled gRPC doens't use gflags. * C++: Don't define `-D*_EXPORT` macros to `Cflags.private` in `*.pc` because pkgconf 1.7.4 or later uses `--static` by default on Windows. If `--static` is used by default, `*_EXPORT`s are defined for shared linking. It causes link errors. This is a workaround of this. * FYI: pkgconf/pkgconf@008d706 * GLib: Add support for finding Apache Arrow C++ by CMake. It's another workaround for the pkgconf problem. If we use CMake, the pkgconf problem isn't related. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#45994 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Rationale for this change
It seems that
FindBoost.cmakein CMake may not set dependencies correctly. Furthermore, it has been removed in CMake 4.0.What changes are included in this PR?
Enable
CMP0167to use Boost's CMake packages instead ofFindBoost.cmakein CMake.Are these changes tested?
Yes.
Are there any user-facing changes?
No.