WillAyd commented on code in PR #47282:
URL: https://github.com/apache/arrow/pull/47282#discussion_r2291456685
##########
.github/workflows/cpp_extra.yml:
##########
@@ -278,3 +279,70 @@ jobs:
cmake --build cpp/examples/minimal_build.build
cd cpp/examples/minimal_build
../minimal_build.build/arrow-example
+
+ meson-windows:
+ needs: check-labels
+ name: ${{ matrix.title }}
+ runs-on: ${{ matrix.runs-on }}
+ if: needs.check-labels.outputs.ci-extra == 'true'
+ timeout-minutes: 75
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - runs-on: windows-2022
+ title: AMD64 Windows Meson
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download Timezone Database
+ shell: bash
+ run: ci/scripts/download_tz_database.sh
+ - name: Install ccache
+ shell: bash
+ run: |
+ ci/scripts/install_ccache.sh 4.6.3 /usr
+ - name: Setup ccache
+ shell: bash
+ run: |
+ ci/scripts/ccache_setup.sh
+ - name: ccache info
+ id: ccache-info
+ shell: bash
+ run: |
+ echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT
+ - name: Cache ccache
+ uses: actions/cache@v4
+ with:
+ path: ${{ steps.ccache-info.outputs.cache-dir }}
+ key: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-${{
hashFiles('cpp/**') }}
+ restore-keys: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-
+ env:
+ # We can invalidate the current cache by updating this.
+ CACHE_VERSION: "2022-09-13"
Review Comment:
I'm not sure what date this is supposed to be so just picked today's. Hope
that is OK!
##########
cpp/src/arrow/compute/CMakeLists.txt:
##########
@@ -52,6 +52,7 @@ if(ARROW_TESTING AND ARROW_COMPUTE)
target_link_libraries(arrow_compute_testing
PUBLIC $<TARGET_OBJECTS:arrow_compute_core_testing>
PUBLIC ${ARROW_GTEST_GTEST_MAIN})
+ target_compile_definitions(arrow_compute_testing PRIVATE COMPILED_BY_CMAKE)
Review Comment:
While there is a gtest version difference, I don't think that is the
problem. The CMake configuration has had a few issues dating back to
https://github.com/apache/arrow/pull/46839 and
https://github.com/apache/arrow/pull/47049 and it currently special cases the
gtest dependency linkage (the Meson configuration does not, but also seems OK
with it...)
##########
cpp/src/arrow/flight/meson.build:
##########
@@ -44,7 +44,17 @@ install_headers(
subdir: 'arrow/flight',
)
-grpc_dep = dependency('grpc++')
+# We specifically need to use the grpc subproject and cannot use a system
installion
+# due to https://github.com/mesonbuild/meson/issues/14905
Review Comment:
Using full_path like that is unfortunately not an option and will yield
errors like:
```
ninja: error: 'grpc_cpp_plugin.exe', needed by
'src/arrow/flight/Flight.grpc.pb.h', missing and no known rule to make it
```
In any case the pkg-config name was always wrong. I've updated that here -
maybe that was the problem?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]