This is an automated email from the ASF dual-hosted git repository. SYaoJun pushed a commit to branch ci-arrow-source-gating in repository https://gitbox.apache.org/repos/asf/incubator-graphar.git
commit 92c6d0ac256dd6bfa489db51703172a6959c5be9 Author: Jason <[email protected]> AuthorDate: Mon Jul 20 21:29:35 2026 +0800 fix: unify Arrow linking in benchmarks and add ASan options via CROSSCOMPILING_EMULATOR - benchmarks: replace raw arrow/parquet lib names with CMake imported targets (Arrow::arrow_static/Parquet::parquet_static) to properly propagate transitive deps like abseil - tests: set CROSSCOMPILING_EMULATOR with ASAN_OPTIONS=detect_container_overflow=0 to suppress false positives from non-instrumented Arrow static libs during test discovery Signed-off-by: Jason <[email protected]> --- cpp/benchmarks/CMakeLists.txt | 42 +++++++++++++++++++++++++++--------------- cpp/test/CMakeLists.txt | 6 ++++++ 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt index 75d28f97..8cacc153 100644 --- a/cpp/benchmarks/CMakeLists.txt +++ b/cpp/benchmarks/CMakeLists.txt @@ -29,21 +29,11 @@ macro(add_benchmark target) add_executable(${target} ${add_test_SRCS}) target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD}) target_include_directories(${target} PRIVATE ${PROJECT_SOURCE_DIR}/thirdparty) - if(APPLE) - target_link_libraries(${target} - PRIVATE benchmark::benchmark_main - graphar - Arrow::arrow_shared - Parquet::parquet_shared - ${CMAKE_DL_LIBS}) - else() - target_link_libraries(${target} - PRIVATE benchmark::benchmark_main - graphar - parquet - arrow - ${CMAKE_DL_LIBS}) - endif() + target_link_libraries(${target} + PRIVATE benchmark::benchmark_main + graphar + ${CMAKE_DL_LIBS}) + if(BUILD_ARROW_FROM_SOURCE) target_include_directories(${target} SYSTEM BEFORE PRIVATE ${GAR_ARROW_INCLUDE_DIR}) if(APPLE) @@ -65,6 +55,28 @@ macro(add_benchmark target) "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}" -Wl,--no-whole-archive) endif() + else() + if(APPLE) + if(USE_STATIC_ARROW) + target_link_libraries(${target} PRIVATE -Wl,-force_load Arrow::arrow_static + Parquet::parquet_static) + else() + target_link_libraries(${target} PRIVATE Arrow::arrow_shared + Parquet::parquet_shared) + endif() + else() + if(USE_STATIC_ARROW) + target_link_libraries(${target} + PRIVATE -Wl,--exclude-libs,ALL + -Wl,--whole-archive + Arrow::arrow_static + Parquet::parquet_static + -Wl,--no-whole-archive) + else() + target_link_libraries(${target} PRIVATE Arrow::arrow_shared + Parquet::parquet_shared) + endif() + endif() endif() endmacro() diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt index 827b50b8..187e91b0 100644 --- a/cpp/test/CMakeLists.txt +++ b/cpp/test/CMakeLists.txt @@ -82,6 +82,12 @@ macro(add_graphar_test target) include(CTest) include(Catch) + + if(GRAPHAR_ENABLE_SANITIZER) + set_target_properties(${target} + PROPERTIES CROSSCOMPILING_EMULATOR "env;ASAN_OPTIONS=detect_container_overflow=0" + ) + endif() catch_discover_tests(${target}) endmacro() --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
