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