Stefan Novak created ARROW-17763:
------------------------------------
Summary: Allow Bazel to pass custom __DATE__, __TIME__, and
__TIMESTAMP__ flags to Arrow's toolchain
Key: ARROW-17763
URL: https://issues.apache.org/jira/browse/ARROW-17763
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Affects Versions: 9.0.0
Reporter: Stefan Novak
Hello!
I've been looking into incorporating Arrow into a Bazel build build project and
have been having some challenges getting it to work.
I've been using Bazel's
[rules_foreign_cc|https://bazelbuild.github.io/rules_foreign_cc/main/index.html]
to call CMake, however the build process is erroring out as [described by
another community
member|[https://github.com/bazelbuild/rules_foreign_cc/issues/879]].
One thing that I've learned: Bazel's C++ integration will
[specify|[https://github.com/bazelbuild/bazel/blob/5.3.0/tools/cpp/unix_cc_configure.bzl#L622-L624|https://github.com/bazelbuild/bazel/blob/5.3.0/tools/cpp/unix_cc_configure.bzl#L622-L624]).]]
`__DATE__`, `__TIME__`, and `__TIMESTAMP__` flags to ensure reproducible
builds.
These values are expected to be quoted strings. However, when Arrow's toolchain
[translates|[https://github.com/apache/arrow/blob/apache-arrow-9.0.0/cpp/cmake_modules/ThirdpartyToolchain.cmake#L4874]]
`CMAKE_CXX_FLAGS` to `ARROW_CXX_COMPILER_FLAGS`, CMake is
[calling|https://github.com/apache/arrow/blob/apache-arrow-9.0.0/cpp/cmake_modules/ThirdpartyToolchain.cmake#L4874]
`configure_file(...)` with the `ESCAPE_QUOTES` option which is mucking up the
parsing.
Does anyone happen to have any recommendations for a workaround or a fix?
Thank you! I appreciate everyone's efforts in continuing to develop Arrow.
Cheers,
Stefan
--
This message was sent by Atlassian Jira
(v8.20.10#820010)