This is an automated email from the ASF dual-hosted git repository. uwe pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push: new 21e9d74 ARROW-5245: [CI][C++] Unpin cmake format (current version is 5.1) 21e9d74 is described below commit 21e9d74b951d9b65ca0c186c8b6de8cc53cc225f Author: Micah Kornfield <emkornfi...@gmail.com> AuthorDate: Sun May 26 14:15:50 2019 +0200 ARROW-5245: [CI][C++] Unpin cmake format (current version is 5.1) It looks like some formatting has changed going from 4 to 5. For the most part it looks more readable, but I'm not sure. Author: Micah Kornfield <emkornfi...@gmail.com> Closes #4388 from emkornfield/unpin_cmake and squashes the following commits: e2d48fd2f <Micah Kornfield> run cmake format and turn off autosort c965fc994 <Micah Kornfield> ARROW-5245: Unpin cmake format --- ci/travis_lint.sh | 2 +- cpp/CMakeLists.txt | 18 +- cpp/cmake_modules/BuildUtils.cmake | 13 +- cpp/cmake_modules/DefineOptions.cmake | 2 +- cpp/cmake_modules/FindClangTools.cmake | 5 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 467 ++++++++------------- cpp/cmake_modules/san-config.cmake | 12 +- cpp/src/arrow/adapters/orc/CMakeLists.txt | 8 +- cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt | 7 +- .../arrow/dbi/hiveserver2/thrift/CMakeLists.txt | 23 +- cpp/src/arrow/flight/CMakeLists.txt | 44 +- cpp/src/arrow/ipc/CMakeLists.txt | 2 +- cpp/src/arrow/python/CMakeLists.txt | 7 +- cpp/src/gandiva/CMakeLists.txt | 6 +- cpp/src/gandiva/precompiled/CMakeLists.txt | 13 +- cpp/src/gandiva/tests/CMakeLists.txt | 6 +- cpp/src/parquet/CMakeLists.txt | 22 +- cpp/src/plasma/CMakeLists.txt | 21 +- python/CMakeLists.txt | 14 +- run-cmake-format.py | 4 +- 20 files changed, 294 insertions(+), 402 deletions(-) diff --git a/ci/travis_lint.sh b/ci/travis_lint.sh index eb0ef43..1c36eaf 100755 --- a/ci/travis_lint.sh +++ b/ci/travis_lint.sh @@ -31,7 +31,7 @@ pre-commit install pre-commit run hadolint -a # CMake formatting check -pip install cmake_format==0.4.5 +pip install cmake_format $TRAVIS_BUILD_DIR/run-cmake-format.py --check # C++ code linting diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 6be40c7..4c70a38 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -361,7 +361,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) set(MORE_ARGS "-T") endif() execute_process(COMMAND ln ${MORE_ARGS} -sf ${BUILD_OUTPUT_ROOT_DIRECTORY} - ${CMAKE_CURRENT_BINARY_DIR}/build/latest) + ${CMAKE_CURRENT_BINARY_DIR}/build/latest) else() set(BUILD_OUTPUT_ROOT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${BUILD_SUBDIR_NAME}/") endif() @@ -595,11 +595,8 @@ if(ARROW_STATIC_LINK_LIBS) add_dependencies(arrow_dependencies ${ARROW_STATIC_LINK_LIBS}) endif() -set(ARROW_SHARED_PRIVATE_LINK_LIBS - ${ARROW_STATIC_LINK_LIBS} - ${BOOST_SYSTEM_LIBRARY} - ${BOOST_FILESYSTEM_LIBRARY} - ${BOOST_REGEX_LIBRARY}) +set(ARROW_SHARED_PRIVATE_LINK_LIBS ${ARROW_STATIC_LINK_LIBS} ${BOOST_SYSTEM_LIBRARY} + ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_REGEX_LIBRARY}) list(APPEND ARROW_STATIC_LINK_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_REGEX_LIBRARY}) @@ -623,11 +620,8 @@ if(ARROW_BUILD_BENCHMARKS) toolchain-benchmarks) endif() -set(ARROW_TEST_STATIC_LINK_LIBS - arrow_testing_static - arrow_static - ${ARROW_LINK_LIBS} - ${ARROW_TEST_LINK_TOOLCHAIN}) +set(ARROW_TEST_STATIC_LINK_LIBS arrow_testing_static arrow_static ${ARROW_LINK_LIBS} + ${ARROW_TEST_LINK_TOOLCHAIN}) set(ARROW_TEST_SHARED_LINK_LIBS arrow_testing_shared @@ -670,7 +664,7 @@ if(ARROW_BUILD_BENCHMARKS) endif() set(ARROW_BENCHMARK_LINK_LIBS benchmark::benchmark_main benchmark::benchmark - ${ARROW_TEST_LINK_LIBS}) + ${ARROW_TEST_LINK_LIBS}) endif() set(ARROW_SYSTEM_LINK_LIBS) diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 7f9af7f..45cff6e 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -281,8 +281,7 @@ function(ADD_ARROW_LIB LIB_NAME) RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() if(BUILD_STATIC) @@ -333,8 +332,7 @@ function(ADD_ARROW_LIB LIB_NAME) RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() # Modify variable in calling scope @@ -370,7 +368,12 @@ endfunction() function(ADD_BENCHMARK REL_BENCHMARK_NAME) set(options) set(one_value_args) - set(multi_value_args EXTRA_LINK_LIBS STATIC_LINK_LIBS DEPENDENCIES PREFIX LABELS) + set(multi_value_args + EXTRA_LINK_LIBS + STATIC_LINK_LIBS + DEPENDENCIES + PREFIX + LABELS) cmake_parse_arguments(ARG "${options}" "${one_value_args}" diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake index 2fd49d9..8ea7346 100644 --- a/cpp/cmake_modules/DefineOptions.cmake +++ b/cpp/cmake_modules/DefineOptions.cmake @@ -393,7 +393,7 @@ macro(config_summary) file(APPEND ${summary} "\"source_dir\": \"${CMAKE_CURRENT_SOURCE_DIR}\",\n") if(${CMAKE_EXPORT_COMPILE_COMMANDS}) file(APPEND ${summary} "\"compile_commands\": " - "\"${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json\",\n") + "\"${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json\",\n") endif() file(APPEND ${summary} "\"arrow_version\": \"${ARROW_VERSION}\"\n") file(APPEND ${summary} "}\n") diff --git a/cpp/cmake_modules/FindClangTools.cmake b/cpp/cmake_modules/FindClangTools.cmake index 90bd44e..d64cd89 100644 --- a/cpp/cmake_modules/FindClangTools.cmake +++ b/cpp/cmake_modules/FindClangTools.cmake @@ -95,7 +95,7 @@ if(ARROW_LLVM_VERSION) if("${CLANG_FORMAT_BIN}" STREQUAL "CLANG_FORMAT_BIN-NOTFOUND") # binary was still not found, look into Cellar file(GLOB CLANG_FORMAT_PATH - "${HOMEBREW_PREFIX}/Cellar/llvm/${ARROW_LLVM_VERSION}.*") + "${HOMEBREW_PREFIX}/Cellar/llvm/${ARROW_LLVM_VERSION}.*") find_program(CLANG_FORMAT_BIN NAMES clang-format PATHS "${CLANG_FORMAT_PATH}/bin" @@ -114,7 +114,8 @@ if(ARROW_LLVM_VERSION) if( NOT ( - "${CLANG_FORMAT_FOUND_VERSION_MESSAGE}" MATCHES + "${CLANG_FORMAT_FOUND_VERSION_MESSAGE}" + MATCHES "^clang-format version ${ARROW_LLVM_MAJOR_VERSION}\\.${ARROW_LLVM_MINOR_VERSION}.*" )) set(CLANG_FORMAT_BIN "CLANG_FORMAT_BIN-NOTFOUND") diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 7677e72..8c7497e 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -23,7 +23,8 @@ add_custom_target(toolchain-tests) # ---------------------------------------------------------------------- # Toolchain linkage options -set(ARROW_RE2_LINKAGE "static" +set(ARROW_RE2_LINKAGE + "static" CACHE STRING "How to link the re2 library. static|shared (default static)") if(ARROW_PROTOBUF_USE_SHARED) @@ -346,6 +347,7 @@ if(DEFINED ENV{ARROW_URIPARSER_URL}) else() set( URIPARSER_SOURCE_URL + "https://github.com/uriparser/uriparser/archive/uriparser-${URIPARSER_VERSION}.tar.gz" ) endif() @@ -388,7 +390,7 @@ endif() # and the invocation of make/ninja is in distinct subshell without the same # environment (CC/CXX). set(EP_COMMON_TOOLCHAIN -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) if(CMAKE_AR) set(EP_COMMON_TOOLCHAIN ${EP_COMMON_TOOLCHAIN} -DCMAKE_AR=${CMAKE_AR}) @@ -411,7 +413,15 @@ set(EP_COMMON_CMAKE_ARGS -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}) if(NOT ARROW_VERBOSE_THIRDPARTY_BUILD) - set(EP_LOG_OPTIONS LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_DOWNLOAD 1) + set(EP_LOG_OPTIONS + LOG_CONFIGURE + 1 + LOG_BUILD + 1 + LOG_INSTALL + 1 + LOG_DOWNLOAD + 1) set(Boost_DEBUG FALSE) else() set(EP_LOG_OPTIONS) @@ -454,18 +464,14 @@ macro(build_double_conversion) ) set(DOUBLE_CONVERSION_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} - "-DCMAKE_INSTALL_PREFIX=${DOUBLE_CONVERSION_PREFIX}") + "-DCMAKE_INSTALL_PREFIX=${DOUBLE_CONVERSION_PREFIX}") externalproject_add(double-conversion_ep ${EP_LOG_OPTIONS} - INSTALL_DIR - ${DOUBLE_CONVERSION_PREFIX} - URL - ${DOUBLE_CONVERSION_SOURCE_URL} - CMAKE_ARGS - ${DOUBLE_CONVERSION_CMAKE_ARGS} - BUILD_BYPRODUCTS - "${DOUBLE_CONVERSION_STATIC_LIB}") + INSTALL_DIR ${DOUBLE_CONVERSION_PREFIX} + URL ${DOUBLE_CONVERSION_SOURCE_URL} + CMAKE_ARGS ${DOUBLE_CONVERSION_CMAKE_ARGS} + BUILD_BYPRODUCTS "${DOUBLE_CONVERSION_STATIC_LIB}") add_library(double-conversion STATIC IMPORTED) set_target_properties(double-conversion @@ -555,14 +561,10 @@ macro(build_uriparser) endif() externalproject_add(uriparser_ep - URL - ${URIPARSER_SOURCE_URL} - CMAKE_ARGS - ${URIPARSER_CMAKE_ARGS} - BUILD_BYPRODUCTS - ${URIPARSER_STATIC_LIB} - INSTALL_DIR - ${URIPARSER_PREFIX} + URL ${URIPARSER_SOURCE_URL} + CMAKE_ARGS ${URIPARSER_CMAKE_ARGS} + BUILD_BYPRODUCTS ${URIPARSER_STATIC_LIB} + INSTALL_DIR ${URIPARSER_PREFIX} ${EP_LOG_OPTIONS}) add_library(uriparser::uriparser STATIC IMPORTED) @@ -604,24 +606,17 @@ macro(build_snappy) "${SNAPPY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" ) - set(SNAPPY_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - -DCMAKE_INSTALL_LIBDIR=lib - -DSNAPPY_BUILD_TESTS=OFF - "-DCMAKE_INSTALL_PREFIX=${SNAPPY_PREFIX}") + set(SNAPPY_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_LIBDIR=lib + -DSNAPPY_BUILD_TESTS=OFF + "-DCMAKE_INSTALL_PREFIX=${SNAPPY_PREFIX}") externalproject_add(snappy_ep ${EP_LOG_OPTIONS} - BUILD_IN_SOURCE - 1 - INSTALL_DIR - ${SNAPPY_PREFIX} - URL - ${SNAPPY_SOURCE_URL} - CMAKE_ARGS - ${SNAPPY_CMAKE_ARGS} - BUILD_BYPRODUCTS - "${SNAPPY_STATIC_LIB}") + BUILD_IN_SOURCE 1 + INSTALL_DIR ${SNAPPY_PREFIX} + URL ${SNAPPY_SOURCE_URL} + CMAKE_ARGS ${SNAPPY_CMAKE_ARGS} + BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}") file(MAKE_DIRECTORY "${SNAPPY_PREFIX}/include") @@ -685,25 +680,18 @@ macro(build_brotli) BROTLI_STATIC_LIBRARY_COMMON "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX}" ) - set(BROTLI_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - "-DCMAKE_INSTALL_PREFIX=${BROTLI_PREFIX}" - -DCMAKE_INSTALL_LIBDIR=lib - -DBUILD_SHARED_LIBS=OFF) + set(BROTLI_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${BROTLI_PREFIX}" + -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=OFF) externalproject_add(brotli_ep - URL - ${BROTLI_SOURCE_URL} - BUILD_BYPRODUCTS - "${BROTLI_STATIC_LIBRARY_ENC}" - "${BROTLI_STATIC_LIBRARY_DEC}" - "${BROTLI_STATIC_LIBRARY_COMMON}" - ${BROTLI_BUILD_BYPRODUCTS} - ${EP_LOG_OPTIONS} - CMAKE_ARGS - ${BROTLI_CMAKE_ARGS} - STEP_TARGETS - headers_copy) + URL ${BROTLI_SOURCE_URL} + BUILD_BYPRODUCTS "${BROTLI_STATIC_LIBRARY_ENC}" + "${BROTLI_STATIC_LIBRARY_DEC}" + "${BROTLI_STATIC_LIBRARY_COMMON}" + ${BROTLI_BUILD_BYPRODUCTS} + ${EP_LOG_OPTIONS} + CMAKE_ARGS ${BROTLI_CMAKE_ARGS} + STEP_TARGETS headers_copy) add_dependencies(toolchain brotli_ep) file(MAKE_DIRECTORY "${BROTLI_INCLUDE_DIR}") @@ -768,15 +756,10 @@ macro(build_glog) -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${GLOG_CMAKE_C_FLAGS} -DCMAKE_CXX_FLAGS=${GLOG_CMAKE_CXX_FLAGS}) externalproject_add(glog_ep - URL - ${GLOG_SOURCE_URL} - BUILD_IN_SOURCE - 1 - BUILD_BYPRODUCTS - "${GLOG_STATIC_LIB}" - CMAKE_ARGS - ${GLOG_CMAKE_ARGS} - ${EP_LOG_OPTIONS}) + URL ${GLOG_SOURCE_URL} + BUILD_IN_SOURCE 1 + BUILD_BYPRODUCTS "${GLOG_STATIC_LIB}" + CMAKE_ARGS ${GLOG_CMAKE_ARGS} ${EP_LOG_OPTIONS}) add_dependencies(toolchain glog_ep) file(MAKE_DIRECTORY "${GLOG_INCLUDE_DIR}") @@ -826,15 +809,10 @@ macro(build_gflags) file(MAKE_DIRECTORY "${GFLAGS_INCLUDE_DIR}") externalproject_add(gflags_ep - URL - ${GFLAGS_SOURCE_URL} - ${EP_LOG_OPTIONS} - BUILD_IN_SOURCE - 1 - BUILD_BYPRODUCTS - "${GFLAGS_STATIC_LIB}" - CMAKE_ARGS - ${GFLAGS_CMAKE_ARGS}) + URL ${GFLAGS_SOURCE_URL} ${EP_LOG_OPTIONS} + BUILD_IN_SOURCE 1 + BUILD_BYPRODUCTS "${GFLAGS_STATIC_LIB}" + CMAKE_ARGS ${GFLAGS_CMAKE_ARGS}) add_dependencies(toolchain gflags_ep) @@ -944,18 +922,12 @@ macro(build_thrift) externalproject_add( winflexbison_ep URL - https://github.com/lexxmark/winflexbison/releases/download/v.${WINFLEXBISON_VERSION}/win_flex_bison-${WINFLEXBISON_VERSION}.zip - URL_HASH - MD5=a2e979ea9928fbf8567e995e9c0df765 - SOURCE_DIR - ${WINFLEXBISON_PREFIX} - CONFIGURE_COMMAND - "" - BUILD_COMMAND - "" - INSTALL_COMMAND - "" - ${EP_LOG_OPTIONS}) + https://github.com/lexxmark/winflexbison/releases/download/v.${WINFLEXBISON_VERSION}/win_flex_bison-${WINFLEXBISON_VERSION}.zip + URL_HASH MD5=a2e979ea9928fbf8567e995e9c0df765 + SOURCE_DIR ${WINFLEXBISON_PREFIX} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" ${EP_LOG_OPTIONS}) set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} winflexbison_ep) set(THRIFT_CMAKE_ARGS @@ -988,20 +960,14 @@ macro(build_thrift) endif() endif() set(THRIFT_CMAKE_ARGS "-DBISON_EXECUTABLE=${THRIFT_BISON_EXECUTABLE}" - ${THRIFT_CMAKE_ARGS}) + ${THRIFT_CMAKE_ARGS}) endif() externalproject_add(thrift_ep - URL - ${THRIFT_SOURCE_URL} - BUILD_BYPRODUCTS - "${THRIFT_STATIC_LIB}" - "${THRIFT_COMPILER}" - CMAKE_ARGS - ${THRIFT_CMAKE_ARGS} - DEPENDS - ${THRIFT_DEPENDENCIES} - ${EP_LOG_OPTIONS}) + URL ${THRIFT_SOURCE_URL} + BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" "${THRIFT_COMPILER}" + CMAKE_ARGS ${THRIFT_CMAKE_ARGS} + DEPENDS ${THRIFT_DEPENDENCIES} ${EP_LOG_OPTIONS}) add_library(Thrift::thrift STATIC IMPORTED) # The include directory must exist before it is referenced by a target. @@ -1050,20 +1016,12 @@ macro(build_protobuf) "CXXFLAGS=${EP_CXX_FLAGS}") externalproject_add(protobuf_ep - CONFIGURE_COMMAND - "./configure" - ${PROTOBUF_CONFIGURE_ARGS} - BUILD_COMMAND - ${MAKE} - ${MAKE_BUILD_ARGS} - BUILD_IN_SOURCE - 1 - URL - ${PROTOBUF_SOURCE_URL} - BUILD_BYPRODUCTS - "${PROTOBUF_STATIC_LIB}" - "${PROTOBUF_COMPILER}" - ${EP_LOG_OPTIONS}) + CONFIGURE_COMMAND "./configure" ${PROTOBUF_CONFIGURE_ARGS} + BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS} + BUILD_IN_SOURCE 1 + URL ${PROTOBUF_SOURCE_URL} + BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOBUF_COMPILER}" + ${EP_LOG_OPTIONS}) file(MAKE_DIRECTORY "${PROTOBUF_INCLUDE_DIR}") @@ -1148,15 +1106,11 @@ if(ARROW_JEMALLOC) "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src/jemalloc_ep/dist/") set(JEMALLOC_STATIC_LIB "${JEMALLOC_PREFIX}/lib/libjemalloc_pic${CMAKE_STATIC_LIBRARY_SUFFIX}") - externalproject_add(jemalloc_ep - URL - ${JEMALLOC_SOURCE_URL} - PATCH_COMMAND - touch - doc/jemalloc.3 - doc/jemalloc.html - CONFIGURE_COMMAND - ./autogen.sh + externalproject_add( + jemalloc_ep + URL ${JEMALLOC_SOURCE_URL} + PATCH_COMMAND touch doc/jemalloc.3 doc/jemalloc.html + CONFIGURE_COMMAND ./autogen.sh "AR=${CMAKE_AR}" "CC=${CMAKE_C_COMPILER}" "--prefix=${JEMALLOC_PREFIX}" @@ -1166,18 +1120,11 @@ if(ARROW_JEMALLOC) # Don't override operator new() "--disable-cxx" "--disable-libdl" # See https://github.com/jemalloc/jemalloc/issues/1237 - "--disable-initial-exec-tls" - ${EP_LOG_OPTIONS} - BUILD_IN_SOURCE - 1 - BUILD_COMMAND - ${MAKE} - ${MAKE_BUILD_ARGS} - BUILD_BYPRODUCTS - "${JEMALLOC_STATIC_LIB}" - INSTALL_COMMAND - ${MAKE} - install) + "--disable-initial-exec-tls" ${EP_LOG_OPTIONS} + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS} + BUILD_BYPRODUCTS "${JEMALLOC_STATIC_LIB}" + INSTALL_COMMAND ${MAKE} install) # Don't use the include directory directly so that we can point to a path # that is unique to our codebase. @@ -1211,11 +1158,8 @@ macro(build_gtest) endif() if(APPLE) - set(GTEST_CMAKE_CXX_FLAGS - ${GTEST_CMAKE_CXX_FLAGS} - -DGTEST_USE_OWN_TR1_TUPLE=1 - -Wno-unused-value - -Wno-ignored-attributes) + set(GTEST_CMAKE_CXX_FLAGS ${GTEST_CMAKE_CXX_FLAGS} -DGTEST_USE_OWN_TR1_TUPLE=1 + -Wno-unused-value -Wno-ignored-attributes) endif() set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest_ep-prefix/src/googletest_ep") @@ -1228,11 +1172,9 @@ macro(build_gtest) GTEST_MAIN_STATIC_LIB "${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_STATIC_LIBRARY_SUFFIX}" ) - set(GTEST_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - "-DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX}" - "-DCMAKE_INSTALL_LIBDIR=lib" - -DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}) + set(GTEST_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX}" + "-DCMAKE_INSTALL_LIBDIR=lib" + -DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}) set(GMOCK_INCLUDE_DIR "${GTEST_PREFIX}/include") set( GMOCK_STATIC_LIB @@ -1244,15 +1186,10 @@ macro(build_gtest) endif() externalproject_add(googletest_ep - URL - ${GTEST_SOURCE_URL} - BUILD_BYPRODUCTS - ${GTEST_STATIC_LIB} - ${GTEST_MAIN_STATIC_LIB} - ${GMOCK_STATIC_LIB} - CMAKE_ARGS - ${GTEST_CMAKE_ARGS} - ${EP_LOG_OPTIONS}) + URL ${GTEST_SOURCE_URL} + BUILD_BYPRODUCTS ${GTEST_STATIC_LIB} ${GTEST_MAIN_STATIC_LIB} + ${GMOCK_STATIC_LIB} + CMAKE_ARGS ${GTEST_CMAKE_ARGS} ${EP_LOG_OPTIONS}) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GTEST_INCLUDE_DIR}") @@ -1339,24 +1276,19 @@ macro(build_benchmark) GBENCHMARK_MAIN_STATIC_LIB "${GBENCHMARK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark_main${CMAKE_STATIC_LIBRARY_SUFFIX}" ) - set(GBENCHMARK_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - "-DCMAKE_INSTALL_PREFIX=${GBENCHMARK_PREFIX}" - -DBENCHMARK_ENABLE_TESTING=OFF - -DCMAKE_CXX_FLAGS=${GBENCHMARK_CMAKE_CXX_FLAGS}) + set(GBENCHMARK_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=${GBENCHMARK_PREFIX}" + -DBENCHMARK_ENABLE_TESTING=OFF + -DCMAKE_CXX_FLAGS=${GBENCHMARK_CMAKE_CXX_FLAGS}) if(APPLE) set(GBENCHMARK_CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS} "-DBENCHMARK_USE_LIBCXX=ON") endif() externalproject_add(gbenchmark_ep - URL - ${GBENCHMARK_SOURCE_URL} - BUILD_BYPRODUCTS - "${GBENCHMARK_STATIC_LIB}" - "${GBENCHMARK_MAIN_STATIC_LIB}" - CMAKE_ARGS - ${GBENCHMARK_CMAKE_ARGS} - ${EP_LOG_OPTIONS}) + URL ${GBENCHMARK_SOURCE_URL} + BUILD_BYPRODUCTS "${GBENCHMARK_STATIC_LIB}" + "${GBENCHMARK_MAIN_STATIC_LIB}" + CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS} ${EP_LOG_OPTIONS}) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GBENCHMARK_INCLUDE_DIR}") @@ -1390,20 +1322,15 @@ macro(build_rapidjson) message(STATUS "Building rapidjson from source") set(RAPIDJSON_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/rapidjson_ep/src/rapidjson_ep-install") - set(RAPIDJSON_CMAKE_ARGS - -DRAPIDJSON_BUILD_DOC=OFF - -DRAPIDJSON_BUILD_EXAMPLES=OFF - -DRAPIDJSON_BUILD_TESTS=OFF - "-DCMAKE_INSTALL_PREFIX=${RAPIDJSON_PREFIX}") + set(RAPIDJSON_CMAKE_ARGS -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF + -DRAPIDJSON_BUILD_TESTS=OFF + "-DCMAKE_INSTALL_PREFIX=${RAPIDJSON_PREFIX}") externalproject_add(rapidjson_ep ${EP_LOG_OPTIONS} - PREFIX - "${CMAKE_BINARY_DIR}" - URL - ${RAPIDJSON_SOURCE_URL} - CMAKE_ARGS - ${RAPIDJSON_CMAKE_ARGS}) + PREFIX "${CMAKE_BINARY_DIR}" + URL ${RAPIDJSON_SOURCE_URL} + CMAKE_ARGS ${RAPIDJSON_CMAKE_ARGS}) set(RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_PREFIX}/include") @@ -1460,18 +1387,14 @@ macro(build_flatbuffers) ) # We always need to do release builds, otherwise flatc will not be installed. externalproject_add(flatbuffers_ep - URL - ${FLATBUFFERS_SOURCE_URL} - BUILD_BYPRODUCTS - ${FLATBUFFERS_COMPILER} - ${FLATBUFFERS_STATIC_LIB} - CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - "-DCMAKE_BUILD_TYPE=RELEASE" - "-DCMAKE_CXX_FLAGS=${FLATBUFFERS_CMAKE_CXX_FLAGS}" - "-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}" - "-DFLATBUFFERS_BUILD_TESTS=OFF" - ${EP_LOG_OPTIONS}) + URL ${FLATBUFFERS_SOURCE_URL} + BUILD_BYPRODUCTS ${FLATBUFFERS_COMPILER} ${FLATBUFFERS_STATIC_LIB} + CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_BUILD_TYPE=RELEASE" + "-DCMAKE_CXX_FLAGS=${FLATBUFFERS_CMAKE_CXX_FLAGS}" + "-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}" + "-DFLATBUFFERS_BUILD_TESTS=OFF" + ${EP_LOG_OPTIONS}) file(MAKE_DIRECTORY "${FLATBUFFERS_PREFIX}/include") @@ -1555,16 +1478,12 @@ macro(build_zlib) endif() set(ZLIB_STATIC_LIB "${ZLIB_PREFIX}/lib/${ZLIB_STATIC_LIB_NAME}") set(ZLIB_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${ZLIB_PREFIX}" - -DBUILD_SHARED_LIBS=OFF) + -DBUILD_SHARED_LIBS=OFF) externalproject_add(zlib_ep - URL - ${ZLIB_SOURCE_URL} - ${EP_LOG_OPTIONS} - BUILD_BYPRODUCTS - "${ZLIB_STATIC_LIB}" - CMAKE_ARGS - ${ZLIB_CMAKE_ARGS}) + URL ${ZLIB_SOURCE_URL} ${EP_LOG_OPTIONS} + BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}" + CMAKE_ARGS ${ZLIB_CMAKE_ARGS}) file(MAKE_DIRECTORY "${ZLIB_PREFIX}/include") @@ -1613,30 +1532,20 @@ macro(build_lz4) else() set(LZ4_STATIC_LIB "${LZ4_BUILD_DIR}/lib/liblz4.a") set(LZ4_BUILD_COMMAND BUILD_COMMAND ${CMAKE_SOURCE_DIR}/build-support/build-lz4-lib.sh - "AR=${CMAKE_AR}") + "AR=${CMAKE_AR}") endif() # We need to copy the header in lib to directory outside of the build externalproject_add(lz4_ep - URL - ${LZ4_SOURCE_URL} - ${EP_LOG_OPTIONS} - UPDATE_COMMAND - ${CMAKE_COMMAND} - -E - copy_directory - "${LZ4_BUILD_DIR}/lib" - "${LZ4_PREFIX}/include" - ${LZ4_PATCH_COMMAND} - CONFIGURE_COMMAND - "" - INSTALL_COMMAND - "" - BINARY_DIR - ${LZ4_BUILD_DIR} - BUILD_BYPRODUCTS - ${LZ4_STATIC_LIB} - ${LZ4_BUILD_COMMAND}) + URL ${LZ4_SOURCE_URL} ${EP_LOG_OPTIONS} + UPDATE_COMMAND ${CMAKE_COMMAND} -E copy_directory + "${LZ4_BUILD_DIR}/lib" + "${LZ4_PREFIX}/include" + ${LZ4_PATCH_COMMAND} + CONFIGURE_COMMAND "" + INSTALL_COMMAND "" + BINARY_DIR ${LZ4_BUILD_DIR} + BUILD_BYPRODUCTS ${LZ4_STATIC_LIB} ${LZ4_BUILD_COMMAND}) file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") add_library(LZ4::lz4 STATIC IMPORTED) @@ -1692,16 +1601,11 @@ macro(build_zstd) externalproject_add(zstd_ep ${EP_LOG_OPTIONS} - CMAKE_ARGS - ${ZSTD_CMAKE_ARGS} - SOURCE_SUBDIR - "build/cmake" - INSTALL_DIR - ${ZSTD_PREFIX} - URL - ${ZSTD_SOURCE_URL} - BUILD_BYPRODUCTS - "${ZSTD_STATIC_LIB}") + CMAKE_ARGS ${ZSTD_CMAKE_ARGS} + SOURCE_SUBDIR "build/cmake" + INSTALL_DIR ${ZSTD_PREFIX} + URL ${ZSTD_SOURCE_URL} + BUILD_BYPRODUCTS "${ZSTD_STATIC_LIB}") file(MAKE_DIRECTORY "${ZSTD_PREFIX}/include") @@ -1735,14 +1639,10 @@ macro(build_re2) externalproject_add(re2_ep ${EP_LOG_OPTIONS} - INSTALL_DIR - ${RE2_PREFIX} - URL - ${RE2_SOURCE_URL} - CMAKE_ARGS - ${RE2_CMAKE_ARGS} - BUILD_BYPRODUCTS - "${RE2_STATIC_LIB}") + INSTALL_DIR ${RE2_PREFIX} + URL ${RE2_SOURCE_URL} + CMAKE_ARGS ${RE2_CMAKE_ARGS} + BUILD_BYPRODUCTS "${RE2_STATIC_LIB}") file(MAKE_DIRECTORY "${RE2_PREFIX}/include") add_library(RE2::re2 STATIC IMPORTED) @@ -1771,25 +1671,14 @@ macro(build_bzip2) externalproject_add(bzip2_ep ${EP_LOG_OPTIONS} - CONFIGURE_COMMAND - "" - BUILD_IN_SOURCE - 1 - BUILD_COMMAND - ${MAKE} - ${MAKE_BUILD_ARGS} - CFLAGS=${EP_C_FLAGS} - INSTALL_COMMAND - ${MAKE} - install - PREFIX=${BZIP2_PREFIX} - CFLAGS=${EP_C_FLAGS} - INSTALL_DIR - ${BZIP2_PREFIX} - URL - ${BZIP2_SOURCE_URL} - BUILD_BYPRODUCTS - "${BZIP2_STATIC_LIB}") + CONFIGURE_COMMAND "" + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS} CFLAGS=${EP_C_FLAGS} + INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} + CFLAGS=${EP_C_FLAGS} + INSTALL_DIR ${BZIP2_PREFIX} + URL ${BZIP2_SOURCE_URL} + BUILD_BYPRODUCTS "${BZIP2_STATIC_LIB}") file(MAKE_DIRECTORY "${BZIP2_PREFIX}/include") add_library(BZip2::BZip2 STATIC IMPORTED) @@ -1836,12 +1725,9 @@ macro(build_cares) externalproject_add(cares_ep ${EP_LOG_OPTIONS} - URL - ${CARES_SOURCE_URL} - CMAKE_ARGS - ${CARES_CMAKE_ARGS} - BUILD_BYPRODUCTS - "${CARES_STATIC_LIB}") + URL ${CARES_SOURCE_URL} + CMAKE_ARGS ${CARES_CMAKE_ARGS} + BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") add_dependencies(toolchain cares_ep) add_library(c-ares::cares STATIC IMPORTED) @@ -1885,7 +1771,7 @@ macro(build_grpc) set(GRPC_HOME "${GRPC_PREFIX}") set(GRPC_INCLUDE_DIR "${GRPC_PREFIX}/include") set(GRPC_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${GRPC_PREFIX}" - -DBUILD_SHARED_LIBS=OFF) + -DBUILD_SHARED_LIBS=OFF) set( GRPC_STATIC_LIBRARY_GPR @@ -1960,21 +1846,15 @@ macro(build_grpc) # Ideally, we should be able to use the tarballs, but they don't contain # vendored dependencies such as c-ares... externalproject_add(grpc_ep - URL - ${GRPC_SOURCE_URL} - LIST_SEPARATOR - | - BUILD_BYPRODUCTS - ${GRPC_STATIC_LIBRARY_GPR} - ${GRPC_STATIC_LIBRARY_GRPC} - ${GRPC_STATIC_LIBRARY_GRPCPP} - ${GRPC_STATIC_LIBRARY_ADDRESS_SORTING} - ${GRPC_CPP_PLUGIN} - CMAKE_ARGS - ${GRPC_CMAKE_ARGS} - ${EP_LOG_OPTIONS} - DEPENDS - ${grpc_dependencies}) + URL ${GRPC_SOURCE_URL} + LIST_SEPARATOR | + BUILD_BYPRODUCTS ${GRPC_STATIC_LIBRARY_GPR} + ${GRPC_STATIC_LIBRARY_GRPC} + ${GRPC_STATIC_LIBRARY_GRPCPP} + ${GRPC_STATIC_LIBRARY_ADDRESS_SORTING} + ${GRPC_CPP_PLUGIN} + CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} + DEPENDS ${grpc_dependencies}) add_library(gRPC::gpr STATIC IMPORTED) set_target_properties(gRPC::gpr @@ -2135,19 +2015,17 @@ if(ARROW_BOOST_VENDORED) set(BOOST_BUILD_COMMAND "") else() set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY} - ${BOOST_STATIC_FILESYSTEM_LIBRARY} ${BOOST_STATIC_REGEX_LIBRARY}) + ${BOOST_STATIC_FILESYSTEM_LIBRARY} + ${BOOST_STATIC_REGEX_LIBRARY}) set(BOOST_CONFIGURE_COMMAND "./bootstrap.sh" "--prefix=${BOOST_PREFIX}" - "--with-libraries=filesystem,regex,system") + "--with-libraries=filesystem,regex,system") if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") set(BOOST_BUILD_VARIANT "debug") else() set(BOOST_BUILD_VARIANT "release") endif() - set(BOOST_BUILD_COMMAND - "./b2" - "link=${BOOST_BUILD_LINK}" - "variant=${BOOST_BUILD_VARIANT}" - "cxxflags=-fPIC") + set(BOOST_BUILD_COMMAND "./b2" "link=${BOOST_BUILD_LINK}" + "variant=${BOOST_BUILD_VARIANT}" "cxxflags=-fPIC") add_thirdparty_lib(boost_system STATIC_LIB "${BOOST_STATIC_SYSTEM_LIBRARY}") @@ -2158,19 +2036,12 @@ if(ARROW_BOOST_VENDORED) set(ARROW_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY}) endif() externalproject_add(boost_ep - URL - ${BOOST_SOURCE_URL} - BUILD_BYPRODUCTS - ${BOOST_BUILD_PRODUCTS} - BUILD_IN_SOURCE - 1 - CONFIGURE_COMMAND - ${BOOST_CONFIGURE_COMMAND} - BUILD_COMMAND - ${BOOST_BUILD_COMMAND} - INSTALL_COMMAND - "" - ${EP_LOG_OPTIONS}) + URL ${BOOST_SOURCE_URL} + BUILD_BYPRODUCTS ${BOOST_BUILD_PRODUCTS} + BUILD_IN_SOURCE 1 + CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND} + BUILD_COMMAND ${BOOST_BUILD_COMMAND} + INSTALL_COMMAND "" ${EP_LOG_OPTIONS}) set(Boost_INCLUDE_DIR "${BOOST_PREFIX}") set(Boost_INCLUDE_DIRS "${BOOST_INCLUDE_DIR}") add_dependencies(toolchain boost_ep) @@ -2312,13 +2183,9 @@ if(ARROW_ORC) endif() externalproject_add(orc_ep - URL - ${ORC_SOURCE_URL} - BUILD_BYPRODUCTS - ${ORC_STATIC_LIB} - CMAKE_ARGS - ${ORC_CMAKE_ARGS} - ${EP_LOG_OPTIONS}) + URL ${ORC_SOURCE_URL} + BUILD_BYPRODUCTS ${ORC_STATIC_LIB} + CMAKE_ARGS ${ORC_CMAKE_ARGS} ${EP_LOG_OPTIONS}) add_dependencies(toolchain orc_ep) @@ -2335,7 +2202,11 @@ if(ARROW_ORC) endif() include_directories(SYSTEM ${ORC_INCLUDE_DIR}) - add_thirdparty_lib(orc STATIC_LIB ${ORC_STATIC_LIB} DEPS protobuf::libprotobuf) + add_thirdparty_lib(orc + STATIC_LIB + ${ORC_STATIC_LIB} + DEPS + protobuf::libprotobuf) if(ORC_VENDORED) add_dependencies(orc_static orc_ep) diff --git a/cpp/cmake_modules/san-config.cmake b/cpp/cmake_modules/san-config.cmake index 1ef2299..b2d3dac 100644 --- a/cpp/cmake_modules/san-config.cmake +++ b/cpp/cmake_modules/san-config.cmake @@ -20,7 +20,9 @@ endif() if(${ARROW_USE_ASAN}) if(NOT (("${COMPILER_FAMILY}" STREQUAL "clang") - OR ("${COMPILER_FAMILY}" STREQUAL "gcc" + OR ("${COMPILER_FAMILY}" + STREQUAL + "gcc" AND "${COMPILER_VERSION}" VERSION_GREATER "4.8"))) message(SEND_ERROR "Cannot use ASAN without clang or gcc >= 4.8") endif() @@ -35,7 +37,9 @@ endif() if(${ARROW_USE_UBSAN}) if(NOT (("${COMPILER_FAMILY}" STREQUAL "clang") - OR ("${COMPILER_FAMILY}" STREQUAL "gcc" + OR ("${COMPILER_FAMILY}" + STREQUAL + "gcc" AND "${COMPILER_VERSION}" VERSION_GREATER "4.9"))) message(SEND_ERROR "Cannot use UBSAN without clang or gcc >= 4.9") endif() @@ -49,7 +53,9 @@ endif() if(${ARROW_USE_TSAN}) if(NOT (("${COMPILER_FAMILY}" STREQUAL "clang") - OR ("${COMPILER_FAMILY}" STREQUAL "gcc" + OR ("${COMPILER_FAMILY}" + STREQUAL + "gcc" AND "${COMPILER_VERSION}" VERSION_GREATER "4.8"))) message(SEND_ERROR "Cannot use TSAN without clang or gcc >= 4.8") endif() diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt index 97bff89..8a29b17 100644 --- a/cpp/src/arrow/adapters/orc/CMakeLists.txt +++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt @@ -42,6 +42,10 @@ elseif(NOT MSVC) endif() set(ORC_STATIC_TEST_LINK_LIBS ${ORC_MIN_TEST_LIBS} ${ARROW_LIBRARIES_FOR_STATIC_TESTS} - orc_static) + orc_static) -add_arrow_test(adapter-test PREFIX "orc" STATIC_LINK_LIBS ${ORC_STATIC_TEST_LINK_LIBS}) +add_arrow_test(adapter-test + PREFIX + "orc" + STATIC_LINK_LIBS + ${ORC_STATIC_TEST_LINK_LIBS}) diff --git a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt index 0c3926e..e627575 100644 --- a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt @@ -101,11 +101,8 @@ set_property(SOURCE ${ARROW_HIVESERVER2_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-shadow-field") -set(ARROW_HIVESERVER2_TEST_LINK_LIBS - arrow_hiveserver2_static - arrow_hiveserver2_thrift - ${ARROW_TEST_LINK_LIBS} - Thrift::thrift) +set(ARROW_HIVESERVER2_TEST_LINK_LIBS arrow_hiveserver2_static arrow_hiveserver2_thrift + ${ARROW_TEST_LINK_LIBS} Thrift::thrift) if(ARROW_BUILD_TESTS) add_test_case(hiveserver2-test diff --git a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt index ff75128..f6c8847 100644 --- a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt @@ -44,20 +44,29 @@ function(HS2_THRIFT_GEN VAR) # All the output files we can determine based on filename. # - Does not include .skeleton.cpp files # - Does not include java output files - set(OUTPUT_BE_FILE - "${GEN_DIR}/${FIL_WE}_types.cpp" - "${GEN_DIR}/${FIL_WE}_types.h" - "${GEN_DIR}/${FIL_WE}_constants.cpp" - "${GEN_DIR}/${FIL_WE}_constants.h") + set(OUTPUT_BE_FILE "${GEN_DIR}/${FIL_WE}_types.cpp" "${GEN_DIR}/${FIL_WE}_types.h" + "${GEN_DIR}/${FIL_WE}_constants.cpp" + "${GEN_DIR}/${FIL_WE}_constants.h") list(APPEND ${VAR} ${OUTPUT_BE_FILE}) # BeeswaxService thrift generation # It depends on hive_meta_store, which in turn depends on fb303. # The java dependency is handled by maven. # We need to generate C++ src file for the parent dependencies using the "-r" option. - set(CPP_ARGS -nowarn --gen cpp -out ${GEN_DIR}) + set(CPP_ARGS + -nowarn + --gen + cpp + -out + ${GEN_DIR}) if(FIL STREQUAL "beeswax.thrift") - set(CPP_ARGS -r -nowarn --gen cpp -out ${GEN_DIR}) + set(CPP_ARGS + -r + -nowarn + --gen + cpp + -out + ${GEN_DIR}) endif(FIL STREQUAL "beeswax.thrift") # Be able to include generated ErrorCodes.thrift file diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 8b9e4d0..6ec5d5d 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -32,17 +32,13 @@ if(GRPC_HAS_ADDRESS_SORTING) endif() if(ARROW_TEST_LINKAGE STREQUAL "static") - set(ARROW_FLIGHT_TEST_LINK_LIBS - arrow_flight_static - arrow_flight_testing_static - ${ARROW_TEST_STATIC_LINK_LIBS} - ${ARROW_FLIGHT_STATIC_LINK_LIBS}) + set(ARROW_FLIGHT_TEST_LINK_LIBS arrow_flight_static arrow_flight_testing_static + ${ARROW_TEST_STATIC_LINK_LIBS} + ${ARROW_FLIGHT_STATIC_LINK_LIBS}) else() - set(ARROW_FLIGHT_TEST_LINK_LIBS - arrow_flight_shared - arrow_flight_testing_shared - ${ARROW_TEST_SHARED_LINK_LIBS} - ${ARROW_FLIGHT_STATIC_LINK_LIBS}) + set(ARROW_FLIGHT_TEST_LINK_LIBS arrow_flight_shared arrow_flight_testing_shared + ${ARROW_TEST_SHARED_LINK_LIBS} + ${ARROW_FLIGHT_STATIC_LINK_LIBS}) endif() # TODO(wesm): Protobuf shared vs static linking @@ -50,22 +46,22 @@ endif() set(FLIGHT_PROTO_PATH "${ARROW_SOURCE_DIR}/../format") set(FLIGHT_PROTO ${ARROW_SOURCE_DIR}/../format/Flight.proto) -set(FLIGHT_GENERATED_PROTO_FILES - "${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.cc" - "${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.h" - "${CMAKE_CURRENT_BINARY_DIR}/Flight.grpc.pb.cc" - "${CMAKE_CURRENT_BINARY_DIR}/Flight.grpc.pb.h") +set(FLIGHT_GENERATED_PROTO_FILES "${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.cc" + "${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.h" + "${CMAKE_CURRENT_BINARY_DIR}/Flight.grpc.pb.cc" + "${CMAKE_CURRENT_BINARY_DIR}/Flight.grpc.pb.h") set(PROTO_DEPENDS ${FLIGHT_PROTO} protobuf::libprotobuf gRPC::grpc) -add_custom_command( - OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} - COMMAND protobuf::protoc "-I${FLIGHT_PROTO_PATH}" - "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" - DEPENDS ${PROTO_DEPENDS} ARGS - COMMAND protobuf::protoc "-I${FLIGHT_PROTO_PATH}" - "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" - "--plugin=protoc-gen-grpc=${GRPC_CPP_PLUGIN}" "${FLIGHT_PROTO}") +add_custom_command(OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} + COMMAND protobuf::protoc "-I${FLIGHT_PROTO_PATH}" + "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" + DEPENDS ${PROTO_DEPENDS} ARGS + COMMAND protobuf::protoc + "-I${FLIGHT_PROTO_PATH}" + "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" + "--plugin=protoc-gen-grpc=${GRPC_CPP_PLUGIN}" + "${FLIGHT_PROTO}") set_source_files_properties(${FLIGHT_GENERATED_PROTO_FILES} PROPERTIES GENERATED TRUE) @@ -152,7 +148,7 @@ endif() if(ARROW_BUILD_BENCHMARKS) # Perf server for benchmarks set(PERF_PROTO_GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.cc" - "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.h") + "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.h") add_custom_command(OUTPUT ${PERF_PROTO_GENERATED_FILES} COMMAND protobuf::protoc "-I${CMAKE_CURRENT_SOURCE_DIR}" diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt index 4b07d7d..fe726fa 100644 --- a/cpp/src/arrow/ipc/CMakeLists.txt +++ b/cpp/src/arrow/ipc/CMakeLists.txt @@ -51,7 +51,7 @@ set_source_files_properties(File_generated.h PROPERTIES GENERATED TRUE) set(OUTPUT_DIR ${ARROW_BINARY_DIR}/src/arrow/ipc) set(FBS_OUTPUT_FILES "${OUTPUT_DIR}/File_generated.h" "${OUTPUT_DIR}/Message_generated.h" - "${OUTPUT_DIR}/feather_generated.h") + "${OUTPUT_DIR}/feather_generated.h") set(FBS_SRC ${ARROW_SOURCE_DIR}/../format/Message.fbs diff --git a/cpp/src/arrow/python/CMakeLists.txt b/cpp/src/arrow/python/CMakeLists.txt index 8df447b..d6376f5 100644 --- a/cpp/src/arrow/python/CMakeLists.txt +++ b/cpp/src/arrow/python/CMakeLists.txt @@ -127,11 +127,8 @@ if(ARROW_BUILD_TESTS) target_link_libraries(arrow_python_test_main pthread ${CMAKE_DL_LIBS}) endif() - set(ARROW_PYTHON_MIN_TEST_LIBS - arrow_python_test_main - arrow_python_shared - arrow_testing_shared - arrow_shared) + set(ARROW_PYTHON_MIN_TEST_LIBS arrow_python_test_main arrow_python_shared + arrow_testing_shared arrow_shared) set(ARROW_PYTHON_TEST_LINK_LIBS ${ARROW_PYTHON_MIN_TEST_LIBS}) diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt index 22916fd..0f70b94 100644 --- a/cpp/src/gandiva/CMakeLists.txt +++ b/cpp/src/gandiva/CMakeLists.txt @@ -84,7 +84,7 @@ set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE RE2::re2) if(ARROW_GANDIVA_STATIC_LIBSTDCPP AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)) set(GANDIVA_STATIC_LINK_LIBS ${GANDIVA_STATIC_LINK_LIBS} -static-libstdc++ - -static-libgcc) + -static-libgcc) endif() # if (MSVC) @@ -173,7 +173,9 @@ function(ADD_GANDIVA_TEST REL_TEST_NAME) set(TARGET_NAME gandiva-${REL_TEST_NAME}) if((TARGET ${TARGET_NAME}) - AND (${REL_TEST_NAME} MATCHES "llvm" + AND (${REL_TEST_NAME} + MATCHES + "llvm" OR ${REL_TEST_NAME} MATCHES "expression_registry")) # If the unit test has llvm in its name, include llvm. add_dependencies(${TARGET_NAME} LLVM::LLVM_INTERFACE) diff --git a/cpp/src/gandiva/precompiled/CMakeLists.txt b/cpp/src/gandiva/precompiled/CMakeLists.txt index ac39a62..cfd1e88 100644 --- a/cpp/src/gandiva/precompiled/CMakeLists.txt +++ b/cpp/src/gandiva/precompiled/CMakeLists.txt @@ -41,7 +41,7 @@ if(MSVC) set(FMS_COMPATIBILITY 19) endif() set(PLATFORM_CLANG_OPTIONS -std=c++14 -fms-compatibility - -fms-compatibility-version=${FMS_COMPATIBILITY}) + -fms-compatibility-version=${FMS_COMPATIBILITY}) else() set(PLATFORM_CLANG_OPTIONS -std=c++11) endif() @@ -53,8 +53,7 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) set(BC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SRC_BASE}.bc) add_custom_command( OUTPUT ${BC_FILE} - COMMAND ${CLANG_EXECUTABLE} - ${PLATFORM_CLANG_OPTIONS} + COMMAND ${CLANG_EXECUTABLE} ${PLATFORM_CLANG_OPTIONS} -DGANDIVA_IR -DNDEBUG # DCHECK macros not implemented in precompiled code -DARROW_STATIC # Do not set __declspec(dllimport) on MSVC on Arrow symbols @@ -65,8 +64,7 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) -c ${ABSOLUTE_SRC} -o - ${BC_FILE} - ${ARROW_GANDIVA_PC_CXX_FLAGS} + ${BC_FILE} ${ARROW_GANDIVA_PC_CXX_FLAGS} -I${CMAKE_SOURCE_DIR}/src DEPENDS ${SRC_FILE}) list(APPEND BC_FILES ${BC_FILE}) @@ -75,7 +73,7 @@ endforeach() # link all of the bitcode files into a single bitcode file. add_custom_command(OUTPUT ${GANDIVA_PRECOMPILED_BC_PATH} COMMAND ${LLVM_LINK_EXECUTABLE} -o ${GANDIVA_PRECOMPILED_BC_PATH} - ${BC_FILES} + ${BC_FILES} DEPENDS ${BC_FILES}) # write a cmake script to replace precompiled bitcode file's content into a .cc file @@ -92,7 +90,8 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/WritePrecompiledCC.cmake" "\ # add the previous command to the execution chain add_custom_command(OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} - COMMAND ${CMAKE_COMMAND} -P + COMMAND ${CMAKE_COMMAND} + -P "${CMAKE_CURRENT_BINARY_DIR}/WritePrecompiledCC.cmake" DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH}) diff --git a/cpp/src/gandiva/tests/CMakeLists.txt b/cpp/src/gandiva/tests/CMakeLists.txt index 06e2934..e51325f 100644 --- a/cpp/src/gandiva/tests/CMakeLists.txt +++ b/cpp/src/gandiva/tests/CMakeLists.txt @@ -33,4 +33,8 @@ add_gandiva_test(decimal_single_test) add_gandiva_test(projector_test_static SOURCES projector_test.cc USE_STATIC_LINKING) -add_arrow_benchmark(micro_benchmarks PREFIX "gandiva" EXTRA_LINK_LIBS gandiva_static) +add_arrow_benchmark(micro_benchmarks + PREFIX + "gandiva" + EXTRA_LINK_LIBS + gandiva_static) diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index 306a396..4d85bf0 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -104,19 +104,16 @@ elseif(NOT MSVC) set(PARQUET_MIN_TEST_LIBS ${PARQUET_MIN_TEST_LIBS} pthread ${CMAKE_DL_LIBS}) endif() -set(PARQUET_SHARED_TEST_LINK_LIBS - arrow_testing_shared - ${PARQUET_MIN_TEST_LIBS} - parquet_shared - Thrift::thrift) +set(PARQUET_SHARED_TEST_LINK_LIBS arrow_testing_shared ${PARQUET_MIN_TEST_LIBS} + parquet_shared Thrift::thrift) set(PARQUET_STATIC_TEST_LINK_LIBS ${PARQUET_MIN_TEST_LIBS} parquet_static - ${ARROW_LIBRARIES_FOR_STATIC_TESTS}) + ${ARROW_LIBRARIES_FOR_STATIC_TESTS}) if(WIN32 OR NOT ARROW_BUILD_SHARED) # The benchmarks depend on some static Thrift symbols set(PARQUET_BENCHMARK_LINK_OPTION STATIC_LINK_LIBS benchmark::benchmark_main - ${PARQUET_STATIC_TEST_LINK_LIBS}) + ${PARQUET_STATIC_TEST_LINK_LIBS}) else() set(PARQUET_BENCHMARK_LINK_OPTION EXTRA_LINK_LIBS parquet_shared) endif() @@ -134,7 +131,7 @@ set(THRIFT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(THRIFT_OUTPUT_FILES "${THRIFT_OUTPUT_DIR}/parquet_types.cpp") set(THRIFT_OUTPUT_FILES ${THRIFT_OUTPUT_FILES} "${THRIFT_OUTPUT_DIR}/parquet_types.h") set(THRIFT_OUTPUT_FILES ${THRIFT_OUTPUT_FILES} - "${THRIFT_OUTPUT_DIR}/parquet_constants.cpp") + "${THRIFT_OUTPUT_DIR}/parquet_constants.cpp") set(THRIFT_OUTPUT_FILES ${THRIFT_OUTPUT_FILES} "${THRIFT_OUTPUT_DIR}/parquet_constants.h") set_source_files_properties(${THRIFT_OUTPUT_FILES} PROPERTIES GENERATED TRUE) @@ -143,8 +140,9 @@ get_filename_component(ABS_PARQUET_THRIFT parquet.thrift ABSOLUTE) add_custom_command(OUTPUT ${THRIFT_OUTPUT_FILES} COMMAND ${THRIFT_COMPILER} - --gen cpp -out ${THRIFT_OUTPUT_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/parquet.thrift + --gen cpp + -out + ${THRIFT_OUTPUT_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/parquet.thrift DEPENDS ${ABS_PARQUET_THRIFT} Thrift::thrift COMMENT "Running thrift compiler on parquet.thrift" VERBATIM) @@ -189,13 +187,13 @@ if(NOT PARQUET_MINIMAL_DEPENDENCY) # Link publicly with # parquet_static (because internal users need to # transitively link all dependencies) set(PARQUET_STATIC_LINK_LIBS ${PARQUET_STATIC_LINK_LIBS} ${PARQUET_BOOST_LINK_LIBS} - Thrift::thrift) + Thrift::thrift) # Although we don't link parquet_objlib against anything, we need it to depend # on these libs as we may generate their headers via ExternalProject_Add if(ARROW_BUILD_SHARED) set(PARQUET_DEPENDENCIES ${PARQUET_DEPENDENCIES} ${PARQUET_SHARED_LINK_LIBS} - ${PARQUET_SHARED_PRIVATE_LINK_LIBS}) + ${PARQUET_SHARED_PRIVATE_LINK_LIBS}) endif() if(ARROW_BUILD_STATIC) diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index fa3b157..44e9c71 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -36,11 +36,11 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-conversion") # Compile flatbuffers set(PLASMA_FBS_SRC "${CMAKE_CURRENT_LIST_DIR}/format/plasma.fbs" - "${CMAKE_CURRENT_LIST_DIR}/format/common.fbs") + "${CMAKE_CURRENT_LIST_DIR}/format/common.fbs") set(OUTPUT_DIR ${ARROW_BINARY_DIR}/src/plasma) set(PLASMA_FBS_OUTPUT_FILES "${OUTPUT_DIR}/common_generated.h" - "${OUTPUT_DIR}/plasma_generated.h") + "${OUTPUT_DIR}/plasma_generated.h") add_custom_target(gen_plasma_fbs DEPENDS ${PLASMA_FBS_OUTPUT_FILES}) @@ -52,7 +52,9 @@ add_custom_command( # flatbuffers message Message, which can be used to store deserialized # messages in data structures. This is currently used for ObjectInfo for # example. - COMMAND flatbuffers::flatc -c -o ${OUTPUT_DIR} ${PLASMA_FBS_SRC} + COMMAND flatbuffers::flatc + -c -o + ${OUTPUT_DIR} ${PLASMA_FBS_SRC} --gen-object-api --scoped-enums DEPENDS ${PLASMA_FBS_SRC} @@ -61,7 +63,14 @@ add_custom_command( set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -set(PLASMA_SRCS client.cc common.cc fling.cc io.cc malloc.cc plasma.cc protocol.cc) +set(PLASMA_SRCS + client.cc + common.cc + fling.cc + io.cc + malloc.cc + plasma.cc + protocol.cc) set(PLASMA_STORE_SRCS dlmalloc.cc @@ -172,8 +181,8 @@ install(FILES common.h # Plasma store set_target_properties(plasma_store_server PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) -install(TARGETS plasma_store_server ${INSTALL_IS_OPTIONAL} - DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(TARGETS plasma_store_server ${INSTALL_IS_OPTIONAL} DESTINATION + ${CMAKE_INSTALL_BINDIR}) # pkg-config support arrow_add_pkg_config("plasma") diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index d1f340e..8f0a4d0 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -158,7 +158,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) set(MORE_ARGS "-T") endif() execute_process(COMMAND ln ${MORE_ARGS} -sf ${BUILD_OUTPUT_ROOT_DIRECTORY} - ${CMAKE_CURRENT_BINARY_DIR}/build/latest) + ${CMAKE_CURRENT_BINARY_DIR}/build/latest) else() set(BUILD_OUTPUT_ROOT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${BUILD_SUBDIR_NAME}") endif() @@ -418,8 +418,8 @@ if(PYARROW_BUILD_PARQUET) include_directories(SYSTEM ${PARQUET_INCLUDE_DIR}) if(PYARROW_BUNDLE_ARROW_CPP) - file(COPY ${PARQUET_INCLUDE_DIR}/parquet DESTINATION - ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) + file(COPY ${PARQUET_INCLUDE_DIR}/parquet + DESTINATION ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) endif() if(PYARROW_PARQUET_USE_SHARED) @@ -466,8 +466,8 @@ if(PYARROW_BUILD_PLASMA) include_directories(SYSTEM ${PLASMA_INCLUDE_DIR}) add_thirdparty_lib(libplasma SHARED_LIB ${PLASMA_SHARED_LIB}) - file(COPY ${ARROW_INCLUDE_DIR}/plasma DESTINATION - ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) + file(COPY ${ARROW_INCLUDE_DIR}/plasma + DESTINATION ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) if(PYARROW_BUNDLE_ARROW_CPP) bundle_arrow_lib(PLASMA_SHARED_LIB @@ -512,8 +512,8 @@ if(PYARROW_BUILD_GANDIVA) include_directories(SYSTEM ${GANDIVA_INCLUDE_DIR}) if(PYARROW_BUNDLE_ARROW_CPP) - file(COPY ${GANDIVA_INCLUDE_DIR}/gandiva DESTINATION - ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) + file(COPY ${GANDIVA_INCLUDE_DIR}/gandiva + DESTINATION ${BUILD_OUTPUT_ROOT_DIRECTORY}/include) bundle_arrow_lib(GANDIVA_SHARED_LIB ABI_VERSION diff --git a/run-cmake-format.py b/run-cmake-format.py index decb82b..d572432 100755 --- a/run-cmake-format.py +++ b/run-cmake-format.py @@ -70,7 +70,9 @@ def find_cmake_files(): def run_cmake_format(paths): # cmake-format is fast enough that running in parallel doesn't seem # necessary - cmd = ['cmake-format', '--in-place'] + paths + # autosort is off because it breaks in cmake_format 5.1 + # See: https://github.com/cheshirekow/cmake_format/issues/111 + cmd = ['cmake-format', '--in-place', '--autosort=false'] + paths try: subprocess.run(cmd, check=True) except FileNotFoundError: