--- cpp/CMakeLists.txt +++ cpp/CMakeLists.txt @@ -109,7 +109,7 @@ set(BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/build-support") set(ARROW_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") set(ARROW_DOC_DIR "share/doc/${PROJECT_NAME}") -set(ARROW_LLVM_VERSIONS "10" "9" "8" "7") +set(ARROW_LLVM_VERSIONS "12" "11" "10" "9" "8" "7") list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY) string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR --- cpp/cmake_modules/ThirdpartyToolchain.cmake +++ cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2092,10 +2092,11 @@ macro(build_re2) endmacro() if(ARROW_GANDIVA) - resolve_dependency(RE2) + find_package(re2 REQUIRED) + resolve_dependency(re2) # TODO: Don't use global includes but rather target_include_directories - get_target_property(RE2_INCLUDE_DIR RE2::re2 INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(RE2_INCLUDE_DIR re2::re2 INTERFACE_INCLUDE_DIRECTORIES) include_directories(SYSTEM ${RE2_INCLUDE_DIR}) endif() --- cpp/src/gandiva/CMakeLists.txt +++ cpp/src/gandiva/CMakeLists.txt @@ -25,8 +25,14 @@ add_custom_target(gandiva-benchmarks) add_dependencies(gandiva-all gandiva gandiva-tests gandiva-benchmarks) +# Now LLVMAlt is only for finding clang/llvm-link find_package(LLVMAlt REQUIRED) +find_package(llvm-core REQUIRED) + +string(REPLACE "." ";" VERSION_LIST ${llvm-core_VERSION}) +list(GET VERSION_LIST 0 LLVM_VERSION_MAJOR) + if(LLVM_VERSION_MAJOR LESS "10") set(GANDIVA_CXX_STANDARD ${CMAKE_CXX_STANDARD}) else() @@ -88,9 +94,9 @@ set(SRC_FILES random_generator_holder.cc ${GANDIVA_PRECOMPILED_CC_PATH}) -set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE RE2::re2) +set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared llvm-core::llvm-core re2::re2) -set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE RE2::re2) +set(GANDIVA_STATIC_LINK_LIBS arrow_static llvm-core::llvm-core re2::re2) if(ARROW_GANDIVA_STATIC_LIBSTDCPP AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)) @@ -131,7 +137,7 @@ add_arrow_lib(gandiva arrow_dependencies precompiled EXTRA_INCLUDES - $ + $ SHARED_LINK_FLAGS ${GANDIVA_SHARED_LINK_FLAGS} SHARED_LINK_LIBS @@ -225,9 +231,9 @@ add_gandiva_test(internals-test decimal_type_util_test.cc random_generator_holder_test.cc EXTRA_DEPENDENCIES - LLVM::LLVM_INTERFACE + llvm-core::llvm-core EXTRA_INCLUDES - $ + $ ${GANDIVA_INTERNALS_TEST_ARGUMENTS}) if(ARROW_GANDIVA_JAVA)