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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to