From 35415902c0abd5d775ecd42283887ecc8c814965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 15:11:44 +0200 Subject: [PATCH 1/8] Move run-cmake-format.py to archery --- dev/archery/archery/utils/command.py | 7 +- dev/archery/archery/utils/lint.py | 75 ++++++++++++-- dev/archery/setup.py | 2 +- docs/source/developers/cpp/development.rst | 2 +- run-cmake-format.py | 111 --------------------- 5 files changed, 72 insertions(+), 125 deletions(-) delete mode 100755 run-cmake-format.py diff --git a/dev/archery/archery/utils/command.py b/dev/archery/archery/utils/command.py index 84d2842073f..f655e2ef2e5 100644 --- a/dev/archery/archery/utils/command.py +++ b/dev/archery/archery/utils/command.py @@ -50,7 +50,8 @@ def wrapper(*argv, **kwargs): class Command: - """ A runnable command. + """ + A runnable command. Class inheriting from the Command class must provide the bin property/attribute. @@ -78,7 +79,9 @@ def run(self, *argv, **kwargs): @property def available(self): - """ Indicate if the command binary is found in PATH. """ + """ + Indicate if the command binary is found in PATH. + """ binary = shlex.split(self.bin)[0] return shutil.which(binary) is not None diff --git a/dev/archery/archery/utils/lint.py b/dev/archery/archery/utils/lint.py index 0b0e8b46948..789b8058e8c 100644 --- a/dev/archery/archery/utils/lint.py +++ b/dev/archery/archery/utils/lint.py @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. +import fnmatch import gzip import os from pathlib import Path @@ -90,20 +91,75 @@ def cpp_linter(src, build_dir, clang_format=True, cpplint=True, class CMakeFormat(Command): - def __init__(self, cmake_format_bin): - self.bin = cmake_format_bin + + # TODO(kszucs): check cmake_format version + def __init__(self, paths, cmake_format_bin=None): + self.check_version() + self.bin = default_bin(cmake_format_bin, "cmake-format") + self.paths = paths + + @classmethod + def from_patterns(cls, base_path, include_patterns, exclude_patterns): + paths = { + str(path.as_posix()) + for pattern in include_patterns + for path in base_path.glob(pattern) + } + for pattern in exclude_patterns: + pattern = (base_path / pattern).as_posix() + paths -= set(fnmatch.filter(paths, str(pattern))) + return cls(paths) + + @staticmethod + def check_version(): + try: + # cmake_format is part of the cmakelang package + import cmakelang + except ImportError: + raise ImportError( + "Please install archery using: `pip install dev/archery[lint]`" + ) + # pin a specific version of cmake_format, must be updated in setup.py + if cmakelang.__version__ != "0.6.13": + raise LintValidationException( + "Wrong version of cmake_format is detected. " + "Please reinstall it using `pip install dev/archery[lint]`" + ) + + def check(self): + return self.run("-l", "error", "--check", *self.paths, check=False) + + def fix(self): + return self.run("--in-place", *self.paths, check=False) def cmake_linter(src, fix=False): - """ Run cmake-format.py on all CMakeFiles.txt """ + """ + Run cmake-format on all CMakeFiles.txt + """ logger.info("Running cmake-format linters") - if not fix: - logger.warn("run-cmake-format modifies files, regardless of --fix") + cmake_format = CMakeFormat.from_patterns( + src.path, + include_patterns=[ + 'ci/**/*.cmake', + 'cpp/CMakeLists.txt', + 'cpp/src/**/CMakeLists.txt', + 'cpp/cmake_modules/*.cmake', + 'go/**/CMakeLists.txt', + 'java/**/CMakeLists.txt', + 'matlab/**/CMakeLists.txt', + ], + exclude_patterns=[ + 'cpp/cmake_modules/FindNumPy.cmake', + 'cpp/cmake_modules/FindPythonLibsNew.cmake', + 'cpp/cmake_modules/UseCython.cmake', + 'cpp/src/arrow/util/config.h.cmake', + ] + ) + method = cmake_format.fix if fix else cmake_format.check - arrow_cmake_format = os.path.join(src.path, "run-cmake-format.py") - cmake_format = CMakeFormat(cmake_format_bin=arrow_cmake_format) - yield LintResult.from_cmd(cmake_format("--check")) + yield LintResult.from_cmd(method()) def python_linter(src, fix=False): @@ -127,8 +183,7 @@ def python_linter(src, fix=False): "python/pyarrow/**/*.pxd", "python/pyarrow/**/*.pxi", "python/examples/**/*.py", - "dev/archery/**/*.py", - ] + "dev/archery/**/*.py"] files = [setup_py] for pattern in patterns: files += list(map(str, Path(src.path).glob(pattern))) diff --git a/dev/archery/setup.py b/dev/archery/setup.py index a363824f8c9..eb70551de52 100755 --- a/dev/archery/setup.py +++ b/dev/archery/setup.py @@ -28,7 +28,7 @@ jinja_req = 'jinja2>=2.11' extras = { - 'lint': ['numpydoc==1.1.0', 'autopep8', 'flake8', 'cmake_format==0.5.2'], + 'lint': ['numpydoc==1.1.0', 'autopep8', 'flake8', 'cmake_format==0.6.13'], 'benchmark': ['pandas'], 'docker': ['ruamel.yaml', 'python-dotenv'], 'release': [jinja_req, 'jira', 'semver', 'gitpython'], diff --git a/docs/source/developers/cpp/development.rst b/docs/source/developers/cpp/development.rst index c0f5a0f269a..ca7b64a6dc7 100644 --- a/docs/source/developers/cpp/development.rst +++ b/docs/source/developers/cpp/development.rst @@ -100,7 +100,7 @@ following checks: * Passes various C++ (and others) style checks, checked with the ``lint`` subcommand to :ref:`Archery `. * CMake files pass style checks, can be fixed by running - ``run-cmake-format.py`` from the root of the repository. This requires Python + ``archery lint --cmake-format --fix``. This requires Python 3 and `cmake_format `_ (note: this currently does not work on Windows) diff --git a/run-cmake-format.py b/run-cmake-format.py deleted file mode 100755 index 1ff103868d8..00000000000 --- a/run-cmake-format.py +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env python3 - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -import argparse -import fnmatch -import hashlib -import pathlib -import subprocess -import sys - -# Keep an explicit list of files to format as we don't want to reformat -# files we imported from other location. -PATTERNS = [ - 'ci/**/*.cmake', - 'cpp/CMakeLists.txt', - 'cpp/src/**/CMakeLists.txt', - 'cpp/cmake_modules/*.cmake', - 'go/**/CMakeLists.txt', - 'java/**/CMakeLists.txt', - 'matlab/**/CMakeLists.txt', -] -EXCLUDE = [ - 'cpp/cmake_modules/FindNumPy.cmake', - 'cpp/cmake_modules/FindPythonLibsNew.cmake', - 'cpp/cmake_modules/UseCython.cmake', - 'cpp/src/arrow/util/config.h.cmake', -] - -here = pathlib.Path(__file__).parent - - -def find_cmake_files(): - for pat in PATTERNS: - yield from here.glob(pat) - - -def run_cmake_format(paths): - # cmake-format is fast enough that running in parallel doesn't seem - # necessary - # 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: - try: - import cmake_format - except ImportError: - raise ImportError( - "Please install cmake-format: `pip install cmake_format`") - else: - # Other error, re-raise - raise - - -def check_cmake_format(paths): - hashes = {} - for p in paths: - contents = p.read_bytes() - hashes[p] = hashlib.sha256(contents).digest() - - run_cmake_format(paths) - - # Check contents didn't change - changed = [] - for p in paths: - contents = p.read_bytes() - if hashes[p] != hashlib.sha256(contents).digest(): - changed.append(p) - - if changed: - items = "\n".join("- %s" % p for p in sorted(changed)) - print("The following cmake files need re-formatting:\n%s" % (items,)) - print() - print("Consider running `run-cmake-format.py`") - sys.exit(1) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('--check', action='store_true') - parser.add_argument('paths', nargs='*', type=pathlib.Path) - args = parser.parse_args() - - paths = find_cmake_files() - if args.paths: - paths = set(paths) & set([path.resolve() for path in args.paths]) - paths = [ - path for path in paths - if path.relative_to(here).as_posix() not in EXCLUDE - ] - if args.check: - check_cmake_format(paths) - else: - run_cmake_format(paths) From fe571d5144c7df683d99fdfa5896c0cd1894858f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 15:34:34 +0200 Subject: [PATCH 2/8] Execute cmake-format --fix --- .pre-commit-config.yaml | 7 - ci/vcpkg/arm64-linux-static-debug.cmake | 7 +- ci/vcpkg/arm64-linux-static-release.cmake | 7 +- cmake-format.py | 66 +- cpp/CMakeLists.txt | 342 +++-- cpp/cmake_modules/BuildUtils.cmake | 315 ++--- cpp/cmake_modules/DefineOptions.cmake | 165 +-- cpp/cmake_modules/FindArrow.cmake | 262 ++-- cpp/cmake_modules/FindArrowCUDA.cmake | 36 +- cpp/cmake_modules/FindArrowDataset.cmake | 39 +- cpp/cmake_modules/FindArrowFlight.cmake | 38 +- .../FindArrowFlightTesting.cmake | 39 +- cpp/cmake_modules/FindArrowPython.cmake | 38 +- cpp/cmake_modules/FindArrowPythonFlight.cmake | 39 +- cpp/cmake_modules/FindArrowTesting.cmake | 39 +- cpp/cmake_modules/FindBrotli.cmake | 132 +- cpp/cmake_modules/FindClangTools.cmake | 46 +- cpp/cmake_modules/FindGLOG.cmake | 49 +- cpp/cmake_modules/FindGandiva.cmake | 43 +- cpp/cmake_modules/FindInferTools.cmake | 15 +- cpp/cmake_modules/FindLLVMAlt.cmake | 59 +- cpp/cmake_modules/FindLz4.cmake | 63 +- cpp/cmake_modules/FindORC.cmake | 40 +- cpp/cmake_modules/FindParquet.cmake | 47 +- cpp/cmake_modules/FindPlasma.cmake | 44 +- cpp/cmake_modules/FindPython3Alt.cmake | 24 +- cpp/cmake_modules/FindRapidJSONAlt.cmake | 46 +- cpp/cmake_modules/FindSnappy.cmake | 46 +- cpp/cmake_modules/FindThrift.cmake | 90 +- cpp/cmake_modules/Findc-aresAlt.cmake | 50 +- cpp/cmake_modules/FindgRPCAlt.cmake | 31 +- cpp/cmake_modules/FindgflagsAlt.cmake | 35 +- cpp/cmake_modules/Findjemalloc.cmake | 33 +- cpp/cmake_modules/Findre2Alt.cmake | 41 +- cpp/cmake_modules/Findutf8proc.cmake | 63 +- cpp/cmake_modules/Findzstd.cmake | 62 +- cpp/cmake_modules/SetupCxxFlags.cmake | 80 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 1204 ++++++++--------- cpp/cmake_modules/Usevcpkg.cmake | 84 +- cpp/cmake_modules/san-config.cmake | 68 +- cpp/src/arrow/CMakeLists.txt | 400 +++--- cpp/src/arrow/adapters/orc/CMakeLists.txt | 20 +- cpp/src/arrow/compute/CMakeLists.txt | 30 +- cpp/src/arrow/compute/kernels/CMakeLists.txt | 49 +- cpp/src/arrow/csv/CMakeLists.txt | 9 +- cpp/src/arrow/dataset/CMakeLists.txt | 61 +- cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt | 57 +- .../dbi/hiveserver2/thrift/CMakeLists.txt | 51 +- cpp/src/arrow/filesystem/CMakeLists.txt | 14 +- cpp/src/arrow/flight/CMakeLists.txt | 180 +-- cpp/src/arrow/gpu/CMakeLists.txt | 34 +- cpp/src/arrow/ipc/CMakeLists.txt | 13 +- cpp/src/arrow/json/CMakeLists.txt | 19 +- cpp/src/arrow/python/CMakeLists.txt | 129 +- cpp/src/arrow/python/util/CMakeLists.txt | 4 +- cpp/src/arrow/util/CMakeLists.txt | 71 +- cpp/src/gandiva/CMakeLists.txt | 146 +- cpp/src/gandiva/jni/CMakeLists.txt | 72 +- cpp/src/gandiva/precompiled/CMakeLists.txt | 132 +- cpp/src/gandiva/tests/CMakeLists.txt | 6 +- cpp/src/jni/dataset/CMakeLists.txt | 41 +- cpp/src/jni/orc/CMakeLists.txt | 37 +- cpp/src/parquet/CMakeLists.txt | 259 ++-- cpp/src/plasma/CMakeLists.txt | 101 +- java/adapter/orc/CMakeLists.txt | 23 +- java/dataset/CMakeLists.txt | 23 +- java/gandiva/CMakeLists.txt | 22 +- matlab/CMakeLists.txt | 26 +- 68 files changed, 2877 insertions(+), 3086 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8b5a24476d8..0718072308a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,13 +29,6 @@ repos: entry: bash -c "git archive HEAD --prefix=apache-arrow/ --output=arrow-src.tar && ./dev/release/run-rat.sh arrow-src.tar" always_run: true pass_filenames: false - - id: cmake-format - name: CMake Format - language: python - entry: python run-cmake-format.py - types: [cmake] - additional_dependencies: - - cmake_format==0.5.2 - id: hadolint name: Docker Format language: docker_image diff --git a/ci/vcpkg/arm64-linux-static-debug.cmake b/ci/vcpkg/arm64-linux-static-debug.cmake index 6fea43694cd..34ca4198026 100644 --- a/ci/vcpkg/arm64-linux-static-debug.cmake +++ b/ci/vcpkg/arm64-linux-static-debug.cmake @@ -22,7 +22,8 @@ set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_BUILD_TYPE debug) if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process(COMMAND "uname" "-m" - OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND "uname" "-m" + OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/ci/vcpkg/arm64-linux-static-release.cmake b/ci/vcpkg/arm64-linux-static-release.cmake index 4012848b849..55be5ed04ac 100644 --- a/ci/vcpkg/arm64-linux-static-release.cmake +++ b/ci/vcpkg/arm64-linux-static-release.cmake @@ -22,7 +22,8 @@ set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_BUILD_TYPE release) if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process(COMMAND "uname" "-m" - OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND "uname" "-m" + OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/cmake-format.py b/cmake-format.py index 0976642031f..0ed6e926a84 100644 --- a/cmake-format.py +++ b/cmake-format.py @@ -16,44 +16,50 @@ # under the License. # cmake-format configuration file -# Use run-cmake-format.py to reformat all cmake files in the source tree +# Use `archery lint --cmake-format --fix` to reformat all cmake files in the +# source tree -# How wide to allow formatted cmake files -line_width = 90 +# ----------------------------- +# Options affecting formatting. +# ----------------------------- +with section("format"): + # How wide to allow formatted cmake files + line_width = 90 -# How many spaces to tab for indent -tab_size = 2 + # How many spaces to tab for indent + tab_size = 2 -# If arglists are longer than this, break them always -max_subargs_per_line = 4 + # If true, separate flow control names from their parentheses with a space + separate_ctrl_name_with_space = False -# If true, separate flow control names from their parentheses with a space -separate_ctrl_name_with_space = False + # If true, separate function names from parentheses with a space + separate_fn_name_with_space = False -# If true, separate function names from parentheses with a space -separate_fn_name_with_space = False + # If a statement is wrapped to more than one line, than dangle the closing + # parenthesis on it's own line + dangle_parens = False -# If a statement is wrapped to more than one line, than dangle the closing -# parenthesis on it's own line -dangle_parens = False + # What style line endings to use in the output. + line_ending = 'unix' -# What style line endings to use in the output. -line_ending = 'unix' + # Format command names consistently as 'lower' or 'upper' case + command_case = 'lower' -# Format command names consistently as 'lower' or 'upper' case -command_case = 'lower' + # Format keywords consistently as 'lower' or 'upper' case + keyword_case = 'unchanged' -# Format keywords consistently as 'lower' or 'upper' case -keyword_case = 'unchanged' +# ------------------------------------------------ +# Options affecting comment reflow and formatting. +# ------------------------------------------------ +with section("markup"): + # enable comment markup parsing and reflow + enable_markup = False -# enable comment markup parsing and reflow -enable_markup = False + # If comment markup is enabled, don't reflow the first comment block in + # eachlistfile. Use this to preserve formatting of your + # copyright/licensestatements. + first_comment_is_literal = True -# If comment markup is enabled, don't reflow the first comment block in -# eachlistfile. Use this to preserve formatting of your -# copyright/licensestatements. -first_comment_is_literal = False - -# If comment markup is enabled, don't reflow any comment block which matchesthis -# (regex) pattern. Default is `None` (disabled). -literal_comment_pattern = None + # If comment markup is enabled, don't reflow any comment block which + # matchesthis (regex) pattern. Default is `None` (disabled). + literal_comment_pattern = None diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index a31af74f68e..bb2f622c459 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -53,7 +53,9 @@ string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" ARROW_BASE_VERSION "${ARROW_VERSI # if no build build type is specified, default to release builds if(NOT DEFINED CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build.") + set(CMAKE_BUILD_TYPE + Release + CACHE STRING "Choose the type of build.") endif() string(TOLOWER ${CMAKE_BUILD_TYPE} LOWERCASE_BUILD_TYPE) string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE) @@ -117,39 +119,39 @@ set(ARROW_LLVM_VERSIONS "8" "7") list(GET ARROW_LLVM_VERSIONS 0 ARROW_LLVM_VERSION_PRIMARY) -string(REGEX - REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR - "${ARROW_LLVM_VERSION_PRIMARY}") +string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_LLVM_VERSION_PRIMARY_MAJOR + "${ARROW_LLVM_VERSION_PRIMARY}") file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.env ARROW_ENV) string(REGEX MATCH "CLANG_TOOLS=[^\n]+" ARROW_ENV_CLANG_TOOLS_VERSION "${ARROW_ENV}") -string(REGEX - REPLACE "^CLANG_TOOLS=" "" ARROW_CLANG_TOOLS_VERSION - "${ARROW_ENV_CLANG_TOOLS_VERSION}") -string(REGEX - REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_CLANG_TOOLS_VERSION_MAJOR - "${ARROW_CLANG_TOOLS_VERSION}") +string(REGEX REPLACE "^CLANG_TOOLS=" "" ARROW_CLANG_TOOLS_VERSION + "${ARROW_ENV_CLANG_TOOLS_VERSION}") +string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_CLANG_TOOLS_VERSION_MAJOR + "${ARROW_CLANG_TOOLS_VERSION}") if(APPLE) find_program(BREW_BIN brew) if(BREW_BIN) - execute_process(COMMAND ${BREW_BIN} --prefix - "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}" - OUTPUT_VARIABLE LLVM_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}" + OUTPUT_VARIABLE LLVM_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT LLVM_BREW_PREFIX) - execute_process(COMMAND ${BREW_BIN} --prefix llvm - OUTPUT_VARIABLE LLVM_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix llvm + OUTPUT_VARIABLE LLVM_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() - execute_process(COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_CLANG_TOOLS_VERSION_MAJOR}" - OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_CLANG_TOOLS_VERSION_MAJOR}" + OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT CLANG_TOOLS_BREW_PREFIX) - execute_process(COMMAND ${BREW_BIN} --prefix llvm - OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix llvm + OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() endif() endif() @@ -163,7 +165,9 @@ endif() find_package(ClangTools) find_package(InferTools) -if("$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}" STREQUAL "1" OR CLANG_TIDY_FOUND OR INFER_FOUND) +if("$ENV{CMAKE_EXPORT_COMPILE_COMMANDS}" STREQUAL "1" + OR CLANG_TIDY_FOUND + OR INFER_FOUND) # Generate a Clang compile_commands.json "compilation database" file for use # with various development tools, such as Vim's YouCompleteMe plugin. # See http://clang.llvm.org/docs/JSONCompilationDatabase.html @@ -226,52 +230,58 @@ if(NOT LINT_EXCLUSIONS_FILE) set(LINT_EXCLUSIONS_FILE ${BUILD_SUPPORT_DIR}/lint_exclusions.txt) endif() -find_program(CPPLINT_BIN NAMES cpplint cpplint.py HINTS ${BUILD_SUPPORT_DIR}) +find_program( + CPPLINT_BIN + NAMES cpplint cpplint.py + HINTS ${BUILD_SUPPORT_DIR}) message(STATUS "Found cpplint executable at ${CPPLINT_BIN}") -add_custom_target(lint - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_cpplint.py - --cpplint_binary - ${CPPLINT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) +add_custom_target( + lint + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_cpplint.py + --cpplint_binary + ${CPPLINT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) # # "make format" and "make check-format" targets # if(${CLANG_FORMAT_FOUND}) # runs clang format and updates files in place. - add_custom_target(format - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_format.py - --clang_format_binary - ${CLANG_FORMAT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - --fix - ${ARROW_LINT_QUIET}) + add_custom_target( + format + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_format.py + --clang_format_binary + ${CLANG_FORMAT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + --fix + ${ARROW_LINT_QUIET}) # runs clang format and exits with a non-zero exit code if any files need to be reformatted - add_custom_target(check-format - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_format.py - --clang_format_binary - ${CLANG_FORMAT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) + add_custom_target( + check-format + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_format.py + --clang_format_binary + ${CLANG_FORMAT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) endif() add_custom_target(lint_cpp_cli ${PYTHON_EXECUTABLE} ${BUILD_SUPPORT_DIR}/lint_cpp_cli.py - ${CMAKE_CURRENT_SOURCE_DIR}/src) + ${CMAKE_CURRENT_SOURCE_DIR}/src) if(ARROW_LINT_ONLY) message("ARROW_LINT_ONLY was specified, this is only a partial build directory") @@ -285,33 +295,35 @@ if(${CLANG_TIDY_FOUND}) # TODO check to make sure .clang-tidy is being respected # runs clang-tidy and attempts to fix any warning automatically - add_custom_target(clang-tidy - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_tidy.py - --clang_tidy_binary - ${CLANG_TIDY_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --compile_commands - ${CMAKE_BINARY_DIR}/compile_commands.json - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - --fix - ${ARROW_LINT_QUIET}) + add_custom_target( + clang-tidy + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_tidy.py + --clang_tidy_binary + ${CLANG_TIDY_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --compile_commands + ${CMAKE_BINARY_DIR}/compile_commands.json + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + --fix + ${ARROW_LINT_QUIET}) # runs clang-tidy and exits with a non-zero exit code if any errors are found. - add_custom_target(check-clang-tidy - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_tidy.py - --clang_tidy_binary - ${CLANG_TIDY_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --compile_commands - ${CMAKE_BINARY_DIR}/compile_commands.json - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) + add_custom_target( + check-clang-tidy + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_tidy.py + --clang_tidy_binary + ${CLANG_TIDY_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --compile_commands + ${CMAKE_BINARY_DIR}/compile_commands.json + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) endif() if(UNIX) @@ -392,12 +404,7 @@ if(NOT ARROW_BUILD_TESTS) set(NO_TESTS 1) else() add_custom_target(all-tests) - add_custom_target(unittest - ctest - -j4 - -L - unittest - --output-on-failure) + add_custom_target(unittest ctest -j4 -L unittest --output-on-failure) add_dependencies(unittest all-tests) endif() @@ -469,10 +476,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) if(NOT APPLE) set(MORE_ARGS "-T") endif() - execute_process(COMMAND ln - ${MORE_ARGS} - -sf - ${BUILD_OUTPUT_ROOT_DIRECTORY} + execute_process(COMMAND ln ${MORE_ARGS} -sf ${BUILD_OUTPUT_ROOT_DIRECTORY} ${CMAKE_CURRENT_BINARY_DIR}/build/latest) else() set(BUILD_OUTPUT_ROOT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${BUILD_SUBDIR_NAME}/") @@ -549,13 +553,11 @@ include_directories(src/generated) # Visibility # if(PARQUET_BUILD_SHARED) - set_target_properties(arrow_shared - PROPERTIES C_VISIBILITY_PRESET - hidden - CXX_VISIBILITY_PRESET - hidden - VISIBILITY_INLINES_HIDDEN - 1) + set_target_properties( + arrow_shared + PROPERTIES C_VISIBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN 1) endif() # @@ -569,29 +571,30 @@ endif(UNIX) # "make etags" target # if(UNIX) - add_custom_target(tags - etags - --members - --declarations - `find - ${CMAKE_CURRENT_SOURCE_DIR}/src - -name - \\*.cc - -or - -name - \\*.hh - -or - -name - \\*.cpp - -or - -name - \\*.h - -or - -name - \\*.c - -or - -name - \\*.f`) + add_custom_target( + tags + etags + --members + --declarations + `find + ${CMAKE_CURRENT_SOURCE_DIR}/src + -name + \\*.cc + -or + -name + \\*.hh + -or + -name + \\*.cpp + -or + -name + \\*.h + -or + -name + \\*.c + -or + -name + \\*.f`) add_custom_target(etags DEPENDS tags) endif(UNIX) @@ -599,35 +602,38 @@ endif(UNIX) # "make cscope" target # if(UNIX) - add_custom_target(cscope find ${CMAKE_CURRENT_SOURCE_DIR} - (-name - \\*.cc - -or - -name - \\*.hh - -or - -name - \\*.cpp - -or - -name - \\*.h - -or - -name - \\*.c - -or - -name - \\*.f) - -exec - echo - \"{}\" - \; - > - cscope.files - && - cscope - -q - -b - VERBATIM) + add_custom_target( + cscope + find + ${CMAKE_CURRENT_SOURCE_DIR} + (-name + \\*.cc + -or + -name + \\*.hh + -or + -name + \\*.cpp + -or + -name + \\*.h + -or + -name + \\*.c + -or + -name + \\*.f) + -exec + echo + \"{}\" + \; + > + cscope.files + && + cscope + -q + -b + VERBATIM) endif(UNIX) # @@ -636,23 +642,14 @@ endif(UNIX) if(${INFER_FOUND}) # runs infer capture - add_custom_target(infer - ${BUILD_SUPPORT_DIR}/run-infer.sh - ${INFER_BIN} - ${CMAKE_BINARY_DIR}/compile_commands.json - 1) + add_custom_target(infer ${BUILD_SUPPORT_DIR}/run-infer.sh ${INFER_BIN} + ${CMAKE_BINARY_DIR}/compile_commands.json 1) # runs infer analyze - add_custom_target(infer-analyze - ${BUILD_SUPPORT_DIR}/run-infer.sh - ${INFER_BIN} - ${CMAKE_BINARY_DIR}/compile_commands.json - 2) + add_custom_target(infer-analyze ${BUILD_SUPPORT_DIR}/run-infer.sh ${INFER_BIN} + ${CMAKE_BINARY_DIR}/compile_commands.json 2) # runs infer report - add_custom_target(infer-report - ${BUILD_SUPPORT_DIR}/run-infer.sh - ${INFER_BIN} - ${CMAKE_BINARY_DIR}/compile_commands.json - 3) + add_custom_target(infer-report ${BUILD_SUPPORT_DIR}/run-infer.sh ${INFER_BIN} + ${CMAKE_BINARY_DIR}/compile_commands.json 3) endif() # @@ -721,7 +718,7 @@ if(ARROW_ORC) list(APPEND ARROW_STATIC_LINK_LIBS orc::liborc ${ARROW_PROTOBUF_LIBPROTOBUF}) if(ORC_SOURCE STREQUAL "SYSTEM") list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS orc::liborc - ${ARROW_PROTOBUF_LIBPROTOBUF}) + ${ARROW_PROTOBUF_LIBPROTOBUF}) endif() endif() @@ -787,12 +784,8 @@ if(NOT MSVC_TOOLCHAIN) list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) endif() -set(ARROW_TEST_LINK_TOOLCHAIN - GTest::gtest_main - GTest::gtest - GTest::gmock - ${BOOST_FILESYSTEM_LIBRARY} - ${BOOST_SYSTEM_LIBRARY}) +set(ARROW_TEST_LINK_TOOLCHAIN GTest::gtest_main GTest::gtest GTest::gmock + ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_SYSTEM_LIBRARY}) if(ARROW_BUILD_TESTS) add_dependencies(arrow_test_dependencies ${ARROW_TEST_LINK_TOOLCHAIN}) @@ -916,8 +909,7 @@ endif() install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.txt ${CMAKE_CURRENT_SOURCE_DIR}/../NOTICE.txt - ${CMAKE_CURRENT_SOURCE_DIR}/README.md - DESTINATION "${ARROW_DOC_DIR}") + ${CMAKE_CURRENT_SOURCE_DIR}/README.md DESTINATION "${ARROW_DOC_DIR}") # # Validate and print out Arrow configuration options diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 2fd897b5d1d..e3e3cd94d4f 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -50,10 +50,7 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) set(options) set(one_value_args SHARED_LIB STATIC_LIB) set(multi_value_args DEPS INCLUDE_DIRECTORIES) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -62,17 +59,16 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) if(ARG_STATIC_LIB AND ARG_SHARED_LIB) set(AUG_LIB_NAME "${LIB_NAME}_static") add_library(${AUG_LIB_NAME} STATIC IMPORTED) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_LOCATION "${ARG_STATIC_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_LOCATION + "${ARG_STATIC_LIB}") if(ARG_DEPS) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_LINK_LIBRARIES "${ARG_DEPS}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES + "${ARG_DEPS}") endif() message(STATUS "Added static library dependency ${AUG_LIB_NAME}: ${ARG_STATIC_LIB}") if(ARG_INCLUDE_DIRECTORIES) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${ARG_INCLUDE_DIRECTORIES}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ARG_INCLUDE_DIRECTORIES}") endif() set(AUG_LIB_NAME "${LIB_NAME}_shared") @@ -80,36 +76,34 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) if(WIN32) # Mark the ".lib" location as part of a Windows DLL - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_IMPLIB "${ARG_SHARED_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_IMPLIB + "${ARG_SHARED_LIB}") else() - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_LOCATION "${ARG_SHARED_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_LOCATION + "${ARG_SHARED_LIB}") endif() if(ARG_DEPS) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_LINK_LIBRARIES "${ARG_DEPS}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES + "${ARG_DEPS}") endif() message(STATUS "Added shared library dependency ${AUG_LIB_NAME}: ${ARG_SHARED_LIB}") if(ARG_INCLUDE_DIRECTORIES) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${ARG_INCLUDE_DIRECTORIES}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ARG_INCLUDE_DIRECTORIES}") endif() elseif(ARG_STATIC_LIB) set(AUG_LIB_NAME "${LIB_NAME}_static") add_library(${AUG_LIB_NAME} STATIC IMPORTED) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_LOCATION "${ARG_STATIC_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_LOCATION + "${ARG_STATIC_LIB}") if(ARG_DEPS) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_LINK_LIBRARIES "${ARG_DEPS}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES + "${ARG_DEPS}") endif() message(STATUS "Added static library dependency ${AUG_LIB_NAME}: ${ARG_STATIC_LIB}") if(ARG_INCLUDE_DIRECTORIES) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${ARG_INCLUDE_DIRECTORIES}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ARG_INCLUDE_DIRECTORIES}") endif() elseif(ARG_SHARED_LIB) set(AUG_LIB_NAME "${LIB_NAME}_shared") @@ -117,21 +111,20 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) if(WIN32) # Mark the ".lib" location as part of a Windows DLL - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_IMPLIB "${ARG_SHARED_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_IMPLIB + "${ARG_SHARED_LIB}") else() - set_target_properties(${AUG_LIB_NAME} - PROPERTIES IMPORTED_LOCATION "${ARG_SHARED_LIB}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES IMPORTED_LOCATION + "${ARG_SHARED_LIB}") endif() message(STATUS "Added shared library dependency ${AUG_LIB_NAME}: ${ARG_SHARED_LIB}") if(ARG_DEPS) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_LINK_LIBRARIES "${ARG_DEPS}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES + "${ARG_DEPS}") endif() if(ARG_INCLUDE_DIRECTORIES) - set_target_properties(${AUG_LIB_NAME} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${ARG_INCLUDE_DIRECTORIES}") + set_target_properties(${AUG_LIB_NAME} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ARG_INCLUDE_DIRECTORIES}") endif() else() message(FATAL_ERROR "No static or shared library provided for ${LIB_NAME}") @@ -150,19 +143,15 @@ function(create_merged_static_lib output_target) set(options) set(one_value_args NAME ROOT) set(multi_value_args TO_MERGE) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() - set( - output_lib_path - ${BUILD_OUTPUT_ROOT_DIRECTORY}${CMAKE_STATIC_LIBRARY_PREFIX}${ARG_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} - ) + set(output_lib_path + ${BUILD_OUTPUT_ROOT_DIRECTORY}${CMAKE_STATIC_LIBRARY_PREFIX}${ARG_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} + ) set(all_library_paths $) foreach(lib ${ARG_TO_MERGE}) @@ -170,13 +159,8 @@ function(create_merged_static_lib output_target) endforeach() if(APPLE) - set(BUNDLE_COMMAND - "libtool" - "-no_warning_for_no_symbols" - "-static" - "-o" - ${output_lib_path} - ${all_library_paths}) + set(BUNDLE_COMMAND "libtool" "-no_warning_for_no_symbols" "-static" "-o" + ${output_lib_path} ${all_library_paths}) elseif(CMAKE_CXX_COMPILER_ID MATCHES "^(Clang|GNU|Intel)$") set(ar_script_path ${CMAKE_BINARY_DIR}/${ARG_NAME}.ar) @@ -188,7 +172,10 @@ function(create_merged_static_lib output_target) endforeach() file(APPEND ${ar_script_path}.in "SAVE\nEND\n") - file(GENERATE OUTPUT ${ar_script_path} INPUT ${ar_script_path}.in) + file( + GENERATE + OUTPUT ${ar_script_path} + INPUT ${ar_script_path}.in) set(ar_tool ${CMAKE_AR}) if(CMAKE_INTERPROCEDURAL_OPTIMIZATION) @@ -213,14 +200,15 @@ function(create_merged_static_lib output_target) message(FATAL_ERROR "Unknown bundle scenario!") endif() - add_custom_command(COMMAND ${BUNDLE_COMMAND} - OUTPUT ${output_lib_path} - COMMENT "Bundling ${output_lib_path}" - VERBATIM) + add_custom_command( + COMMAND ${BUNDLE_COMMAND} + OUTPUT ${output_lib_path} + COMMENT "Bundling ${output_lib_path}" + VERBATIM) message( STATUS "Creating bundled static library target ${output_target} at ${output_lib_path}" - ) + ) add_custom_target(${output_target} ALL DEPENDS ${output_lib_path}) add_dependencies(${output_target} ${ARG_ROOT} ${ARG_TO_MERGE}) @@ -230,13 +218,8 @@ endfunction() # \arg OUTPUTS list to append built targets to function(ADD_ARROW_LIB LIB_NAME) set(options) - set(one_value_args - BUILD_SHARED - BUILD_STATIC - CMAKE_PACKAGE_NAME - PKG_CONFIG_NAME - SHARED_LINK_FLAGS - PRECOMPILED_HEADER_LIB) + set(one_value_args BUILD_SHARED BUILD_STATIC CMAKE_PACKAGE_NAME PKG_CONFIG_NAME + SHARED_LINK_FLAGS PRECOMPILED_HEADER_LIB) set(multi_value_args SOURCES PRECOMPILED_HEADERS @@ -250,10 +233,7 @@ function(ADD_ARROW_LIB LIB_NAME) SHARED_INSTALL_INTERFACE_LIBS STATIC_INSTALL_INTERFACE_LIBS OUTPUT_PATH) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -355,7 +335,9 @@ function(ADD_ARROW_LIB LIB_NAME) endif() # On iOS, specifying -undefined conflicts with enabling bitcode - if(APPLE AND NOT IOS AND NOT DEFINED ENV{EMSCRIPTEN}) + if(APPLE + AND NOT IOS + AND NOT DEFINED ENV{EMSCRIPTEN}) # On OS X, you can avoid linking at library load time and instead # expecting that the symbols have been loaded separately. This happens # with libpython* where there can be conflicts between system Python and @@ -366,28 +348,20 @@ function(ADD_ARROW_LIB LIB_NAME) set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup ${ARG_SHARED_LINK_FLAGS}") endif() - set_target_properties(${LIB_NAME}_shared - PROPERTIES LIBRARY_OUTPUT_DIRECTORY - "${OUTPUT_PATH}" - RUNTIME_OUTPUT_DIRECTORY - "${OUTPUT_PATH}" - PDB_OUTPUT_DIRECTORY - "${OUTPUT_PATH}" - LINK_FLAGS - "${ARG_SHARED_LINK_FLAGS}" - OUTPUT_NAME - ${LIB_NAME} - VERSION - "${ARROW_FULL_SO_VERSION}" - SOVERSION - "${ARROW_SO_VERSION}") - - target_link_libraries(${LIB_NAME}_shared - LINK_PUBLIC - "$" - "$" - LINK_PRIVATE - ${ARG_SHARED_PRIVATE_LINK_LIBS}) + set_target_properties( + ${LIB_NAME}_shared + PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + PDB_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + LINK_FLAGS "${ARG_SHARED_LINK_FLAGS}" + OUTPUT_NAME ${LIB_NAME} + VERSION "${ARROW_FULL_SO_VERSION}" + SOVERSION "${ARROW_SO_VERSION}") + + target_link_libraries( + ${LIB_NAME}_shared LINK_PUBLIC "$" + "$" LINK_PRIVATE + ${ARG_SHARED_PRIVATE_LINK_LIBS}) if(ARROW_RPATH_ORIGIN) if(APPLE) @@ -395,8 +369,8 @@ function(ADD_ARROW_LIB LIB_NAME) else() set(_lib_install_rpath "\$ORIGIN") endif() - set_target_properties(${LIB_NAME}_shared - PROPERTIES INSTALL_RPATH ${_lib_install_rpath}) + set_target_properties(${LIB_NAME}_shared PROPERTIES INSTALL_RPATH + ${_lib_install_rpath}) endif() if(APPLE) @@ -405,17 +379,19 @@ function(ADD_ARROW_LIB LIB_NAME) else() set(_lib_install_name "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") endif() - set_target_properties(${LIB_NAME}_shared - PROPERTIES BUILD_WITH_INSTALL_RPATH ON INSTALL_NAME_DIR - "${_lib_install_name}") + set_target_properties( + ${LIB_NAME}_shared PROPERTIES BUILD_WITH_INSTALL_RPATH ON INSTALL_NAME_DIR + "${_lib_install_name}") endif() - install(TARGETS ${LIB_NAME}_shared ${INSTALL_IS_OPTIONAL} - EXPORT ${LIB_NAME}_targets - RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install( + TARGETS ${LIB_NAME}_shared ${INSTALL_IS_OPTIONAL} + EXPORT ${LIB_NAME}_targets + RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() if(BUILD_STATIC) @@ -450,9 +426,9 @@ function(ADD_ARROW_LIB LIB_NAME) target_compile_definitions(${LIB_NAME}_static PUBLIC ARROW_STATIC) endif() - set_target_properties(${LIB_NAME}_static - PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" OUTPUT_NAME - ${LIB_NAME_STATIC}) + set_target_properties( + ${LIB_NAME}_static PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + OUTPUT_NAME ${LIB_NAME_STATIC}) if(ARG_STATIC_INSTALL_INTERFACE_LIBS) target_link_libraries(${LIB_NAME}_static LINK_PUBLIC @@ -464,21 +440,24 @@ function(ADD_ARROW_LIB LIB_NAME) "$") endif() - install(TARGETS ${LIB_NAME}_static ${INSTALL_IS_OPTIONAL} - EXPORT ${LIB_NAME}_targets - RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install( + TARGETS ${LIB_NAME}_static ${INSTALL_IS_OPTIONAL} + EXPORT ${LIB_NAME}_targets + RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() if(ARG_CMAKE_PACKAGE_NAME) arrow_install_cmake_find_module("${ARG_CMAKE_PACKAGE_NAME}") set(TARGETS_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Targets.cmake") - install(EXPORT ${LIB_NAME}_targets - FILE "${TARGETS_CMAKE}" - DESTINATION "${ARROW_CMAKE_INSTALL_DIR}") + install( + EXPORT ${LIB_NAME}_targets + FILE "${TARGETS_CMAKE}" + DESTINATION "${ARROW_CMAKE_INSTALL_DIR}") set(CONFIG_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Config.cmake") set(BUILT_CONFIG_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_CMAKE}") @@ -488,9 +467,10 @@ function(ADD_ARROW_LIB LIB_NAME) set(CONFIG_VERSION_CMAKE "${ARG_CMAKE_PACKAGE_NAME}ConfigVersion.cmake") set(BUILT_CONFIG_VERSION_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_VERSION_CMAKE}") - write_basic_package_version_file("${BUILT_CONFIG_VERSION_CMAKE}" - VERSION ${${PROJECT_NAME}_VERSION} - COMPATIBILITY AnyNewerVersion) + write_basic_package_version_file( + "${BUILT_CONFIG_VERSION_CMAKE}" + VERSION ${${PROJECT_NAME}_VERSION} + COMPATIBILITY AnyNewerVersion) install(FILES "${BUILT_CONFIG_VERSION_CMAKE}" DESTINATION "${ARROW_CMAKE_INSTALL_DIR}") endif() @@ -501,7 +481,9 @@ function(ADD_ARROW_LIB LIB_NAME) # Modify variable in calling scope if(ARG_OUTPUTS) - set(${ARG_OUTPUTS} ${${ARG_OUTPUTS}} PARENT_SCOPE) + set(${ARG_OUTPUTS} + ${${ARG_OUTPUTS}} + PARENT_SCOPE) endif() endfunction() @@ -532,16 +514,8 @@ 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) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + set(multi_value_args EXTRA_LINK_LIBS STATIC_LINK_LIBS DEPENDENCIES PREFIX LABELS) + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -588,13 +562,11 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties(${BENCHMARK_NAME} - PROPERTIES BUILD_WITH_INSTALL_RPATH - TRUE - INSTALL_RPATH_USE_LINK_PATH - TRUE - INSTALL_RPATH - "$ENV{CONDA_PREFIX}/lib;${EXECUTABLE_OUTPUT_PATH}") + set_target_properties( + ${BENCHMARK_NAME} + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib;${EXECUTABLE_OUTPUT_PATH}") endif() # Add test as dependency of relevant label targets @@ -613,13 +585,12 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) set(ARG_LABELS benchmark) endif() - add_test(${BENCHMARK_NAME} - ${BUILD_SUPPORT_DIR}/run-test.sh - ${CMAKE_BINARY_DIR} - benchmark - ${BENCHMARK_PATH} - ${NO_COLOR}) - set_property(TEST ${BENCHMARK_NAME} APPEND PROPERTY LABELS ${ARG_LABELS}) + add_test(${BENCHMARK_NAME} ${BUILD_SUPPORT_DIR}/run-test.sh ${CMAKE_BINARY_DIR} + benchmark ${BENCHMARK_PATH} ${NO_COLOR}) + set_property( + TEST ${BENCHMARK_NAME} + APPEND + PROPERTY LABELS ${ARG_LABELS}) endfunction() # @@ -662,10 +633,7 @@ function(ADD_TEST_CASE REL_TEST_NAME) LABELS EXTRA_LABELS PREFIX) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -698,13 +666,11 @@ function(ADD_TEST_CASE REL_TEST_NAME) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties(${TEST_NAME} - PROPERTIES BUILD_WITH_INSTALL_RPATH - TRUE - INSTALL_RPATH_USE_LINK_PATH - TRUE - INSTALL_RPATH - "${EXECUTABLE_OUTPUT_PATH};$ENV{CONDA_PREFIX}/lib") + set_target_properties( + ${TEST_NAME} + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH "${EXECUTABLE_OUTPUT_PATH};$ENV{CONDA_PREFIX}/lib") endif() if(ARG_STATIC_LINK_LIBS) @@ -736,7 +702,9 @@ function(ADD_TEST_CASE REL_TEST_NAME) if(ARROW_TEST_MEMCHECK AND NOT ARG_NO_VALGRIND) add_test( - ${TEST_NAME} bash -c + ${TEST_NAME} + bash + -c "cd '${CMAKE_SOURCE_DIR}'; \ valgrind --suppressions=valgrind.supp --tool=memcheck --gen-suppressions=all \ --num-callers=500 --leak-check=full --leak-check-heuristics=stdstring \ @@ -744,10 +712,7 @@ function(ADD_TEST_CASE REL_TEST_NAME) elseif(WIN32) add_test(${TEST_NAME} ${TEST_PATH}) else() - add_test(${TEST_NAME} - ${BUILD_SUPPORT_DIR}/run-test.sh - ${CMAKE_BINARY_DIR} - test + add_test(${TEST_NAME} ${BUILD_SUPPORT_DIR}/run-test.sh ${CMAKE_BINARY_DIR} test ${TEST_PATH}) endif() @@ -772,18 +737,19 @@ function(ADD_TEST_CASE REL_TEST_NAME) # ensure there is a cmake target which exercises tests with this LABEL set(LABEL_TEST_NAME "test-${LABEL}") if(NOT TARGET ${LABEL_TEST_NAME}) - add_custom_target(${LABEL_TEST_NAME} - ctest - -L - "${LABEL}" - --output-on-failure - USES_TERMINAL) + add_custom_target( + ${LABEL_TEST_NAME} + ctest -L "${LABEL}" --output-on-failure + USES_TERMINAL) endif() # ensure the test is (re)built before the LABEL test runs add_dependencies(${LABEL_TEST_NAME} ${TEST_NAME}) endforeach() - set_property(TEST ${TEST_NAME} APPEND PROPERTY LABELS ${LABELS}) + set_property( + TEST ${TEST_NAME} + APPEND + PROPERTY LABELS ${LABELS}) endfunction() # @@ -810,10 +776,7 @@ function(ADD_ARROW_EXAMPLE REL_EXAMPLE_NAME) set(options) set(one_value_args) set(multi_value_args EXTRA_LINK_LIBS DEPENDENCIES PREFIX) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -863,10 +826,7 @@ function(ADD_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LINK_LIBS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -896,18 +856,15 @@ function(ADD_FUZZ_TARGET REL_FUZZING_NAME) add_executable(${FUZZING_NAME} "${REL_FUZZING_NAME}.cc") target_link_libraries(${FUZZING_NAME} ${LINK_LIBS}) target_compile_options(${FUZZING_NAME} PRIVATE ${FUZZ_LDFLAGS}) - set_target_properties(${FUZZING_NAME} - PROPERTIES LINK_FLAGS ${FUZZ_LDFLAGS} LABELS "fuzzing") + set_target_properties(${FUZZING_NAME} PROPERTIES LINK_FLAGS ${FUZZ_LDFLAGS} LABELS + "fuzzing") endfunction() function(ARROW_INSTALL_ALL_HEADERS PATH) set(options) set(one_value_args) set(multi_value_args PATTERN) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(NOT ARG_PATTERN) # The .hpp extension is used by some vendored libraries diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake index 033076ebdb0..6779d787d60 100644 --- a/cpp/cmake_modules/DefineOptions.cmake +++ b/cpp/cmake_modules/DefineOptions.cmake @@ -24,7 +24,9 @@ function(check_description_length name description) foreach(description_line ${description}) string(LENGTH ${description_line} line_length) if(${line_length} GREATER 80) - message(FATAL_ERROR "description for ${name} contained a\n\ + message( + FATAL_ERROR + "description for ${name} contained a\n\ line ${line_length} characters long!\n\ (max is 80). Split it into more lines with semicolons") endif() @@ -33,7 +35,9 @@ endfunction() function(list_join lst glue out) if("${${lst}}" STREQUAL "") - set(${out} "" PARENT_SCOPE) + set(${out} + "" + PARENT_SCOPE) return() endif() @@ -42,7 +46,9 @@ function(list_join lst glue out) foreach(item ${${lst}}) set(joined "${joined}${glue}${item}") endforeach() - set(${out} ${joined} PARENT_SCOPE) + set(${out} + ${joined} + PARENT_SCOPE) endfunction() macro(define_option name description default) @@ -61,7 +67,9 @@ macro(define_option_string name description default) check_description_length(${name} ${description}) list_join(description "\n" multiline_description) - set(${name} ${default} CACHE STRING "${multiline_description}") + set(${name} + ${default} + CACHE STRING "${multiline_description}") list(APPEND "ARROW_${ARROW_OPTION_CATEGORY}_OPTION_NAMES" ${name}) set("${name}_OPTION_DESCRIPTION" ${description}) @@ -86,8 +94,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_BUILD_SHARED "Build shared libraries" ON) - define_option_string(ARROW_PACKAGE_KIND - "Arbitrary string that identifies the kind of package;\ + define_option_string( + ARROW_PACKAGE_KIND "Arbitrary string that identifies the kind of package;\ (for informational purposes)" "") define_option_string(ARROW_GIT_ID "The Arrow git commit id (if any)" "") @@ -104,33 +112,32 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_USE_PRECOMPILED_HEADERS "Use precompiled headers when compiling" OFF) - define_option_string(ARROW_SIMD_LEVEL - "Compile-time SIMD optimization level" - "SSE4_2" # default to SSE4.2 - "NONE" - "SSE4_2" - "AVX2" - "AVX512") - - define_option_string(ARROW_RUNTIME_SIMD_LEVEL - "Max runtime SIMD optimization level" - "MAX" # default to max supported by compiler - "NONE" - "SSE4_2" - "AVX2" - "AVX512" - "MAX") + define_option_string( + ARROW_SIMD_LEVEL + "Compile-time SIMD optimization level" + "SSE4_2" # default to SSE4.2 + "NONE" + "SSE4_2" + "AVX2" + "AVX512") + + define_option_string( + ARROW_RUNTIME_SIMD_LEVEL + "Max runtime SIMD optimization level" + "MAX" # default to max supported by compiler + "NONE" + "SSE4_2" + "AVX2" + "AVX512" + "MAX") # Arm64 architectures and extensions can lead to exploding combinations. # So set it directly through cmake command line. # # If you change this, you need to change the definition in # python/CMakeLists.txt too. - define_option_string(ARROW_ARMV8_ARCH - "Arm64 arch and extensions" - "armv8-a" # Default - "armv8-a" - "armv8-a+crc+crypto") + define_option_string(ARROW_ARMV8_ARCH "Arm64 arch and extensions" "armv8-a" # Default + "armv8-a" "armv8-a+crc+crypto") define_option(ARROW_ALTIVEC "Build with Altivec if compiler has support" ON) @@ -166,11 +173,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") set(ARROW_TEST_LINKAGE_DEFAULT "static") endif() - define_option_string(ARROW_TEST_LINKAGE - "Linkage of Arrow libraries with unit tests executables." - "${ARROW_TEST_LINKAGE_DEFAULT}" - "shared" - "static") + define_option_string( + ARROW_TEST_LINKAGE "Linkage of Arrow libraries with unit tests executables." + "${ARROW_TEST_LINKAGE_DEFAULT}" "shared" "static") define_option(ARROW_FUZZING "Build Arrow Fuzzing executables" OFF) @@ -181,8 +186,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_ONLY_LINT "Only define the lint and check-format targets" OFF) - define_option(ARROW_VERBOSE_LINT "If off, 'quiet' flags will be passed to linting tools" - OFF) + define_option(ARROW_VERBOSE_LINT + "If off, 'quiet' flags will be passed to linting tools" OFF) define_option(ARROW_GENERATE_COVERAGE "Build with C++ code coverage enabled" OFF) @@ -287,15 +292,16 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") else() set(ARROW_DEPENDENCY_SOURCE_DEFAULT "AUTO") endif() - define_option_string(ARROW_DEPENDENCY_SOURCE - "Method to use for acquiring arrow's build dependencies" - "${ARROW_DEPENDENCY_SOURCE_DEFAULT}" - "AUTO" - "BUNDLED" - "SYSTEM" - "CONDA" - "VCPKG" - "BREW") + define_option_string( + ARROW_DEPENDENCY_SOURCE + "Method to use for acquiring arrow's build dependencies" + "${ARROW_DEPENDENCY_SOURCE_DEFAULT}" + "AUTO" + "BUNDLED" + "SYSTEM" + "CONDA" + "VCPKG" + "BREW") define_option(ARROW_VERBOSE_THIRDPARTY_BUILD "Show output from ExternalProjects rather than just logging to files" OFF) @@ -320,12 +326,13 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_LZ4_USE_SHARED "Rely on lz4 shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) - define_option(ARROW_OPENSSL_USE_SHARED "Rely on OpenSSL shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option( + ARROW_OPENSSL_USE_SHARED "Rely on OpenSSL shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) - define_option(ARROW_PROTOBUF_USE_SHARED - "Rely on Protocol Buffers shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option( + ARROW_PROTOBUF_USE_SHARED "Rely on Protocol Buffers shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) if(WIN32) # It seems that Thrift doesn't support DLL well yet. @@ -337,16 +344,16 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_THRIFT_USE_SHARED "Rely on thrift shared libraries where relevant" ${ARROW_THRIFT_USE_SHARED_DEFAULT}) - define_option(ARROW_UTF8PROC_USE_SHARED - "Rely on utf8proc shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option( + ARROW_UTF8PROC_USE_SHARED "Rely on utf8proc shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) define_option(ARROW_SNAPPY_USE_SHARED "Rely on snappy shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) - define_option(ARROW_UTF8PROC_USE_SHARED - "Rely on utf8proc shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option( + ARROW_UTF8PROC_USE_SHARED "Rely on utf8proc shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) define_option(ARROW_ZSTD_USE_SHARED "Rely on zstd shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) @@ -376,9 +383,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") if(MSVC_TOOLCHAIN) set_option_category("MSVC") - define_option(MSVC_LINK_VERBOSE - "Pass verbose linking options when linking libraries and executables" - OFF) + define_option( + MSVC_LINK_VERBOSE + "Pass verbose linking options when linking libraries and executables" OFF) define_option_string(BROTLI_MSVC_STATIC_LIB_SUFFIX "Brotli static lib suffix used on Windows with MSVC" "-static") @@ -396,9 +403,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") else() set(SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT "") endif() - define_option_string(SNAPPY_MSVC_STATIC_LIB_SUFFIX - "Snappy static lib suffix used on Windows with MSVC" - "${SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT}") + define_option_string( + SNAPPY_MSVC_STATIC_LIB_SUFFIX "Snappy static lib suffix used on Windows with MSVC" + "${SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT}") define_option_string(LZ4_MSVC_STATIC_LIB_SUFFIX "Lz4 static lib suffix used on Windows with MSVC" "_static") @@ -412,8 +419,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") #---------------------------------------------------------------------- set_option_category("Parquet") - define_option(PARQUET_MINIMAL_DEPENDENCY - "Depend only on Thirdparty headers to build libparquet.;\ + define_option( + PARQUET_MINIMAL_DEPENDENCY "Depend only on Thirdparty headers to build libparquet.;\ Always OFF if building binaries" OFF) define_option( @@ -437,9 +444,9 @@ Always OFF if building binaries" OFF) "Include -static-libstdc++ -static-libgcc when linking with;Gandiva static libraries" OFF) - define_option_string(ARROW_GANDIVA_PC_CXX_FLAGS - "Compiler flags to append when pre-compiling Gandiva operations" - "") + define_option_string( + ARROW_GANDIVA_PC_CXX_FLAGS + "Compiler flags to append when pre-compiling Gandiva operations" "") #---------------------------------------------------------------------- set_option_category("Advanced developer") @@ -447,10 +454,12 @@ Always OFF if building binaries" OFF) define_option(ARROW_EXTRA_ERROR_CONTEXT "Compile with extra error context (line numbers, code)" OFF) - define_option(ARROW_OPTIONAL_INSTALL - "If enabled install ONLY targets that have already been built. Please be;\ + define_option( + ARROW_OPTIONAL_INSTALL + "If enabled install ONLY targets that have already been built. Please be;\ advised that if this is enabled 'install' will fail silently on components;\ -that have not been built" OFF) +that have not been built" + OFF) option(ARROW_BUILD_CONFIG_SUMMARY_JSON "Summarize build configuration in a JSON file" ON) @@ -565,15 +574,17 @@ endmacro() # Compute default values for omitted variables if(NOT ARROW_GIT_ID) - execute_process(COMMAND "git" "log" "-n1" "--format=%H" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE ARROW_GIT_ID - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND "git" "log" "-n1" "--format=%H" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE ARROW_GIT_ID + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() if(NOT ARROW_GIT_DESCRIPTION) - execute_process(COMMAND "git" "describe" "--tags" "--dirty" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ERROR_QUIET - OUTPUT_VARIABLE ARROW_GIT_DESCRIPTION - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND "git" "describe" "--tags" "--dirty" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ERROR_QUIET + OUTPUT_VARIABLE ARROW_GIT_DESCRIPTION + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/cpp/cmake_modules/FindArrow.cmake b/cpp/cmake_modules/FindArrow.cmake index 9c987665896..cafac161887 100644 --- a/cpp/cmake_modules/FindArrow.cmake +++ b/cpp/cmake_modules/FindArrow.cmake @@ -50,17 +50,8 @@ set(ARROW_SEARCH_LIB_PATH_SUFFIXES) if(CMAKE_LIBRARY_ARCHITECTURE) list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}") endif() -list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES - "lib64" - "lib32" - "lib" - "bin") -set(ARROW_CONFIG_SUFFIXES - "_RELEASE" - "_RELWITHDEBINFO" - "_MINSIZEREL" - "_DEBUG" - "") +list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES "lib64" "lib32" "lib" "bin") +set(ARROW_CONFIG_SUFFIXES "_RELEASE" "_RELWITHDEBINFO" "_MINSIZEREL" "_DEBUG" "") if(CMAKE_BUILD_TYPE) string(TOUPPER ${CMAKE_BUILD_TYPE} ARROW_CONFIG_SUFFIX_PREFERRED) set(ARROW_CONFIG_SUFFIX_PREFERRED "_${ARROW_CONFIG_SUFFIX_PREFERRED}") @@ -120,10 +111,9 @@ endfunction() # # -> ARROW_STATIC_LIBRARY_NAME=arrow.lib with MSVC on Windows # # -> ARROW_STATIC_LIBRARY_NAME=libarrow.dll.a with MinGW on Windows function(arrow_build_static_library_name output_variable base_name) - set( - ${output_variable} - "${CMAKE_STATIC_LIBRARY_PREFIX}${base_name}${ARROW_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - PARENT_SCOPE) + set(${output_variable} + "${CMAKE_STATIC_LIBRARY_PREFIX}${base_name}${ARROW_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + PARENT_SCOPE) endfunction() # Internal function. @@ -138,21 +128,26 @@ endfunction() function(arrow_extract_macro_value output_variable macro_name header_content) string(REGEX MATCH "#define +${macro_name} +[^\r\n]+" macro_definition "${header_content}") - string(REGEX - REPLACE "^#define +${macro_name} +(.+)$" "\\1" macro_value "${macro_definition}") - set(${output_variable} "${macro_value}" PARENT_SCOPE) + string(REGEX REPLACE "^#define +${macro_name} +(.+)$" "\\1" macro_value + "${macro_definition}") + set(${output_variable} + "${macro_value}" + PARENT_SCOPE) endfunction() # Internal macro only for arrow_find_package. # # Find package in HOME. macro(arrow_find_package_home) - find_path(${prefix}_include_dir "${header_path}" - PATHS "${home}" - PATH_SUFFIXES "include" - NO_DEFAULT_PATH) + find_path( + ${prefix}_include_dir "${header_path}" + PATHS "${home}" + PATH_SUFFIXES "include" + NO_DEFAULT_PATH) set(include_dir "${${prefix}_include_dir}") - set(${prefix}_INCLUDE_DIR "${include_dir}" PARENT_SCOPE) + set(${prefix}_INCLUDE_DIR + "${include_dir}" + PARENT_SCOPE) if(MSVC_TOOLCHAIN) set(CMAKE_SHARED_LIBRARY_SUFFIXES_ORIGINAL ${CMAKE_FIND_LIBRARY_SUFFIXES}) @@ -160,48 +155,57 @@ macro(arrow_find_package_home) # CMAKE_FIND_LIBRARY_SUFFIXES. list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_SHARED_LIBRARY_SUFFIX}") endif() - find_library(${prefix}_shared_lib - NAMES "${shared_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + ${prefix}_shared_lib + NAMES "${shared_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) if(MSVC_TOOLCHAIN) set(CMAKE_SHARED_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_ORIGINAL}) endif() set(shared_lib "${${prefix}_shared_lib}") - set(${prefix}_SHARED_LIB "${shared_lib}" PARENT_SCOPE) + set(${prefix}_SHARED_LIB + "${shared_lib}" + PARENT_SCOPE) if(shared_lib) add_library(${target_shared} SHARED IMPORTED) set_target_properties(${target_shared} PROPERTIES IMPORTED_LOCATION "${shared_lib}") if(include_dir) - set_target_properties(${target_shared} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}") + set_target_properties(${target_shared} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${include_dir}") endif() - find_library(${prefix}_import_lib - NAMES "${import_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + ${prefix}_import_lib + NAMES "${import_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) set(import_lib "${${prefix}_import_lib}") - set(${prefix}_IMPORT_LIB "${import_lib}" PARENT_SCOPE) + set(${prefix}_IMPORT_LIB + "${import_lib}" + PARENT_SCOPE) if(import_lib) set_target_properties(${target_shared} PROPERTIES IMPORTED_IMPLIB "${import_lib}") endif() endif() - find_library(${prefix}_static_lib - NAMES "${static_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + ${prefix}_static_lib + NAMES "${static_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) set(static_lib "${${prefix}_static_lib}") - set(${prefix}_STATIC_LIB "${static_lib}" PARENT_SCOPE) + set(${prefix}_STATIC_LIB + "${static_lib}" + PARENT_SCOPE) if(static_lib) add_library(${target_static} STATIC IMPORTED) set_target_properties(${target_static} PROPERTIES IMPORTED_LOCATION "${static_lib}") if(include_dir) - set_target_properties(${target_static} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}") + set_target_properties(${target_static} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${include_dir}") endif() endif() endmacro() @@ -212,7 +216,9 @@ endmacro() macro(arrow_find_package_cmake_package_configuration) find_package(${cmake_package_name} CONFIG) if(${cmake_package_name}_FOUND) - set(${prefix}_USE_CMAKE_PACKAGE_CONFIG TRUE PARENT_SCOPE) + set(${prefix}_USE_CMAKE_PACKAGE_CONFIG + TRUE + PARENT_SCOPE) if(TARGET ${target_shared}) foreach(suffix ${ARROW_CONFIG_SUFFIXES}) get_target_property(shared_lib ${target_shared} IMPORTED_LOCATION${suffix}) @@ -221,10 +227,11 @@ macro(arrow_find_package_cmake_package_configuration) # libarrow.so.100.0.0 -> libarrow.so # Because ARROW_HOME and pkg-config approaches don't add # shared library version. - string(REGEX - REPLACE "(${CMAKE_SHARED_LIBRARY_SUFFIX})[.0-9]+$" "\\1" shared_lib - "${shared_lib}") - set(${prefix}_SHARED_LIB "${shared_lib}" PARENT_SCOPE) + string(REGEX REPLACE "(${CMAKE_SHARED_LIBRARY_SUFFIX})[.0-9]+$" "\\1" + shared_lib "${shared_lib}") + set(${prefix}_SHARED_LIB + "${shared_lib}" + PARENT_SCOPE) break() endif() endforeach() @@ -233,7 +240,9 @@ macro(arrow_find_package_cmake_package_configuration) foreach(suffix ${ARROW_CONFIG_SUFFIXES}) get_target_property(static_lib ${target_static} IMPORTED_LOCATION${suffix}) if(static_lib) - set(${prefix}_STATIC_LIB "${static_lib}" PARENT_SCOPE) + set(${prefix}_STATIC_LIB + "${static_lib}" + PARENT_SCOPE) break() endif() endforeach() @@ -247,7 +256,9 @@ endmacro() macro(arrow_find_package_pkg_config) pkg_check_modules(${prefix}_PC ${pkg_config_name}) if(${prefix}_PC_FOUND) - set(${prefix}_USE_PKG_CONFIG TRUE PARENT_SCOPE) + set(${prefix}_USE_PKG_CONFIG + TRUE + PARENT_SCOPE) set(include_dir "${${prefix}_PC_INCLUDEDIR}") set(lib_dir "${${prefix}_PC_LIBDIR}") @@ -263,49 +274,53 @@ macro(arrow_find_package_pkg_config) if(n_shared_lib_paths LESS_EQUAL 1) set(rest_shared_lib_paths) else() - list(SUBLIST - shared_lib_paths - 1 - -1 - rest_shared_lib_paths) + list(SUBLIST shared_lib_paths 1 -1 rest_shared_lib_paths) endif() - set(${prefix}_VERSION "${${prefix}_PC_VERSION}" PARENT_SCOPE) - set(${prefix}_INCLUDE_DIR "${include_dir}" PARENT_SCOPE) - set(${prefix}_SHARED_LIB "${first_shared_lib_path}" PARENT_SCOPE) + set(${prefix}_VERSION + "${${prefix}_PC_VERSION}" + PARENT_SCOPE) + set(${prefix}_INCLUDE_DIR + "${include_dir}" + PARENT_SCOPE) + set(${prefix}_SHARED_LIB + "${first_shared_lib_path}" + PARENT_SCOPE) add_library(${target_shared} SHARED IMPORTED) - set_target_properties(${target_shared} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${include_dir}" - INTERFACE_LINK_LIBRARIES - "${rest_shared_lib_paths}" - IMPORTED_LOCATION - "${first_shared_lib_path}") + set_target_properties( + ${target_shared} + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" + INTERFACE_LINK_LIBRARIES "${rest_shared_lib_paths}" + IMPORTED_LOCATION "${first_shared_lib_path}") get_target_property(shared_lib ${target_shared} IMPORTED_LOCATION) - find_library(${prefix}_static_lib - NAMES "${static_lib_name}" - PATHS "${lib_dir}" - NO_DEFAULT_PATH) + find_library( + ${prefix}_static_lib + NAMES "${static_lib_name}" + PATHS "${lib_dir}" + NO_DEFAULT_PATH) set(static_lib "${${prefix}_static_lib}") - set(${prefix}_STATIC_LIB "${static_lib}" PARENT_SCOPE) + set(${prefix}_STATIC_LIB + "${static_lib}" + PARENT_SCOPE) if(static_lib) add_library(${target_static} STATIC IMPORTED) - set_target_properties(${target_static} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" - IMPORTED_LOCATION "${static_lib}") + set_target_properties( + ${target_static} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" + IMPORTED_LOCATION "${static_lib}") endif() endif() endmacro() -function(arrow_find_package - prefix - home - base_name - header_path - cmake_package_name - pkg_config_name) +function( + arrow_find_package + prefix + home + base_name + header_path + cmake_package_name + pkg_config_name) arrow_build_shared_library_name(shared_lib_name ${base_name}) arrow_build_import_library_name(import_lib_name ${base_name}) arrow_build_static_library_name(static_lib_name ${base_name}) @@ -315,7 +330,9 @@ function(arrow_find_package if(home) arrow_find_package_home() - set(${prefix}_FIND_APPROACH "HOME: ${home}" PARENT_SCOPE) + set(${prefix}_FIND_APPROACH + "HOME: ${home}" + PARENT_SCOPE) else() arrow_find_package_cmake_package_configuration() if(${cmake_package_name}_FOUND) @@ -324,7 +341,9 @@ function(arrow_find_package PARENT_SCOPE) else() arrow_find_package_pkg_config() - set(${prefix}_FIND_APPROACH "pkg-config: ${pkg_config_name}" PARENT_SCOPE) + set(${prefix}_FIND_APPROACH + "pkg-config: ${pkg_config_name}" + PARENT_SCOPE) endif() endif() @@ -336,7 +355,9 @@ function(arrow_find_package endif() endif() if(include_dir) - set(${prefix}_INCLUDE_DIR "${include_dir}" PARENT_SCOPE) + set(${prefix}_INCLUDE_DIR + "${include_dir}" + PARENT_SCOPE) endif() if(shared_lib) @@ -346,20 +367,19 @@ function(arrow_find_package else() set(lib_dir NOTFOUND) endif() - set(${prefix}_LIB_DIR "${lib_dir}" PARENT_SCOPE) + set(${prefix}_LIB_DIR + "${lib_dir}" + PARENT_SCOPE) # For backward compatibility - set(${prefix}_LIBS "${lib_dir}" PARENT_SCOPE) + set(${prefix}_LIBS + "${lib_dir}" + PARENT_SCOPE) endfunction() if(NOT "$ENV{ARROW_HOME}" STREQUAL "") file(TO_CMAKE_PATH "$ENV{ARROW_HOME}" ARROW_HOME) endif() -arrow_find_package(ARROW - "${ARROW_HOME}" - arrow - arrow/api.h - Arrow - arrow) +arrow_find_package(ARROW "${ARROW_HOME}" arrow arrow/api.h Arrow arrow) if(ARROW_HOME) if(ARROW_INCLUDE_DIR) @@ -384,9 +404,8 @@ if(ARROW_HOME) string(REGEX REPLACE "^\"(.+)\"$" "\\1" ARROW_SO_VERSION "${ARROW_SO_VERSION_QUOTED}") arrow_extract_macro_value(ARROW_FULL_SO_VERSION_QUOTED "ARROW_FULL_SO_VERSION" "${ARROW_CONFIG_H_CONTENT}") - string(REGEX - REPLACE "^\"(.+)\"$" "\\1" ARROW_FULL_SO_VERSION - "${ARROW_FULL_SO_VERSION_QUOTED}") + string(REGEX REPLACE "^\"(.+)\"$" "\\1" ARROW_FULL_SO_VERSION + "${ARROW_FULL_SO_VERSION_QUOTED}") endif() else() if(ARROW_USE_CMAKE_PACKAGE_CONFIG) @@ -399,33 +418,32 @@ endif() set(ARROW_ABI_VERSION ${ARROW_SO_VERSION}) -mark_as_advanced(ARROW_ABI_VERSION - ARROW_CONFIG_SUFFIXES - ARROW_FULL_SO_VERSION - ARROW_IMPORT_LIB - ARROW_INCLUDE_DIR - ARROW_LIBS - ARROW_LIB_DIR - ARROW_SEARCH_LIB_PATH_SUFFIXES - ARROW_SHARED_IMP_LIB - ARROW_SHARED_LIB - ARROW_SO_VERSION - ARROW_STATIC_LIB - ARROW_VERSION - ARROW_VERSION_MAJOR - ARROW_VERSION_MINOR - ARROW_VERSION_PATCH) +mark_as_advanced( + ARROW_ABI_VERSION + ARROW_CONFIG_SUFFIXES + ARROW_FULL_SO_VERSION + ARROW_IMPORT_LIB + ARROW_INCLUDE_DIR + ARROW_LIBS + ARROW_LIB_DIR + ARROW_SEARCH_LIB_PATH_SUFFIXES + ARROW_SHARED_IMP_LIB + ARROW_SHARED_LIB + ARROW_SO_VERSION + ARROW_STATIC_LIB + ARROW_VERSION + ARROW_VERSION_MAJOR + ARROW_VERSION_MINOR + ARROW_VERSION_PATCH) -find_package_handle_standard_args(Arrow REQUIRED_VARS - # The first required variable is shown - # in the found message. So this list is - # not sorted alphabetically. - ARROW_INCLUDE_DIR - ARROW_LIB_DIR - ARROW_FULL_SO_VERSION - ARROW_SO_VERSION - VERSION_VAR - ARROW_VERSION) +find_package_handle_standard_args( + Arrow + REQUIRED_VARS + # The first required variable is shown + # in the found message. So this list is + # not sorted alphabetically. + ARROW_INCLUDE_DIR ARROW_LIB_DIR ARROW_FULL_SO_VERSION ARROW_SO_VERSION + VERSION_VAR ARROW_VERSION) set(ARROW_FOUND ${Arrow_FOUND}) if(Arrow_FOUND AND NOT Arrow_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowCUDA.cmake b/cpp/cmake_modules/FindArrowCUDA.cmake index 7bc2f5b745b..b7e13c1f291 100644 --- a/cpp/cmake_modules/FindArrowCUDA.cmake +++ b/cpp/cmake_modules/FindArrowCUDA.cmake @@ -47,11 +47,7 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_CUDA - "${ARROW_HOME}" - arrow_cuda - arrow/gpu/cuda_api.h - ArrowCUDA + arrow_find_package(ARROW_CUDA "${ARROW_HOME}" arrow_cuda arrow/gpu/cuda_api.h ArrowCUDA arrow-cuda) if(NOT ARROW_CUDA_VERSION) set(ARROW_CUDA_VERSION "${ARROW_VERSION}") @@ -64,23 +60,21 @@ else() set(ARROW_CUDA_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_CUDA_IMPORT_LIB - ARROW_CUDA_INCLUDE_DIR - ARROW_CUDA_LIBS - ARROW_CUDA_LIB_DIR - ARROW_CUDA_SHARED_IMP_LIB - ARROW_CUDA_SHARED_LIB - ARROW_CUDA_STATIC_LIB - ARROW_CUDA_VERSION - ARROW_CUDA_VERSION_MATCH) +mark_as_advanced( + ARROW_CUDA_IMPORT_LIB + ARROW_CUDA_INCLUDE_DIR + ARROW_CUDA_LIBS + ARROW_CUDA_LIB_DIR + ARROW_CUDA_SHARED_IMP_LIB + ARROW_CUDA_SHARED_LIB + ARROW_CUDA_STATIC_LIB + ARROW_CUDA_VERSION + ARROW_CUDA_VERSION_MATCH) -find_package_handle_standard_args(ArrowCUDA - REQUIRED_VARS - ARROW_CUDA_INCLUDE_DIR - ARROW_CUDA_LIB_DIR - ARROW_CUDA_VERSION_MATCH - VERSION_VAR - ARROW_CUDA_VERSION) +find_package_handle_standard_args( + ArrowCUDA + REQUIRED_VARS ARROW_CUDA_INCLUDE_DIR ARROW_CUDA_LIB_DIR ARROW_CUDA_VERSION_MATCH + VERSION_VAR ARROW_CUDA_VERSION) set(ARROW_CUDA_FOUND ${ArrowCUDA_FOUND}) if(ArrowCUDA_FOUND AND NOT ArrowCUDA_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowDataset.cmake b/cpp/cmake_modules/FindArrowDataset.cmake index d45fae6799b..bc9710864f0 100644 --- a/cpp/cmake_modules/FindArrowDataset.cmake +++ b/cpp/cmake_modules/FindArrowDataset.cmake @@ -47,12 +47,8 @@ find_package(Arrow ${find_package_arguments}) find_package(Parquet ${find_package_arguments}) if(ARROW_FOUND AND PARQUET_FOUND) - arrow_find_package(ARROW_DATASET - "${ARROW_HOME}" - arrow_dataset - arrow/dataset/api.h - ArrowDataset - arrow-dataset) + arrow_find_package(ARROW_DATASET "${ARROW_HOME}" arrow_dataset arrow/dataset/api.h + ArrowDataset arrow-dataset) if(NOT ARROW_DATASET_VERSION) set(ARROW_DATASET_VERSION "${ARROW_VERSION}") endif() @@ -64,23 +60,22 @@ else() set(ARROW_DATASET_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_DATASET_IMPORT_LIB - ARROW_DATASET_INCLUDE_DIR - ARROW_DATASET_LIBS - ARROW_DATASET_LIB_DIR - ARROW_DATASET_SHARED_IMP_LIB - ARROW_DATASET_SHARED_LIB - ARROW_DATASET_STATIC_LIB - ARROW_DATASET_VERSION - ARROW_DATASET_VERSION_MATCH) +mark_as_advanced( + ARROW_DATASET_IMPORT_LIB + ARROW_DATASET_INCLUDE_DIR + ARROW_DATASET_LIBS + ARROW_DATASET_LIB_DIR + ARROW_DATASET_SHARED_IMP_LIB + ARROW_DATASET_SHARED_LIB + ARROW_DATASET_STATIC_LIB + ARROW_DATASET_VERSION + ARROW_DATASET_VERSION_MATCH) -find_package_handle_standard_args(ArrowDataset - REQUIRED_VARS - ARROW_DATASET_INCLUDE_DIR - ARROW_DATASET_LIB_DIR - ARROW_DATASET_VERSION_MATCH - VERSION_VAR - ARROW_DATASET_VERSION) +find_package_handle_standard_args( + ArrowDataset + REQUIRED_VARS ARROW_DATASET_INCLUDE_DIR ARROW_DATASET_LIB_DIR + ARROW_DATASET_VERSION_MATCH + VERSION_VAR ARROW_DATASET_VERSION) set(ARROW_DATASET_FOUND ${ArrowDataset_FOUND}) if(ArrowDataset_FOUND AND NOT ArrowDataset_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowFlight.cmake b/cpp/cmake_modules/FindArrowFlight.cmake index 344c408995c..dc44518de11 100644 --- a/cpp/cmake_modules/FindArrowFlight.cmake +++ b/cpp/cmake_modules/FindArrowFlight.cmake @@ -48,12 +48,8 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_FLIGHT - "${ARROW_HOME}" - arrow_flight - arrow/flight/api.h - ArrowFlight - arrow-flight) + arrow_find_package(ARROW_FLIGHT "${ARROW_HOME}" arrow_flight arrow/flight/api.h + ArrowFlight arrow-flight) if(NOT ARROW_FLIGHT_VERSION) set(ARROW_FLIGHT_VERSION "${ARROW_VERSION}") endif() @@ -65,23 +61,21 @@ else() set(ARROW_FLIGHT_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_FLIGHT_IMPORT_LIB - ARROW_FLIGHT_INCLUDE_DIR - ARROW_FLIGHT_LIBS - ARROW_FLIGHT_LIB_DIR - ARROW_FLIGHT_SHARED_IMP_LIB - ARROW_FLIGHT_SHARED_LIB - ARROW_FLIGHT_STATIC_LIB - ARROW_FLIGHT_VERSION - ARROW_FLIGHT_VERSION_MATCH) +mark_as_advanced( + ARROW_FLIGHT_IMPORT_LIB + ARROW_FLIGHT_INCLUDE_DIR + ARROW_FLIGHT_LIBS + ARROW_FLIGHT_LIB_DIR + ARROW_FLIGHT_SHARED_IMP_LIB + ARROW_FLIGHT_SHARED_LIB + ARROW_FLIGHT_STATIC_LIB + ARROW_FLIGHT_VERSION + ARROW_FLIGHT_VERSION_MATCH) -find_package_handle_standard_args(ArrowFlight - REQUIRED_VARS - ARROW_FLIGHT_INCLUDE_DIR - ARROW_FLIGHT_LIB_DIR - ARROW_FLIGHT_VERSION_MATCH - VERSION_VAR - ARROW_FLIGHT_VERSION) +find_package_handle_standard_args( + ArrowFlight + REQUIRED_VARS ARROW_FLIGHT_INCLUDE_DIR ARROW_FLIGHT_LIB_DIR ARROW_FLIGHT_VERSION_MATCH + VERSION_VAR ARROW_FLIGHT_VERSION) set(ARROW_FLIGHT_FOUND ${ArrowFlight_FOUND}) if(ArrowFlight_FOUND AND NOT ArrowFlight_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowFlightTesting.cmake b/cpp/cmake_modules/FindArrowFlightTesting.cmake index feb2790dfc6..6ef6051f9c4 100644 --- a/cpp/cmake_modules/FindArrowFlightTesting.cmake +++ b/cpp/cmake_modules/FindArrowFlightTesting.cmake @@ -52,12 +52,8 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowTesting ${find_package_arguments}) if(ARROW_TESTING_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package(ARROW_FLIGHT_TESTING - "${ARROW_HOME}" - arrow_flight_testing - arrow/flight/test_util.h - ArrowFlightTesting - arrow-flight-testing) + arrow_find_package(ARROW_FLIGHT_TESTING "${ARROW_HOME}" arrow_flight_testing + arrow/flight/test_util.h ArrowFlightTesting arrow-flight-testing) if(NOT ARROW_FLIGHT_TESTING_VERSION) set(ARROW_FLIGHT_TESTING_VERSION "${ARROW_VERSION}") endif() @@ -69,23 +65,22 @@ else() set(ARROW_FLIGHT_TESTING_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_FLIGHT_TESTING_IMPORT_LIB - ARROW_FLIGHT_TESTING_INCLUDE_DIR - ARROW_FLIGHT_TESTING_LIBS - ARROW_FLIGHT_TESTING_LIB_DIR - ARROW_FLIGHT_TESTING_SHARED_IMP_LIB - ARROW_FLIGHT_TESTING_SHARED_LIB - ARROW_FLIGHT_TESTING_STATIC_LIB - ARROW_FLIGHT_TESTING_VERSION - ARROW_FLIGHT_TESTING_VERSION_MATCH) +mark_as_advanced( + ARROW_FLIGHT_TESTING_IMPORT_LIB + ARROW_FLIGHT_TESTING_INCLUDE_DIR + ARROW_FLIGHT_TESTING_LIBS + ARROW_FLIGHT_TESTING_LIB_DIR + ARROW_FLIGHT_TESTING_SHARED_IMP_LIB + ARROW_FLIGHT_TESTING_SHARED_LIB + ARROW_FLIGHT_TESTING_STATIC_LIB + ARROW_FLIGHT_TESTING_VERSION + ARROW_FLIGHT_TESTING_VERSION_MATCH) -find_package_handle_standard_args(ArrowFlightTesting - REQUIRED_VARS - ARROW_FLIGHT_TESTING_INCLUDE_DIR - ARROW_FLIGHT_TESTING_LIB_DIR - ARROW_FLIGHT_TESTING_VERSION_MATCH - VERSION_VAR - ARROW_FLIGHT_TESTING_VERSION) +find_package_handle_standard_args( + ArrowFlightTesting + REQUIRED_VARS ARROW_FLIGHT_TESTING_INCLUDE_DIR ARROW_FLIGHT_TESTING_LIB_DIR + ARROW_FLIGHT_TESTING_VERSION_MATCH + VERSION_VAR ARROW_FLIGHT_TESTING_VERSION) set(ARROW_FLIGHT_TESTING_FOUND ${ArrowFlightTesting_FOUND}) if(ArrowFlightTesting_FOUND AND NOT ArrowFlightTesting_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowPython.cmake b/cpp/cmake_modules/FindArrowPython.cmake index 3d1280dff72..7c90528000f 100644 --- a/cpp/cmake_modules/FindArrowPython.cmake +++ b/cpp/cmake_modules/FindArrowPython.cmake @@ -46,12 +46,8 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_PYTHON - "${ARROW_HOME}" - arrow_python - arrow/python/api.h - ArrowPython - arrow-python) + arrow_find_package(ARROW_PYTHON "${ARROW_HOME}" arrow_python arrow/python/api.h + ArrowPython arrow-python) if(NOT ARROW_PYTHON_VERSION) set(ARROW_PYTHON_VERSION "${ARROW_VERSION}") endif() @@ -63,23 +59,21 @@ else() set(ARROW_PYTHON_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_PYTHON_IMPORT_LIB - ARROW_PYTHON_INCLUDE_DIR - ARROW_PYTHON_LIBS - ARROW_PYTHON_LIB_DIR - ARROW_PYTHON_SHARED_IMP_LIB - ARROW_PYTHON_SHARED_LIB - ARROW_PYTHON_STATIC_LIB - ARROW_PYTHON_VERSION - ARROW_PYTHON_VERSION_MATCH) +mark_as_advanced( + ARROW_PYTHON_IMPORT_LIB + ARROW_PYTHON_INCLUDE_DIR + ARROW_PYTHON_LIBS + ARROW_PYTHON_LIB_DIR + ARROW_PYTHON_SHARED_IMP_LIB + ARROW_PYTHON_SHARED_LIB + ARROW_PYTHON_STATIC_LIB + ARROW_PYTHON_VERSION + ARROW_PYTHON_VERSION_MATCH) -find_package_handle_standard_args(ArrowPython - REQUIRED_VARS - ARROW_PYTHON_INCLUDE_DIR - ARROW_PYTHON_LIB_DIR - ARROW_PYTHON_VERSION_MATCH - VERSION_VAR - ARROW_PYTHON_VERSION) +find_package_handle_standard_args( + ArrowPython + REQUIRED_VARS ARROW_PYTHON_INCLUDE_DIR ARROW_PYTHON_LIB_DIR ARROW_PYTHON_VERSION_MATCH + VERSION_VAR ARROW_PYTHON_VERSION) set(ARROW_PYTHON_FOUND ${ArrowPython_FOUND}) if(ArrowPython_FOUND AND NOT ArrowPython_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowPythonFlight.cmake b/cpp/cmake_modules/FindArrowPythonFlight.cmake index acb22c64231..ea9fbd9182d 100644 --- a/cpp/cmake_modules/FindArrowPythonFlight.cmake +++ b/cpp/cmake_modules/FindArrowPythonFlight.cmake @@ -49,12 +49,8 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowPython ${find_package_arguments}) if(ARROW_PYTHON_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package(ARROW_PYTHON_FLIGHT - "${ARROW_HOME}" - arrow_python_flight - arrow/python/flight.h - ArrowPythonFlight - arrow-python-flight) + arrow_find_package(ARROW_PYTHON_FLIGHT "${ARROW_HOME}" arrow_python_flight + arrow/python/flight.h ArrowPythonFlight arrow-python-flight) if(NOT ARROW_PYTHON_FLIGHT_VERSION) set(ARROW_PYTHON_FLIGHT_VERSION "${ARROW_VERSION}") endif() @@ -66,23 +62,22 @@ else() set(ARROW_PYTHON_FLIGHT_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_PYTHON_FLIGHT_IMPORT_LIB - ARROW_PYTHON_FLIGHT_INCLUDE_DIR - ARROW_PYTHON_FLIGHT_LIBS - ARROW_PYTHON_FLIGHT_LIB_DIR - ARROW_PYTHON_FLIGHT_SHARED_IMP_LIB - ARROW_PYTHON_FLIGHT_SHARED_LIB - ARROW_PYTHON_FLIGHT_STATIC_LIB - ARROW_PYTHON_FLIGHT_VERSION - ARROW_PYTHON_FLIGHT_VERSION_MATCH) +mark_as_advanced( + ARROW_PYTHON_FLIGHT_IMPORT_LIB + ARROW_PYTHON_FLIGHT_INCLUDE_DIR + ARROW_PYTHON_FLIGHT_LIBS + ARROW_PYTHON_FLIGHT_LIB_DIR + ARROW_PYTHON_FLIGHT_SHARED_IMP_LIB + ARROW_PYTHON_FLIGHT_SHARED_LIB + ARROW_PYTHON_FLIGHT_STATIC_LIB + ARROW_PYTHON_FLIGHT_VERSION + ARROW_PYTHON_FLIGHT_VERSION_MATCH) -find_package_handle_standard_args(ArrowPythonFlight - REQUIRED_VARS - ARROW_PYTHON_FLIGHT_INCLUDE_DIR - ARROW_PYTHON_FLIGHT_LIB_DIR - ARROW_PYTHON_FLIGHT_VERSION_MATCH - VERSION_VAR - ARROW_PYTHON_FLIGHT_VERSION) +find_package_handle_standard_args( + ArrowPythonFlight + REQUIRED_VARS ARROW_PYTHON_FLIGHT_INCLUDE_DIR ARROW_PYTHON_FLIGHT_LIB_DIR + ARROW_PYTHON_FLIGHT_VERSION_MATCH + VERSION_VAR ARROW_PYTHON_FLIGHT_VERSION) set(ARROW_PYTHON_FLIGHT_FOUND ${ArrowPythonFlight_FOUND}) if(ArrowPythonFlight_FOUND AND NOT ArrowPythonFlight_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindArrowTesting.cmake b/cpp/cmake_modules/FindArrowTesting.cmake index ed5a28cd3e4..4168980abb2 100644 --- a/cpp/cmake_modules/FindArrowTesting.cmake +++ b/cpp/cmake_modules/FindArrowTesting.cmake @@ -47,12 +47,8 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_TESTING - "${ARROW_HOME}" - arrow_testing - arrow/testing/util.h - ArrowTesting - arrow-testing) + arrow_find_package(ARROW_TESTING "${ARROW_HOME}" arrow_testing arrow/testing/util.h + ArrowTesting arrow-testing) if(NOT ARROW_TESTING_VERSION) set(ARROW_TESTING_VERSION "${ARROW_VERSION}") endif() @@ -64,23 +60,22 @@ else() set(ARROW_TESTING_VERSION_MATCH FALSE) endif() -mark_as_advanced(ARROW_TESTING_IMPORT_LIB - ARROW_TESTING_INCLUDE_DIR - ARROW_TESTING_LIBS - ARROW_TESTING_LIB_DIR - ARROW_TESTING_SHARED_IMP_LIB - ARROW_TESTING_SHARED_LIB - ARROW_TESTING_STATIC_LIB - ARROW_TESTING_VERSION - ARROW_TESTING_VERSION_MATCH) +mark_as_advanced( + ARROW_TESTING_IMPORT_LIB + ARROW_TESTING_INCLUDE_DIR + ARROW_TESTING_LIBS + ARROW_TESTING_LIB_DIR + ARROW_TESTING_SHARED_IMP_LIB + ARROW_TESTING_SHARED_LIB + ARROW_TESTING_STATIC_LIB + ARROW_TESTING_VERSION + ARROW_TESTING_VERSION_MATCH) -find_package_handle_standard_args(ArrowTesting - REQUIRED_VARS - ARROW_TESTING_INCLUDE_DIR - ARROW_TESTING_LIB_DIR - ARROW_TESTING_VERSION_MATCH - VERSION_VAR - ARROW_TESTING_VERSION) +find_package_handle_standard_args( + ArrowTesting + REQUIRED_VARS ARROW_TESTING_INCLUDE_DIR ARROW_TESTING_LIB_DIR + ARROW_TESTING_VERSION_MATCH + VERSION_VAR ARROW_TESTING_VERSION) set(ARROW_TESTING_FOUND ${ArrowTesting_FOUND}) if(ArrowTesting_FOUND AND NOT ArrowTesting_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake index b46a0f1a0cf..4db384be2c9 100644 --- a/cpp/cmake_modules/FindBrotli.cmake +++ b/cpp/cmake_modules/FindBrotli.cmake @@ -48,26 +48,30 @@ else() endif() if(BROTLI_ROOT) - find_library(BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library(BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library(BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(BROTLI_INCLUDE_DIR - NAMES brotli/decode.h - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library( + BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library( + BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + BROTLI_INCLUDE_DIR + NAMES brotli/decode.h + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} + NO_DEFAULT_PATH) else() find_package(PkgConfig QUIET) pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) @@ -79,55 +83,59 @@ else() list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlienc_LIBDIR}") list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlidec_LIBDIR}") - find_library(BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library(BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library(BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library( + BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library( + BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) else() - find_library(BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_library(BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_library(BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(BROTLI_INCLUDE_DIR - NAMES brotli/decode.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library( + BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library( + BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + BROTLI_INCLUDE_DIR + NAMES brotli/decode.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() -find_package_handle_standard_args(Brotli - REQUIRED_VARS - BROTLI_COMMON_LIBRARY - BROTLI_ENC_LIBRARY - BROTLI_DEC_LIBRARY - BROTLI_INCLUDE_DIR) +find_package_handle_standard_args( + Brotli REQUIRED_VARS BROTLI_COMMON_LIBRARY BROTLI_ENC_LIBRARY BROTLI_DEC_LIBRARY + BROTLI_INCLUDE_DIR) if(Brotli_FOUND OR BROTLI_FOUND) set(Brotli_FOUND TRUE) add_library(Brotli::brotlicommon UNKNOWN IMPORTED) - set_target_properties(Brotli::brotlicommon - PROPERTIES IMPORTED_LOCATION "${BROTLI_COMMON_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlicommon PROPERTIES IMPORTED_LOCATION "${BROTLI_COMMON_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlienc UNKNOWN IMPORTED) - set_target_properties(Brotli::brotlienc - PROPERTIES IMPORTED_LOCATION "${BROTLI_ENC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlienc PROPERTIES IMPORTED_LOCATION "${BROTLI_ENC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlidec UNKNOWN IMPORTED) - set_target_properties(Brotli::brotlidec - PROPERTIES IMPORTED_LOCATION "${BROTLI_DEC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlidec PROPERTIES IMPORTED_LOCATION "${BROTLI_DEC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindClangTools.cmake b/cpp/cmake_modules/FindClangTools.cmake index 88171abed92..043ff965159 100644 --- a/cpp/cmake_modules/FindClangTools.cmake +++ b/cpp/cmake_modules/FindClangTools.cmake @@ -35,10 +35,7 @@ # CLANG_FORMAT_FOUND, Whether clang format was found set(CLANG_TOOLS_SEARCH_PATHS - ${ClangTools_PATH} - $ENV{CLANG_TOOLS_PATH} - /usr/local/bin - /usr/bin + ${ClangTools_PATH} $ENV{CLANG_TOOLS_PATH} /usr/local/bin /usr/bin "C:/Program Files/LLVM/bin" # Windows, non-conda "$ENV{CONDA_PREFIX}/Library/bin") # Windows, conda if(CLANG_TOOLS_BREW_PREFIX) @@ -47,37 +44,42 @@ endif() function(FIND_CLANG_TOOL NAME OUTPUT VERSION_CHECK_PATTERN) unset(CLANG_TOOL_BIN CACHE) - find_program(CLANG_TOOL_BIN - NAMES ${NAME}-${ARROW_CLANG_TOOLS_VERSION} - ${NAME}-${ARROW_CLANG_TOOLS_VERSION_MAJOR} - PATHS ${CLANG_TOOLS_SEARCH_PATHS} - NO_DEFAULT_PATH) + find_program( + CLANG_TOOL_BIN + NAMES ${NAME}-${ARROW_CLANG_TOOLS_VERSION} ${NAME}-${ARROW_CLANG_TOOLS_VERSION_MAJOR} + PATHS ${CLANG_TOOLS_SEARCH_PATHS} + NO_DEFAULT_PATH) if(NOT CLANG_TOOL_BIN) # try searching for non-versioned tool and check the version - find_program(CLANG_TOOL_BIN - NAMES ${NAME} - PATHS ${CLANG_TOOLS_SEARCH_PATHS} - NO_DEFAULT_PATH) + find_program( + CLANG_TOOL_BIN + NAMES ${NAME} + PATHS ${CLANG_TOOLS_SEARCH_PATHS} + NO_DEFAULT_PATH) if(CLANG_TOOL_BIN) unset(CLANG_TOOL_VERSION_MESSAGE) - execute_process(COMMAND ${CLANG_TOOL_BIN} "-version" - OUTPUT_VARIABLE CLANG_TOOL_VERSION_MESSAGE - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${CLANG_TOOL_BIN} "-version" + OUTPUT_VARIABLE CLANG_TOOL_VERSION_MESSAGE + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT (${CLANG_TOOL_VERSION_MESSAGE} MATCHES ${VERSION_CHECK_PATTERN})) set(CLANG_TOOL_BIN "CLANG_TOOL_BIN-NOTFOUND") endif() endif() endif() if(CLANG_TOOL_BIN) - set(${OUTPUT} ${CLANG_TOOL_BIN} PARENT_SCOPE) + set(${OUTPUT} + ${CLANG_TOOL_BIN} + PARENT_SCOPE) else() - set(${OUTPUT} "${OUTPUT}-NOTFOUND" PARENT_SCOPE) + set(${OUTPUT} + "${OUTPUT}-NOTFOUND" + PARENT_SCOPE) endif() endfunction() -string(REGEX - REPLACE "\\." "\\\\." ARROW_CLANG_TOOLS_VERSION_ESCAPED - "${ARROW_CLANG_TOOLS_VERSION}") +string(REGEX REPLACE "\\." "\\\\." ARROW_CLANG_TOOLS_VERSION_ESCAPED + "${ARROW_CLANG_TOOLS_VERSION}") find_clang_tool(clang-tidy CLANG_TIDY_BIN "LLVM version ${ARROW_CLANG_TOOLS_VERSION_ESCAPED}") @@ -100,4 +102,4 @@ else() endif() find_package_handle_standard_args(ClangTools REQUIRED_VARS CLANG_FORMAT_BIN - CLANG_TIDY_BIN) + CLANG_TIDY_BIN) diff --git a/cpp/cmake_modules/FindGLOG.cmake b/cpp/cmake_modules/FindGLOG.cmake index 81c3f2ec57e..65aa7c4fb57 100644 --- a/cpp/cmake_modules/FindGLOG.cmake +++ b/cpp/cmake_modules/FindGLOG.cmake @@ -22,33 +22,40 @@ pkg_check_modules(GLOG_PC libglog) if(GLOG_PC_FOUND) set(GLOG_INCLUDE_DIR "${GLOG_PC_INCLUDEDIR}") list(APPEND GLOG_PC_LIBRARY_DIRS "${GLOG_PC_LIBDIR}") - find_library(GLOG_LIB glog - PATHS ${GLOG_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + GLOG_LIB glog + PATHS ${GLOG_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) elseif(GLOG_ROOT) - find_library(GLOG_LIB - NAMES glog - PATHS ${GLOG_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(GLOG_INCLUDE_DIR - NAMES glog/logging.h - PATHS ${GLOG_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + GLOG_LIB + NAMES glog + PATHS ${GLOG_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + GLOG_INCLUDE_DIR + NAMES glog/logging.h + PATHS ${GLOG_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library(GLOG_LIB NAMES glog PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(GLOG_INCLUDE_DIR - NAMES glog/logging.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + GLOG_LIB + NAMES glog + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + GLOG_INCLUDE_DIR + NAMES glog/logging.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(GLOG REQUIRED_VARS GLOG_INCLUDE_DIR GLOG_LIB) if(GLOG_FOUND) add_library(glog::glog UNKNOWN IMPORTED) - set_target_properties(glog::glog - PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") + set_target_properties( + glog::glog PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}" INTERFACE_INCLUDE_DIRECTORIES + "${GLOG_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindGandiva.cmake b/cpp/cmake_modules/FindGandiva.cmake index 15279fd841a..d0c9d625c85 100644 --- a/cpp/cmake_modules/FindGandiva.cmake +++ b/cpp/cmake_modules/FindGandiva.cmake @@ -48,12 +48,7 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(GANDIVA - "${ARROW_HOME}" - gandiva - gandiva/arrow.h - Gandiva - gandiva) + arrow_find_package(GANDIVA "${ARROW_HOME}" gandiva gandiva/arrow.h Gandiva gandiva) if(NOT GANDIVA_VERSION) set(GANDIVA_VERSION "${ARROW_VERSION}") endif() @@ -67,26 +62,24 @@ else() set(GANDIVA_VERSION_MATCH FALSE) endif() -mark_as_advanced(GANDIVA_ABI_VERSION - GANDIVA_IMPORT_LIB - GANDIVA_INCLUDE_DIR - GANDIVA_LIBS - GANDIVA_LIB_DIR - GANDIVA_SHARED_IMP_LIB - GANDIVA_SHARED_LIB - GANDIVA_SO_VERSION - GANDIVA_STATIC_LIB - GANDIVA_VERSION - GANDIVA_VERSION_MATCH) +mark_as_advanced( + GANDIVA_ABI_VERSION + GANDIVA_IMPORT_LIB + GANDIVA_INCLUDE_DIR + GANDIVA_LIBS + GANDIVA_LIB_DIR + GANDIVA_SHARED_IMP_LIB + GANDIVA_SHARED_LIB + GANDIVA_SO_VERSION + GANDIVA_STATIC_LIB + GANDIVA_VERSION + GANDIVA_VERSION_MATCH) -find_package_handle_standard_args(Gandiva - REQUIRED_VARS - GANDIVA_INCLUDE_DIR - GANDIVA_LIB_DIR - GANDIVA_SO_VERSION - GANDIVA_VERSION_MATCH - VERSION_VAR - GANDIVA_VERSION) +find_package_handle_standard_args( + Gandiva + REQUIRED_VARS GANDIVA_INCLUDE_DIR GANDIVA_LIB_DIR GANDIVA_SO_VERSION + GANDIVA_VERSION_MATCH + VERSION_VAR GANDIVA_VERSION) set(GANDIVA_FOUND ${Gandiva_FOUND}) if(Gandiva_FOUND AND NOT Gandiva_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindInferTools.cmake b/cpp/cmake_modules/FindInferTools.cmake index c4b65653ae9..23f9976645a 100644 --- a/cpp/cmake_modules/FindInferTools.cmake +++ b/cpp/cmake_modules/FindInferTools.cmake @@ -28,15 +28,12 @@ # INFER_BIN, The path to the infer binary # INFER_FOUND, Whether infer was found -find_program(INFER_BIN - NAMES infer - PATHS ${InferTools_PATH} - $ENV{INFER_TOOLS_PATH} - /usr/local/bin - /usr/bin - /usr/local/homebrew/bin - /opt/local/bin - NO_DEFAULT_PATH) +find_program( + INFER_BIN + NAMES infer + PATHS ${InferTools_PATH} $ENV{INFER_TOOLS_PATH} /usr/local/bin /usr/bin + /usr/local/homebrew/bin /opt/local/bin + NO_DEFAULT_PATH) if("${INFER_BIN}" STREQUAL "INFER_BIN-NOTFOUND") set(INFER_FOUND 0) diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake index 7695c09ae8c..d4655cae425 100644 --- a/cpp/cmake_modules/FindLLVMAlt.cmake +++ b/cpp/cmake_modules/FindLLVMAlt.cmake @@ -24,11 +24,7 @@ if(LLVM_BREW_PREFIX) list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX}) endif() foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS}) - find_package(LLVM - ${ARROW_LLVM_VERSION} - CONFIG - HINTS - ${LLVM_HINTS}) + find_package(LLVM ${ARROW_LLVM_VERSION} CONFIG HINTS ${LLVM_HINTS}) if(LLVM_FOUND) break() endif() @@ -36,44 +32,41 @@ endforeach() if(LLVM_FOUND) # Find the libraries that correspond to the LLVM components - llvm_map_components_to_libnames(LLVM_LIBS - core - mcjit - native - ipo - bitreader - target - linker - analysis - debuginfodwarf) + llvm_map_components_to_libnames( + LLVM_LIBS + core + mcjit + native + ipo + bitreader + target + linker + analysis + debuginfodwarf) find_program(LLVM_LINK_EXECUTABLE llvm-link HINTS ${LLVM_TOOLS_BINARY_DIR}) - find_program(CLANG_EXECUTABLE - NAMES clang-${LLVM_PACKAGE_VERSION} - clang-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} - clang-${LLVM_VERSION_MAJOR} clang - HINTS ${LLVM_TOOLS_BINARY_DIR}) + find_program( + CLANG_EXECUTABLE + NAMES clang-${LLVM_PACKAGE_VERSION} clang-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} + clang-${LLVM_VERSION_MAJOR} clang + HINTS ${LLVM_TOOLS_BINARY_DIR}) add_library(LLVM::LLVM_INTERFACE INTERFACE IMPORTED) - set_target_properties(LLVM::LLVM_INTERFACE - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${LLVM_INCLUDE_DIRS}" - INTERFACE_COMPILE_FLAGS - "${LLVM_DEFINITIONS}" - INTERFACE_LINK_LIBRARIES - "${LLVM_LIBS}") + set_target_properties( + LLVM::LLVM_INTERFACE + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIRS}" + INTERFACE_COMPILE_FLAGS "${LLVM_DEFINITIONS}" + INTERFACE_LINK_LIBRARIES "${LLVM_LIBS}") endif() mark_as_advanced(CLANG_EXECUTABLE LLVM_LINK_EXECUTABLE) -find_package_handle_standard_args(LLVMAlt - REQUIRED_VARS # The first variable is used for display. - LLVM_PACKAGE_VERSION - CLANG_EXECUTABLE - LLVM_FOUND - LLVM_LINK_EXECUTABLE) +find_package_handle_standard_args( + LLVMAlt + REQUIRED_VARS # The first variable is used for display. + LLVM_PACKAGE_VERSION CLANG_EXECUTABLE LLVM_FOUND LLVM_LINK_EXECUTABLE) if(LLVMAlt_FOUND) message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") message(STATUS "Found llvm-link ${LLVM_LINK_EXECUTABLE}") diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake index 14b6d93b983..e68bdd385f5 100644 --- a/cpp/cmake_modules/FindLz4.cmake +++ b/cpp/cmake_modules/FindLz4.cmake @@ -24,15 +24,11 @@ if(ARROW_LZ4_USE_SHARED) set(LZ4_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) list( - APPEND - LZ4_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" - ) + APPEND LZ4_LIB_NAMES + "${CMAKE_IMPORT_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}") endif() - list( - APPEND - LZ4_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + list(APPEND LZ4_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") else() if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") @@ -43,16 +39,18 @@ else() endif() if(LZ4_ROOT) - find_library(LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATHS ${LZ4_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(LZ4_INCLUDE_DIR - NAMES lz4.h - PATHS ${LZ4_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATHS ${LZ4_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + LZ4_INCLUDE_DIR + NAMES lz4.h + PATHS ${LZ4_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_package(PkgConfig QUIET) @@ -61,16 +59,21 @@ else() set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}") list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}") - find_library(LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATHS ${LZ4_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library( + LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATHS ${LZ4_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) else() - find_library(LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + LZ4_INCLUDE_DIR + NAMES lz4.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() @@ -79,7 +82,7 @@ find_package_handle_standard_args(Lz4 REQUIRED_VARS LZ4_LIB LZ4_INCLUDE_DIR) if(Lz4_FOUND) set(Lz4_FOUND TRUE) add_library(LZ4::lz4 UNKNOWN IMPORTED) - set_target_properties(LZ4::lz4 - PROPERTIES IMPORTED_LOCATION "${LZ4_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}") + set_target_properties( + LZ4::lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_LIB}" INTERFACE_INCLUDE_DIRECTORIES + "${LZ4_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindORC.cmake b/cpp/cmake_modules/FindORC.cmake index 061a0df2e9e..fc4c29c6d1b 100644 --- a/cpp/cmake_modules/FindORC.cmake +++ b/cpp/cmake_modules/FindORC.cmake @@ -22,29 +22,35 @@ # ORC_FOUND, whether orc has been found if(ORC_ROOT) - find_library(ORC_STATIC_LIB - NAMES orc - PATHS ${ORC_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(ORC_INCLUDE_DIR - NAMES orc/orc-config.hh - PATHS ${ORC_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + ORC_STATIC_LIB + NAMES orc + PATHS ${ORC_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + ORC_INCLUDE_DIR + NAMES orc/orc-config.hh + PATHS ${ORC_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library(ORC_STATIC_LIB NAMES orc PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(ORC_INCLUDE_DIR - NAMES orc/orc-config.hh - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + ORC_STATIC_LIB + NAMES orc + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + ORC_INCLUDE_DIR + NAMES orc/orc-config.hh + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() if(ORC_STATIC_LIB AND ORC_INCLUDE_DIR) set(ORC_FOUND TRUE) add_library(orc::liborc STATIC IMPORTED) - set_target_properties(orc::liborc - PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") + set_target_properties( + orc::liborc PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") else() if(ORC_FIND_REQUIRED) message(FATAL_ERROR "ORC library was required in toolchain and unable to locate") diff --git a/cpp/cmake_modules/FindParquet.cmake b/cpp/cmake_modules/FindParquet.cmake index 99124b2c037..c21a61d707e 100644 --- a/cpp/cmake_modules/FindParquet.cmake +++ b/cpp/cmake_modules/FindParquet.cmake @@ -56,11 +56,7 @@ if((NOT PARQUET_HOME) AND ARROW_HOME) endif() if(ARROW_FOUND) - arrow_find_package(PARQUET - "${PARQUET_HOME}" - parquet - parquet/api/reader.h - Parquet + arrow_find_package(PARQUET "${PARQUET_HOME}" parquet parquet/api/reader.h Parquet parquet) if(PARQUET_HOME) if(PARQUET_INCLUDE_DIR) @@ -83,13 +79,12 @@ if(ARROW_FOUND) arrow_extract_macro_value(PARQUET_SO_VERSION_QUOTED "PARQUET_SO_VERSION" "${PARQUET_VERSION_H_CONTENT}") - string(REGEX - REPLACE "^\"(.+)\"$" "\\1" PARQUET_SO_VERSION "${PARQUET_SO_VERSION_QUOTED}") + string(REGEX REPLACE "^\"(.+)\"$" "\\1" PARQUET_SO_VERSION + "${PARQUET_SO_VERSION_QUOTED}") arrow_extract_macro_value(PARQUET_FULL_SO_VERSION_QUOTED "PARQUET_FULL_SO_VERSION" "${PARQUET_VERSION_H_CONTENT}") - string(REGEX - REPLACE "^\"(.+)\"$" "\\1" PARQUET_FULL_SO_VERSION - "${PARQUET_FULL_SO_VERSION_QUOTED}") + string(REGEX REPLACE "^\"(.+)\"$" "\\1" PARQUET_FULL_SO_VERSION + "${PARQUET_FULL_SO_VERSION_QUOTED}") endif() else() if(PARQUET_USE_CMAKE_PACKAGE_CONFIG) @@ -102,24 +97,22 @@ if(ARROW_FOUND) set(PARQUET_ABI_VERSION "${PARQUET_SO_VERSION}") endif() -mark_as_advanced(PARQUET_ABI_VERSION - PARQUET_IMPORT_LIB - PARQUET_INCLUDE_DIR - PARQUET_LIBS - PARQUET_LIB_DIR - PARQUET_SHARED_IMP_LIB - PARQUET_SHARED_LIB - PARQUET_SO_VERSION - PARQUET_STATIC_LIB - PARQUET_VERSION) +mark_as_advanced( + PARQUET_ABI_VERSION + PARQUET_IMPORT_LIB + PARQUET_INCLUDE_DIR + PARQUET_LIBS + PARQUET_LIB_DIR + PARQUET_SHARED_IMP_LIB + PARQUET_SHARED_LIB + PARQUET_SO_VERSION + PARQUET_STATIC_LIB + PARQUET_VERSION) -find_package_handle_standard_args(Parquet - REQUIRED_VARS - PARQUET_INCLUDE_DIR - PARQUET_LIB_DIR - PARQUET_SO_VERSION - VERSION_VAR - PARQUET_VERSION) +find_package_handle_standard_args( + Parquet + REQUIRED_VARS PARQUET_INCLUDE_DIR PARQUET_LIB_DIR PARQUET_SO_VERSION + VERSION_VAR PARQUET_VERSION) set(PARQUET_FOUND ${Parquet_FOUND}) if(Parquet_FOUND AND NOT Parquet_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindPlasma.cmake b/cpp/cmake_modules/FindPlasma.cmake index d56b7141320..61ba1393996 100644 --- a/cpp/cmake_modules/FindPlasma.cmake +++ b/cpp/cmake_modules/FindPlasma.cmake @@ -50,12 +50,7 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(PLASMA - "${ARROW_HOME}" - plasma - plasma/client.h - Plasma - plasma) + arrow_find_package(PLASMA "${ARROW_HOME}" plasma plasma/client.h Plasma plasma) if(ARROW_HOME) set(PLASMA_STORE_SERVER ${ARROW_HOME}/bin/plasma-store-server${CMAKE_EXECUTABLE_SUFFIX}) @@ -74,27 +69,24 @@ if(ARROW_FOUND) set(PLASMA_LIBS "${PLASMA_LIB_DIR}") endif() -mark_as_advanced(PLASMA_ABI_VERSION - PLASMA_EXECUTABLE - PLASMA_IMPORT_LIB - PLASMA_INCLUDE_DIR - PLASMA_LIBS - PLASMA_LIB_DIR - PLASMA_SHARED_IMP_LIB - PLASMA_SHARED_LIB - PLASMA_SO_VERSION - PLASMA_STATIC_LIB - PLASMA_STORE_SERVER - PLASMA_VERSION) +mark_as_advanced( + PLASMA_ABI_VERSION + PLASMA_EXECUTABLE + PLASMA_IMPORT_LIB + PLASMA_INCLUDE_DIR + PLASMA_LIBS + PLASMA_LIB_DIR + PLASMA_SHARED_IMP_LIB + PLASMA_SHARED_LIB + PLASMA_SO_VERSION + PLASMA_STATIC_LIB + PLASMA_STORE_SERVER + PLASMA_VERSION) -find_package_handle_standard_args(Plasma - REQUIRED_VARS - PLASMA_INCLUDE_DIR - PLASMA_LIB_DIR - PLASMA_SO_VERSION - PLASMA_STORE_SERVER - VERSION_VAR - PLASMA_VERSION) +find_package_handle_standard_args( + Plasma + REQUIRED_VARS PLASMA_INCLUDE_DIR PLASMA_LIB_DIR PLASMA_SO_VERSION PLASMA_STORE_SERVER + VERSION_VAR PLASMA_VERSION) set(PLASMA_FOUND ${Plasma_FOUND}) if(Plasma_FOUND AND NOT Plasma_FIND_QUIETLY) diff --git a/cpp/cmake_modules/FindPython3Alt.cmake b/cpp/cmake_modules/FindPython3Alt.cmake index 131a0d395fc..89b9fffc639 100644 --- a/cpp/cmake_modules/FindPython3Alt.cmake +++ b/cpp/cmake_modules/FindPython3Alt.cmake @@ -33,11 +33,8 @@ if(${CMAKE_VERSION} VERSION_LESS "3.15.0") find_package(PythonLibsNew) find_package(NumPy) endif() - find_package_handle_standard_args(Python3Alt - REQUIRED_VARS - PYTHON_EXECUTABLE - PYTHON_INCLUDE_DIRS - NUMPY_INCLUDE_DIRS) + find_package_handle_standard_args( + Python3Alt REQUIRED_VARS PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS NUMPY_INCLUDE_DIRS) return() endif() @@ -46,13 +43,19 @@ if(${CMAKE_VERSION} VERSION_LESS "3.18.0" OR ARROW_BUILD_TESTS) # the full "Development" component. Also ask for it on CMake < 3.18, # where "Development.Module" is not available. if(Python3Alt_FIND_REQUIRED) - find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED) + find_package( + Python3 + COMPONENTS Interpreter Development NumPy + REQUIRED) else() find_package(Python3 COMPONENTS Interpreter Development NumPy) endif() else() if(Python3Alt_FIND_REQUIRED) - find_package(Python3 COMPONENTS Interpreter Development.Module NumPy REQUIRED) + find_package( + Python3 + COMPONENTS Interpreter Development.Module NumPy + REQUIRED) else() find_package(Python3 COMPONENTS Interpreter Development.Module NumPy) endif() @@ -92,8 +95,5 @@ function(PYTHON_ADD_MODULE name) set_target_properties(${name} PROPERTIES SUFFIX ${_EXT_SUFFIX}) endfunction() -find_package_handle_standard_args(Python3Alt - REQUIRED_VARS - PYTHON_EXECUTABLE - PYTHON_INCLUDE_DIRS - NUMPY_INCLUDE_DIRS) +find_package_handle_standard_args( + Python3Alt REQUIRED_VARS PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS NUMPY_INCLUDE_DIRS) diff --git a/cpp/cmake_modules/FindRapidJSONAlt.cmake b/cpp/cmake_modules/FindRapidJSONAlt.cmake index a967ef61a66..4d51967c4eb 100644 --- a/cpp/cmake_modules/FindRapidJSONAlt.cmake +++ b/cpp/cmake_modules/FindRapidJSONAlt.cmake @@ -30,45 +30,45 @@ if(RapidJSON_FOUND) endif() if(RapidJSON_ROOT) - find_path(RAPIDJSON_INCLUDE_DIR - NAMES rapidjson/rapidjson.h - PATHS ${RapidJSON_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES "include") + find_path( + RAPIDJSON_INCLUDE_DIR + NAMES rapidjson/rapidjson.h + PATHS ${RapidJSON_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES "include") else() - find_path(RAPIDJSON_INCLUDE_DIR NAMES rapidjson/rapidjson.h PATH_SUFFIXES "include") + find_path( + RAPIDJSON_INCLUDE_DIR + NAMES rapidjson/rapidjson.h + PATH_SUFFIXES "include") endif() if(RAPIDJSON_INCLUDE_DIR) file(READ "${RAPIDJSON_INCLUDE_DIR}/rapidjson/rapidjson.h" RAPIDJSON_H_CONTENT) string(REGEX MATCH "#define RAPIDJSON_MAJOR_VERSION ([0-9]+)" RAPIDJSON_MAJOR_VERSION_DEFINITION "${RAPIDJSON_H_CONTENT}") - string(REGEX - REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_MAJOR_VERSION - "${RAPIDJSON_MAJOR_VERSION_DEFINITION}") + string(REGEX REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_MAJOR_VERSION + "${RAPIDJSON_MAJOR_VERSION_DEFINITION}") string(REGEX MATCH "#define RAPIDJSON_MINOR_VERSION ([0-9]+)" RAPIDJSON_MINOR_VERSION_DEFINITION "${RAPIDJSON_H_CONTENT}") - string(REGEX - REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_MINOR_VERSION - "${RAPIDJSON_MINOR_VERSION_DEFINITION}") + string(REGEX REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_MINOR_VERSION + "${RAPIDJSON_MINOR_VERSION_DEFINITION}") string(REGEX MATCH "#define RAPIDJSON_PATCH_VERSION ([0-9]+)" RAPIDJSON_PATCH_VERSION_DEFINITION "${RAPIDJSON_H_CONTENT}") - string(REGEX - REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_PATCH_VERSION - "${RAPIDJSON_PATCH_VERSION_DEFINITION}") + string(REGEX REPLACE "^.+ ([0-9]+)$" "\\1" RAPIDJSON_PATCH_VERSION + "${RAPIDJSON_PATCH_VERSION_DEFINITION}") if("${RAPIDJSON_MAJOR_VERSION}" STREQUAL "" OR "${RAPIDJSON_MINOR_VERSION}" STREQUAL "" OR "${RAPIDJSON_PATCH_VERSION}" STREQUAL "") set(RAPIDJSON_VERSION "0.0.0") else() - set( - RAPIDJSON_VERSION - "${RAPIDJSON_MAJOR_VERSION}.${RAPIDJSON_MINOR_VERSION}.${RAPIDJSON_PATCH_VERSION}") + set(RAPIDJSON_VERSION + "${RAPIDJSON_MAJOR_VERSION}.${RAPIDJSON_MINOR_VERSION}.${RAPIDJSON_PATCH_VERSION}" + ) endif() endif() -find_package_handle_standard_args(RapidJSONAlt - REQUIRED_VARS - RAPIDJSON_INCLUDE_DIR - VERSION_VAR - RAPIDJSON_VERSION) +find_package_handle_standard_args( + RapidJSONAlt + REQUIRED_VARS RAPIDJSON_INCLUDE_DIR + VERSION_VAR RAPIDJSON_VERSION) diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake index 26cccb786c5..e7661e1ef82 100644 --- a/cpp/cmake_modules/FindSnappy.cmake +++ b/cpp/cmake_modules/FindSnappy.cmake @@ -19,45 +19,47 @@ if(ARROW_SNAPPY_USE_SHARED) set(SNAPPY_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) list(APPEND SNAPPY_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}snappy${CMAKE_IMPORT_LIBRARY_SUFFIX}") + "${CMAKE_IMPORT_LIBRARY_PREFIX}snappy${CMAKE_IMPORT_LIBRARY_SUFFIX}") endif() list(APPEND SNAPPY_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}snappy${CMAKE_SHARED_LIBRARY_SUFFIX}") + "${CMAKE_SHARED_LIBRARY_PREFIX}snappy${CMAKE_SHARED_LIBRARY_SUFFIX}") else() set(SNAPPY_STATIC_LIB_NAME_BASE "snappy") if(MSVC) set(SNAPPY_STATIC_LIB_NAME_BASE "${SNAPPY_STATIC_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}") endif() - set( - SNAPPY_LIB_NAMES - "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(SNAPPY_LIB_NAMES + "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) endif() if(Snappy_ROOT) - find_library(Snappy_LIB - NAMES ${SNAPPY_LIB_NAMES} - PATHS ${Snappy_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(Snappy_INCLUDE_DIR - NAMES snappy.h - PATHS ${Snappy_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + Snappy_LIB + NAMES ${SNAPPY_LIB_NAMES} + PATHS ${Snappy_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + Snappy_INCLUDE_DIR + NAMES snappy.h + PATHS ${Snappy_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_library(Snappy_LIB NAMES ${SNAPPY_LIB_NAMES}) - find_path(Snappy_INCLUDE_DIR - NAMES snappy.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path( + Snappy_INCLUDE_DIR + NAMES snappy.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(Snappy REQUIRED_VARS Snappy_LIB Snappy_INCLUDE_DIR) if(Snappy_FOUND) add_library(Snappy::snappy UNKNOWN IMPORTED) - set_target_properties(Snappy::snappy - PROPERTIES IMPORTED_LOCATION "${Snappy_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${Snappy_INCLUDE_DIR}") + set_target_properties( + Snappy::snappy PROPERTIES IMPORTED_LOCATION "${Snappy_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${Snappy_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake index 273d907ed07..dd1020ade36 100644 --- a/cpp/cmake_modules/FindThrift.cmake +++ b/cpp/cmake_modules/FindThrift.cmake @@ -33,9 +33,13 @@ function(EXTRACT_THRIFT_VERSION) string(REGEX MATCH "#define PACKAGE_VERSION \"[0-9.]+\"" THRIFT_VERSION_DEFINITION "${THRIFT_CONFIG_H_CONTENT}") string(REGEX MATCH "[0-9.]+" THRIFT_VERSION "${THRIFT_VERSION_DEFINITION}") - set(THRIFT_VERSION "${THRIFT_VERSION}" PARENT_SCOPE) + set(THRIFT_VERSION + "${THRIFT_VERSION}" + PARENT_SCOPE) else() - set(THRIFT_VERSION "" PARENT_SCOPE) + set(THRIFT_VERSION + "" + PARENT_SCOPE) endif() endfunction(EXTRACT_THRIFT_VERSION) @@ -55,30 +59,33 @@ if(ARROW_THRIFT_USE_SHARED) if(CMAKE_IMPORT_LIBRARY_SUFFIX) list( APPEND - THRIFT_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" - ) - endif() - list( - APPEND THRIFT_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CMAKE_IMPORT_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" ) + endif() + list( + APPEND THRIFT_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") else() - set( - THRIFT_LIB_NAMES - "${CMAKE_STATIC_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(THRIFT_LIB_NAMES + "${CMAKE_STATIC_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) endif() if(Thrift_ROOT) - find_library(THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATHS ${Thrift_ROOT} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") - find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h - PATHS ${Thrift_ROOT} - PATH_SUFFIXES "include") - find_program(THRIFT_COMPILER thrift PATHS ${Thrift_ROOT} PATH_SUFFIXES "bin") + find_library( + THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_path( + THRIFT_INCLUDE_DIR thrift/Thrift.h + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "include") + find_program( + THRIFT_COMPILER thrift + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "bin") extract_thrift_version() else() # THRIFT-4760: The pkgconfig files are currently only installed when using autotools. @@ -90,19 +97,22 @@ else() list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}") - find_library(THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATHS ${THRIFT_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH) - find_program(THRIFT_COMPILER thrift - HINTS ${THRIFT_PC_PREFIX} - NO_DEFAULT_PATH - PATH_SUFFIXES "bin") + find_library( + THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATHS ${THRIFT_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH) + find_program( + THRIFT_COMPILER thrift + HINTS ${THRIFT_PC_PREFIX} + NO_DEFAULT_PATH + PATH_SUFFIXES "bin") set(THRIFT_VERSION ${THRIFT_PC_VERSION}) else() - find_library(THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_library( + THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include") find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin") extract_thrift_version() @@ -115,13 +125,11 @@ else() set(Thrift_COMPILER_FOUND FALSE) endif() -find_package_handle_standard_args(Thrift - REQUIRED_VARS - THRIFT_LIB - THRIFT_INCLUDE_DIR - VERSION_VAR - THRIFT_VERSION - HANDLE_COMPONENTS) +find_package_handle_standard_args( + Thrift + REQUIRED_VARS THRIFT_LIB THRIFT_INCLUDE_DIR + VERSION_VAR THRIFT_VERSION + HANDLE_COMPONENTS) if(Thrift_FOUND OR THRIFT_FOUND) set(Thrift_FOUND TRUE) @@ -130,9 +138,9 @@ if(Thrift_FOUND OR THRIFT_FOUND) else() add_library(thrift::thrift STATIC IMPORTED) endif() - set_target_properties(thrift::thrift - PROPERTIES IMPORTED_LOCATION "${THRIFT_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") + set_target_properties( + thrift::thrift PROPERTIES IMPORTED_LOCATION "${THRIFT_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") if(WIN32 AND NOT MSVC_TOOLCHAIN) # We don't need this for Visual C++ because Thrift uses # "#pragma comment(lib, "Ws2_32.lib")" in diff --git a/cpp/cmake_modules/Findc-aresAlt.cmake b/cpp/cmake_modules/Findc-aresAlt.cmake index dd16393cad2..81f51e840e9 100644 --- a/cpp/cmake_modules/Findc-aresAlt.cmake +++ b/cpp/cmake_modules/Findc-aresAlt.cmake @@ -34,28 +34,33 @@ if(c-ares_PC_FOUND) set(c-ares_INCLUDE_DIR "${c-ares_PC_INCLUDEDIR}") list(APPEND c-ares_PC_LIBRARY_DIRS "${c-ares_PC_LIBDIR}") - find_library(c-ares_LIB cares - PATHS ${c-ares_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + c-ares_LIB cares + PATHS ${c-ares_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) elseif(c-ares_ROOT) - find_library(c-ares_LIB - NAMES cares - "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATHS ${c-ares_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(c-ares_INCLUDE_DIR - NAMES ares.h - PATHS ${c-ares_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + c-ares_LIB + NAMES cares "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATHS ${c-ares_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + c-ares_INCLUDE_DIR + NAMES ares.h + PATHS ${c-ares_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library(c-ares_LIB - NAMES cares - "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(c-ares_INCLUDE_DIR NAMES ares.h PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + c-ares_LIB + NAMES cares "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + c-ares_INCLUDE_DIR + NAMES ares.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(c-aresAlt REQUIRED_VARS c-ares_LIB c-ares_INCLUDE_DIR) @@ -64,8 +69,7 @@ if(c-aresAlt_FOUND) if(NOT TARGET c-ares::cares) add_library(c-ares::cares UNKNOWN IMPORTED) set_target_properties( - c-ares::cares - PROPERTIES IMPORTED_LOCATION "${c-ares_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${c-ares_INCLUDE_DIR}") + c-ares::cares PROPERTIES IMPORTED_LOCATION "${c-ares_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${c-ares_INCLUDE_DIR}") endif() endif() diff --git a/cpp/cmake_modules/FindgRPCAlt.cmake b/cpp/cmake_modules/FindgRPCAlt.cmake index 841b3b61b83..454452777e6 100644 --- a/cpp/cmake_modules/FindgRPCAlt.cmake +++ b/cpp/cmake_modules/FindgRPCAlt.cmake @@ -48,10 +48,11 @@ if(GRPCPP_PC_FOUND) endif() list(GET GRPCPP_LINK_LIBRARIES 0 GRPCPP_IMPORTED_LOCATION) list(REMOVE_AT GRPCPP_LINK_LIBRARIES 0) - find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin - HINTS ${GRPCPP_PC_PREFIX} - NO_DEFAULT_PATH - PATH_SUFFIXES "bin") + find_program( + GRPC_CPP_PLUGIN grpc_cpp_plugin + HINTS ${GRPCPP_PC_PREFIX} + NO_DEFAULT_PATH + PATH_SUFFIXES "bin") set(gRPCAlt_FIND_PACKAGE_ARGS gRPCAlt REQUIRED_VARS GRPCPP_IMPORTED_LOCATION GRPC_CPP_PLUGIN) if(gRPCAlt_VERSION) @@ -64,19 +65,15 @@ endif() if(gRPCAlt_FOUND) add_library(gRPC::grpc++ UNKNOWN IMPORTED) - set_target_properties(gRPC::grpc++ - PROPERTIES IMPORTED_LOCATION - "${GRPCPP_IMPORTED_LOCATION}" - INTERFACE_COMPILE_OPTIONS - "${GRPCPP_COMPILE_OPTIONS}" - INTERFACE_INCLUDE_DIRECTORIES - "${GRPCPP_INCLUDE_DIRECTORIES}" - INTERFACE_LINK_LIBRARIES - "${GRPCPP_LINK_LIBRARIES}" - INTERFACE_LINK_OPTIONS - "${GRPCPP_LINK_OPTIONS}") + set_target_properties( + gRPC::grpc++ + PROPERTIES IMPORTED_LOCATION "${GRPCPP_IMPORTED_LOCATION}" + INTERFACE_COMPILE_OPTIONS "${GRPCPP_COMPILE_OPTIONS}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPCPP_INCLUDE_DIRECTORIES}" + INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}" + INTERFACE_LINK_OPTIONS "${GRPCPP_LINK_OPTIONS}") add_executable(gRPC::grpc_cpp_plugin IMPORTED) - set_target_properties(gRPC::grpc_cpp_plugin - PROPERTIES IMPORTED_LOCATION ${GRPC_CPP_PLUGIN}) + set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_LOCATION + ${GRPC_CPP_PLUGIN}) endif() diff --git a/cpp/cmake_modules/FindgflagsAlt.cmake b/cpp/cmake_modules/FindgflagsAlt.cmake index e092ea3e9b9..954dff22e1f 100644 --- a/cpp/cmake_modules/FindgflagsAlt.cmake +++ b/cpp/cmake_modules/FindgflagsAlt.cmake @@ -31,29 +31,32 @@ endif() # TODO: Support version detection. if(gflags_ROOT) - find_library(gflags_LIB - NAMES gflags - PATHS ${gflags_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(GFLAGS_INCLUDE_DIR - NAMES gflags/gflags.h - PATHS ${gflags_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + gflags_LIB + NAMES gflags + PATHS ${gflags_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + GFLAGS_INCLUDE_DIR + NAMES gflags/gflags.h + PATHS ${gflags_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_library(gflags_LIB NAMES gflags) - find_path(GFLAGS_INCLUDE_DIR - NAMES gflags/gflags.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path( + GFLAGS_INCLUDE_DIR + NAMES gflags/gflags.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCLUDE_DIR) if(gflagsAlt_FOUND) add_library(gflags::gflags UNKNOWN IMPORTED) - set_target_properties(gflags::gflags - PROPERTIES IMPORTED_LOCATION "${gflags_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") + set_target_properties( + gflags::gflags PROPERTIES IMPORTED_LOCATION "${gflags_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") set(GFLAGS_LIBRARIES gflags::gflags) endif() diff --git a/cpp/cmake_modules/Findjemalloc.cmake b/cpp/cmake_modules/Findjemalloc.cmake index 84bb81fcba2..3ee020218fe 100644 --- a/cpp/cmake_modules/Findjemalloc.cmake +++ b/cpp/cmake_modules/Findjemalloc.cmake @@ -41,21 +41,24 @@ set(LIBJEMALLOC_NAMES jemalloc libjemalloc.so.1 libjemalloc.so.2 libjemalloc.dyl # Try the parameterized roots, if they exist if(_jemalloc_roots) - find_path(JEMALLOC_INCLUDE_DIR - NAMES jemalloc/jemalloc.h - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "include") - find_library(JEMALLOC_SHARED_LIB - NAMES ${LIBJEMALLOC_NAMES} - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "lib") - find_library(JEMALLOC_STATIC_LIB - NAMES jemalloc_pic - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "lib") + find_path( + JEMALLOC_INCLUDE_DIR + NAMES jemalloc/jemalloc.h + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "include") + find_library( + JEMALLOC_SHARED_LIB + NAMES ${LIBJEMALLOC_NAMES} + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib") + find_library( + JEMALLOC_STATIC_LIB + NAMES jemalloc_pic + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib") else() find_path(JEMALLOC_INCLUDE_DIR NAMES jemalloc/jemalloc.h) message(STATUS ${JEMALLOC_INCLUDE_DIR}) diff --git a/cpp/cmake_modules/Findre2Alt.cmake b/cpp/cmake_modules/Findre2Alt.cmake index 93b69ce77cb..8acc3838eeb 100644 --- a/cpp/cmake_modules/Findre2Alt.cmake +++ b/cpp/cmake_modules/Findre2Alt.cmake @@ -34,15 +34,18 @@ if(RE2_PC_FOUND) set(RE2_INCLUDE_DIR "${RE2_PC_INCLUDEDIR}") list(APPEND RE2_PC_LIBRARY_DIRS "${RE2_PC_LIBDIR}") - find_library(RE2_LIB re2 - PATHS ${RE2_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library( + RE2_LIB re2 + PATHS ${RE2_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) # On Fedora, the reported prefix is wrong. As users likely run into this, # workaround. # https://bugzilla.redhat.com/show_bug.cgi?id=1652589 - if(UNIX AND NOT APPLE AND NOT RE2_LIB) + if(UNIX + AND NOT APPLE + AND NOT RE2_LIB) if(RE2_PC_PREFIX STREQUAL "/usr/local") find_library(RE2_LIB re2) endif() @@ -51,26 +54,32 @@ elseif(RE2_ROOT) find_library( RE2_LIB NAMES - re2_static re2 + re2_static + re2 "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" PATHS ${RE2_ROOT} PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} NO_DEFAULT_PATH) - find_path(RE2_INCLUDE_DIR - NAMES re2/re2.h - PATHS ${RE2_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path( + RE2_INCLUDE_DIR + NAMES re2/re2.h + PATHS ${RE2_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_library( RE2_LIB NAMES - re2_static re2 + re2_static + re2 "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(RE2_INCLUDE_DIR NAMES re2/re2.h PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path( + RE2_INCLUDE_DIR + NAMES re2/re2.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(re2Alt REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR) @@ -78,8 +87,8 @@ find_package_handle_standard_args(re2Alt REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR) if(re2Alt_FOUND) if(NOT TARGET re2::re2) add_library(re2::re2 UNKNOWN IMPORTED) - set_target_properties(re2::re2 - PROPERTIES IMPORTED_LOCATION "${RE2_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${RE2_INCLUDE_DIR}") + set_target_properties( + re2::re2 PROPERTIES IMPORTED_LOCATION "${RE2_LIB}" INTERFACE_INCLUDE_DIRECTORIES + "${RE2_INCLUDE_DIR}") endif() endif() diff --git a/cpp/cmake_modules/Findutf8proc.cmake b/cpp/cmake_modules/Findutf8proc.cmake index 03c720d9a3c..3783ff49593 100644 --- a/cpp/cmake_modules/Findutf8proc.cmake +++ b/cpp/cmake_modules/Findutf8proc.cmake @@ -36,7 +36,9 @@ function(extract_utf8proc_version) "${UTF8PROC_MAJOR_VERSION}.${UTF8PROC_MINOR_VERSION}.${UTF8PROC_PATCH_VERSION}" PARENT_SCOPE) else() - set(utf8proc_VERSION "" PARENT_SCOPE) + set(utf8proc_VERSION + "" + PARENT_SCOPE) endif() endfunction(extract_utf8proc_version) @@ -44,10 +46,10 @@ if(ARROW_UTF8PROC_USE_SHARED) set(utf8proc_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) list(APPEND utf8proc_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}utf8proc${CMAKE_IMPORT_LIBRARY_SUFFIX}") + "${CMAKE_IMPORT_LIBRARY_PREFIX}utf8proc${CMAKE_IMPORT_LIBRARY_SUFFIX}") endif() list(APPEND utf8proc_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}utf8proc${CMAKE_SHARED_LIBRARY_SUFFIX}") + "${CMAKE_SHARED_LIBRARY_PREFIX}utf8proc${CMAKE_SHARED_LIBRARY_SUFFIX}") else() if(MSVC AND NOT DEFINED utf8proc_MSVC_STATIC_LIB_SUFFIX) set(utf8proc_MSVC_STATIC_LIB_SUFFIX "_static") @@ -59,43 +61,44 @@ else() endif() if(utf8proc_ROOT) - find_library(utf8proc_LIB - NAMES ${utf8proc_LIB_NAMES} - PATHS ${utf8proc_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(utf8proc_INCLUDE_DIR - NAMES utf8proc.h - PATHS ${utf8proc_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + utf8proc_LIB + NAMES ${utf8proc_LIB_NAMES} + PATHS ${utf8proc_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + utf8proc_INCLUDE_DIR + NAMES utf8proc.h + PATHS ${utf8proc_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) extract_utf8proc_version() else() - find_library(utf8proc_LIB - NAMES ${utf8proc_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(utf8proc_INCLUDE_DIR - NAMES utf8proc.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + utf8proc_LIB + NAMES ${utf8proc_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + utf8proc_INCLUDE_DIR + NAMES utf8proc.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) extract_utf8proc_version() endif() -find_package_handle_standard_args(utf8proc - REQUIRED_VARS - utf8proc_LIB - utf8proc_INCLUDE_DIR - VERSION_VAR - utf8proc_VERSION) +find_package_handle_standard_args( + utf8proc + REQUIRED_VARS utf8proc_LIB utf8proc_INCLUDE_DIR + VERSION_VAR utf8proc_VERSION) if(utf8proc_FOUND) set(utf8proc_FOUND TRUE) add_library(utf8proc::utf8proc UNKNOWN IMPORTED) set_target_properties( - utf8proc::utf8proc - PROPERTIES IMPORTED_LOCATION "${utf8proc_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${utf8proc_INCLUDE_DIR}") + utf8proc::utf8proc PROPERTIES IMPORTED_LOCATION "${utf8proc_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${utf8proc_INCLUDE_DIR}") if(NOT ARROW_UTF8PROC_USE_SHARED) - set_target_properties(utf8proc::utf8proc - PROPERTIES INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC") + set_target_properties(utf8proc::utf8proc PROPERTIES INTERFACE_COMPILER_DEFINITIONS + "UTF8PROC_STATIC") endif() endif() diff --git a/cpp/cmake_modules/Findzstd.cmake b/cpp/cmake_modules/Findzstd.cmake index f32892aecb8..c110750ef4c 100644 --- a/cpp/cmake_modules/Findzstd.cmake +++ b/cpp/cmake_modules/Findzstd.cmake @@ -24,15 +24,12 @@ if(ARROW_ZSTD_USE_SHARED) set(ZSTD_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) list( - APPEND - ZSTD_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" - ) + APPEND ZSTD_LIB_NAMES + "${CMAKE_IMPORT_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}") endif() list( - APPEND - ZSTD_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + APPEND ZSTD_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") else() if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") @@ -46,16 +43,18 @@ endif() # First, find via if specified ZTD_ROOT if(ZSTD_ROOT) message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}") - find_library(ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATHS ${ZSTD_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path(ZSTD_INCLUDE_DIR - NAMES zstd.h - PATHS ${ZSTD_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATHS ${ZSTD_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path( + ZSTD_INCLUDE_DIR + NAMES zstd.h + PATHS ${ZSTD_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() # Second, find via pkg_check_modules @@ -65,17 +64,22 @@ else() set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") - find_library(ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATHS ${ZSTD_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library( + ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATHS ${ZSTD_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) else() # Third, check all other CMake paths - find_library(ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library( + ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path( + ZSTD_INCLUDE_DIR + NAMES zstd.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() @@ -83,7 +87,7 @@ find_package_handle_standard_args(zstd REQUIRED_VARS ZSTD_LIB ZSTD_INCLUDE_DIR) if(zstd_FOUND) add_library(zstd::libzstd UNKNOWN IMPORTED) - set_target_properties(zstd::libzstd - PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIR}") + set_target_properties( + zstd::libzstd PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" INTERFACE_INCLUDE_DIRECTORIES + "${ZSTD_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake index 0a92702c4ec..714c5299253 100644 --- a/cpp/cmake_modules/SetupCxxFlags.cmake +++ b/cpp/cmake_modules/SetupCxxFlags.cmake @@ -64,7 +64,8 @@ if(ARROW_CPU_FLAG STREQUAL "x86") # Check for AVX512 support in the compiler. set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS}) set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${ARROW_AVX512_FLAG}") - check_cxx_source_compiles(" + check_cxx_source_compiles( + " #ifdef _MSC_VER #include #else @@ -76,12 +77,13 @@ if(ARROW_CPU_FLAG STREQUAL "x86") char out[32]; _mm512_storeu_si512(out, mask); return 0; - }" CXX_SUPPORTS_AVX512) + }" + CXX_SUPPORTS_AVX512) set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS}) endif() # Runtime SIMD level it can get from compiler and ARROW_RUNTIME_SIMD_LEVEL - if(CXX_SUPPORTS_SSE4_2 - AND ARROW_RUNTIME_SIMD_LEVEL MATCHES "^(SSE4_2|AVX2|AVX512|MAX)$") + if(CXX_SUPPORTS_SSE4_2 AND ARROW_RUNTIME_SIMD_LEVEL MATCHES + "^(SSE4_2|AVX2|AVX512|MAX)$") set(ARROW_HAVE_RUNTIME_SSE4_2 ON) add_definitions(-DARROW_HAVE_RUNTIME_SSE4_2) endif() @@ -177,17 +179,18 @@ if(WIN32) set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd5105") if(ARROW_USE_STATIC_CRT) - foreach(c_flag - CMAKE_CXX_FLAGS - CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_DEBUG - CMAKE_CXX_FLAGS_MINSIZEREL - CMAKE_CXX_FLAGS_RELWITHDEBINFO - CMAKE_C_FLAGS - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELWITHDEBINFO) + foreach( + c_flag + CMAKE_CXX_FLAGS + CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_DEBUG + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO + CMAKE_C_FLAGS + CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_DEBUG + CMAKE_C_FLAGS_MINSIZEREL + CMAKE_C_FLAGS_RELWITHDEBINFO) string(REPLACE "/MD" "-MT" ${c_flag} "${${c_flag}}") endforeach() endif() @@ -252,8 +255,8 @@ if("${BUILD_WARNING_LEVEL}" STREQUAL "CHECKIN") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4365") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4267") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4838") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wall") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wextra") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wdocumentation") @@ -286,8 +289,8 @@ elseif("${BUILD_WARNING_LEVEL}" STREQUAL "EVERYTHING") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /Wall") # https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level # /wdnnnn disables a warning where "nnnn" is a warning number - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Weverything") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-c++98-compat") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-c++98-compat-pedantic") @@ -315,9 +318,10 @@ else() # /wdnnnn disables a warning where "nnnn" is a warning number string(REPLACE "/W3" "" CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS}") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /W3") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + elseif( + CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" + OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" + OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wall") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") if(WIN32) @@ -342,8 +346,8 @@ if(MSVC) # (required for protobuf, see https://github.com/protocolbuffers/protobuf/issues/6885) set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4065") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "7.0" - OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7.0") + if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "7.0" OR CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER "7.0") # Without this, gcc >= 7 warns related to changes in C++17 set(CXX_ONLY_FLAGS "${CXX_ONLY_FLAGS} -Wno-noexcept-type") endif() @@ -370,8 +374,8 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CXX_ONLY_FLAGS "${CXX_ONLY_FLAGS} -Wno-subobject-linkage") endif() -elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") # Clang options for all builds # Using Clang with ccache causes a bunch of spurious warnings that are @@ -453,8 +457,8 @@ if(ARROW_CPU_FLAG STREQUAL "armv8") add_definitions(-DARROW_HAVE_NEON) endif() - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.4") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS + "5.4") message(WARNING "Disable Armv8 CRC and Crypto as compiler doesn't support them well.") else() if(ARROW_ARMV8_ARCH_FLAG MATCHES "\\+crypto") @@ -479,9 +483,10 @@ endif() # Any additional arguments are passed verbatim into the C++ compiler invocation. function(GET_GOLD_VERSION) # The gold linker is only for ELF binaries, which macOS doesn't use. - execute_process(COMMAND ${CMAKE_CXX_COMPILER} "-Wl,--version" ${ARGN} - ERROR_QUIET - OUTPUT_VARIABLE LINKER_OUTPUT) + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} "-Wl,--version" ${ARGN} + ERROR_QUIET + OUTPUT_VARIABLE LINKER_OUTPUT) # We're expecting LINKER_OUTPUT to look like one of these: # GNU gold (version 2.24) 1.11 # GNU gold (GNU Binutils for Ubuntu 2.30) 1.15 @@ -491,7 +496,9 @@ function(GET_GOLD_VERSION) message(SEND_ERROR "Could not extract GNU gold version. " "Linker version output: ${LINKER_OUTPUT}") endif() - set(GOLD_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) + set(GOLD_VERSION + "${CMAKE_MATCH_1}" + PARENT_SCOPE) endif() endfunction() @@ -507,9 +514,10 @@ if(NOT WIN32 AND NOT APPLE) # We can't use the gold linker if it's inside devtoolset because the compiler # won't find it when invoked directly from make/ninja (which is typically # done outside devtoolset). - execute_process(COMMAND which ld.gold - OUTPUT_VARIABLE GOLD_LOCATION - OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + execute_process( + COMMAND which ld.gold + OUTPUT_VARIABLE GOLD_LOCATION + OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) if("${GOLD_LOCATION}" MATCHES "^/opt/rh/devtoolset") message("Skipping optional gold linker (version ${GOLD_VERSION}) because " "it's in devtoolset") @@ -590,7 +598,7 @@ set(CXX_FLAGS_PROFILE_BUILD "${CXX_FLAGS_RELEASE} -fprofile-use") # Set compile flags based on the build type. message( "Configured for ${CMAKE_BUILD_TYPE} build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})" - ) +) if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAGS_DEBUG}") diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 1350f274565..7ab62e1661b 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -196,10 +196,7 @@ endmacro() macro(resolve_dependency DEPENDENCY_NAME) set(options) set(one_value_args HAVE_ALT IS_RUNTIME_DEPENDENCY REQUIRED_VERSION USE_CONFIG) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") @@ -279,7 +276,9 @@ if(ARROW_JSON) set(ARROW_WITH_RAPIDJSON ON) endif() -if(ARROW_ORC OR ARROW_FLIGHT OR ARROW_GANDIVA) +if(ARROW_ORC + OR ARROW_FLIGHT + OR ARROW_GANDIVA) set(ARROW_WITH_PROTOBUF ON) endif() @@ -291,7 +290,9 @@ if((NOT ARROW_COMPUTE) AND (NOT ARROW_GANDIVA)) set(ARROW_WITH_UTF8PROC OFF) endif() -if((NOT ARROW_COMPUTE) AND (NOT ARROW_GANDIVA) AND (NOT ARROW_WITH_GRPC)) +if((NOT ARROW_COMPUTE) + AND (NOT ARROW_GANDIVA) + AND (NOT ARROW_WITH_GRPC)) set(ARROW_WITH_RE2 OFF) endif() @@ -313,9 +314,8 @@ endmacro() file(STRINGS "${THIRDPARTY_DIR}/versions.txt" TOOLCHAIN_VERSIONS_TXT) foreach(_VERSION_ENTRY ${TOOLCHAIN_VERSIONS_TXT}) # Exclude comments - if(NOT - ((_VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_VERSION=") - OR (_VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_CHECKSUM="))) + if(NOT ((_VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_VERSION=") + OR (_VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_CHECKSUM="))) continue() endif() @@ -347,7 +347,7 @@ else() set_urls( AWS_C_COMMON_SOURCE_URL "https://github.com/awslabs/aws-c-common/archive/${ARROW_AWS_C_COMMON_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_AWS_CHECKSUMS_URL}) @@ -356,7 +356,7 @@ else() set_urls( AWS_CHECKSUMS_SOURCE_URL "https://github.com/awslabs/aws-checksums/archive/${ARROW_AWS_CHECKSUMS_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_AWS_C_EVENT_STREAM_URL}) @@ -365,7 +365,7 @@ else() set_urls( AWS_C_EVENT_STREAM_SOURCE_URL "https://github.com/awslabs/aws-c-event-stream/archive/${ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_AWSSDK_URL}) @@ -375,7 +375,7 @@ else() AWSSDK_SOURCE_URL "https://github.com/aws/aws-sdk-cpp/archive/${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/aws-sdk-cpp-${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_BOOST_URL}) @@ -402,7 +402,7 @@ else() BROTLI_SOURCE_URL "https://github.com/google/brotli/archive/${ARROW_BROTLI_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/brotli-${ARROW_BROTLI_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_BZIP2_URL}) @@ -412,7 +412,7 @@ else() ARROW_BZIP2_SOURCE_URL "https://sourceware.org/pub/bzip2/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_CARES_URL}) @@ -422,7 +422,7 @@ else() CARES_SOURCE_URL "https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/cares-${ARROW_CARES_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_GBENCHMARK_URL}) @@ -432,7 +432,7 @@ else() GBENCHMARK_SOURCE_URL "https://github.com/google/benchmark/archive/${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/gbenchmark-${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_GFLAGS_URL}) @@ -442,7 +442,7 @@ else() GFLAGS_SOURCE_URL "https://github.com/gflags/gflags/archive/${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/gflags-${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_GLOG_URL}) @@ -452,7 +452,7 @@ else() GLOG_SOURCE_URL "https://github.com/google/glog/archive/${ARROW_GLOG_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/glog-${ARROW_GLOG_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_GRPC_URL}) @@ -462,7 +462,7 @@ else() GRPC_SOURCE_URL "https://github.com/grpc/grpc/archive/${ARROW_GRPC_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/grpc-${ARROW_GRPC_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_GTEST_URL}) @@ -473,7 +473,7 @@ else() "https://github.com/google/googletest/archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" "https://chromium.googlesource.com/external/github.com/google/googletest/+archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/gtest-${ARROW_GTEST_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_JEMALLOC_URL}) @@ -483,7 +483,7 @@ else() JEMALLOC_SOURCE_URL "https://github.com/jemalloc/jemalloc/releases/download/${ARROW_JEMALLOC_BUILD_VERSION}/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" "https://github.com/ursa-labs/thirdparty/releases/download/latest/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" - ) + ) endif() if(DEFINED ENV{ARROW_MIMALLOC_URL}) @@ -493,16 +493,17 @@ else() MIMALLOC_SOURCE_URL "https://github.com/microsoft/mimalloc/archive/${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/mimalloc-${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_LZ4_URL}) set(LZ4_SOURCE_URL "$ENV{ARROW_LZ4_URL}") else() set_urls( - LZ4_SOURCE_URL "https://github.com/lz4/lz4/archive/${ARROW_LZ4_BUILD_VERSION}.tar.gz" + LZ4_SOURCE_URL + "https://github.com/lz4/lz4/archive/${ARROW_LZ4_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/lz4-${ARROW_LZ4_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_ORC_URL}) @@ -512,7 +513,7 @@ else() ORC_SOURCE_URL "https://github.com/apache/orc/archive/rel/release-${ARROW_ORC_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/orc-${ARROW_ORC_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_PROTOBUF_URL}) @@ -525,7 +526,7 @@ else() PROTOBUF_SOURCE_URL "https://github.com/protocolbuffers/protobuf/releases/download/${ARROW_PROTOBUF_BUILD_VERSION}/protobuf-all-${ARROW_PROTOBUF_STRIPPED_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/protobuf-${ARROW_PROTOBUF_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_RE2_URL}) @@ -535,7 +536,7 @@ else() RE2_SOURCE_URL "https://github.com/google/re2/archive/${ARROW_RE2_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/re2-${ARROW_RE2_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_RAPIDJSON_URL}) @@ -545,7 +546,7 @@ else() RAPIDJSON_SOURCE_URL "https://github.com/miloyip/rapidjson/archive/${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/rapidjson-${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_SNAPPY_URL}) @@ -555,7 +556,7 @@ else() SNAPPY_SOURCE_URL "https://github.com/google/snappy/archive/${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/snappy-${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_THRIFT_URL}) @@ -578,7 +579,7 @@ else() "https://mirrors.sonic.net/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" "https://us.mirrors.quenda.co/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_UTF8PROC_URL}) @@ -587,7 +588,7 @@ else() set_urls( ARROW_UTF8PROC_SOURCE_URL "https://github.com/JuliaStrings/utf8proc/archive/${ARROW_UTF8PROC_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_XSIMD_URL}) @@ -602,9 +603,10 @@ if(DEFINED ENV{ARROW_ZLIB_URL}) set(ZLIB_SOURCE_URL "$ENV{ARROW_ZLIB_URL}") else() set_urls( - ZLIB_SOURCE_URL "https://zlib.net/fossils/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" + ZLIB_SOURCE_URL + "https://zlib.net/fossils/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" - ) + ) endif() if(DEFINED ENV{ARROW_ZSTD_URL}) @@ -614,16 +616,15 @@ else() ZSTD_SOURCE_URL "https://github.com/facebook/zstd/archive/${ARROW_ZSTD_BUILD_VERSION}.tar.gz" "https://github.com/ursa-labs/thirdparty/releases/download/latest/zstd-${ARROW_ZSTD_BUILD_VERSION}.tar.gz" - ) + ) endif() # ---------------------------------------------------------------------- # ExternalProject options -set( - EP_CXX_FLAGS - "${CMAKE_CXX_COMPILER_ARG1} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}}" - ) +set(EP_CXX_FLAGS + "${CMAKE_CXX_COMPILER_ARG1} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}}" +) set(EP_C_FLAGS "${CMAKE_C_COMPILER_ARG1} ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}}") @@ -730,12 +731,12 @@ macro(build_boost) set(BOOST_BUILD_WITH_LIBRARIES "filesystem" "system") string(REPLACE ";" "," BOOST_CONFIGURE_LIBRARIES "${BOOST_BUILD_WITH_LIBRARIES}") list(APPEND BOOST_CONFIGURE_COMMAND "--prefix=${BOOST_PREFIX}" - "--with-libraries=${BOOST_CONFIGURE_LIBRARIES}") + "--with-libraries=${BOOST_CONFIGURE_LIBRARIES}") set(BOOST_BUILD_COMMAND "./b2" "-j${NPROC}" "link=${BOOST_BUILD_LINK}" "variant=${BOOST_BUILD_VARIANT}") if(MSVC) - string(REGEX - REPLACE "([0-9])$" ".\\1" BOOST_TOOLSET_MSVC_VERSION ${MSVC_TOOLSET_VERSION}) + string(REGEX REPLACE "([0-9])$" ".\\1" BOOST_TOOLSET_MSVC_VERSION + ${MSVC_TOOLSET_VERSION}) list(APPEND BOOST_BUILD_COMMAND "toolset=msvc-${BOOST_TOOLSET_MSVC_VERSION}") set(BOOST_BUILD_WITH_LIBRARIES_MSVC) foreach(_BOOST_LIB ${BOOST_BUILD_WITH_LIBRARIES}) @@ -747,10 +748,11 @@ macro(build_boost) endif() if(MSVC) - string(REGEX - REPLACE "^([0-9]+)\\.([0-9]+)\\.[0-9]+$" "\\1_\\2" - ARROW_BOOST_BUILD_VERSION_NO_MICRO_UNDERSCORE - ${ARROW_BOOST_BUILD_VERSION}) + string( + REGEX + REPLACE "^([0-9]+)\\.([0-9]+)\\.[0-9]+$" "\\1_\\2" + ARROW_BOOST_BUILD_VERSION_NO_MICRO_UNDERSCORE + ${ARROW_BOOST_BUILD_VERSION}) set(BOOST_LIBRARY_SUFFIX "-vc${MSVC_TOOLSET_VERSION}-mt") if(BOOST_BUILD_VARIANT STREQUAL "debug") set(BOOST_LIBRARY_SUFFIX "${BOOST_LIBRARY_SUFFIX}-gd") @@ -760,14 +762,12 @@ macro(build_boost) else() set(BOOST_LIBRARY_SUFFIX "") endif() - set( - BOOST_STATIC_SYSTEM_LIBRARY - "${BOOST_LIB_DIR}/libboost_system${BOOST_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - BOOST_STATIC_FILESYSTEM_LIBRARY - "${BOOST_LIB_DIR}/libboost_filesystem${BOOST_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(BOOST_STATIC_SYSTEM_LIBRARY + "${BOOST_LIB_DIR}/libboost_system${BOOST_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(BOOST_STATIC_FILESYSTEM_LIBRARY + "${BOOST_LIB_DIR}/libboost_filesystem${BOOST_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(BOOST_SYSTEM_LIBRARY boost_system_static) set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static) set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY} @@ -777,21 +777,23 @@ macro(build_boost) add_thirdparty_lib(boost_filesystem STATIC_LIB "${BOOST_STATIC_FILESYSTEM_LIBRARY}") - 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}) + 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}) list(APPEND ARROW_BUNDLED_STATIC_LIBS boost_system_static boost_filesystem_static) else() - externalproject_add(boost_ep - ${EP_LOG_OPTIONS} - BUILD_COMMAND "" - CONFIGURE_COMMAND "" - INSTALL_COMMAND "" - URL ${BOOST_SOURCE_URL}) + externalproject_add( + boost_ep + ${EP_LOG_OPTIONS} + BUILD_COMMAND "" + CONFIGURE_COMMAND "" + INSTALL_COMMAND "" + URL ${BOOST_SOURCE_URL}) endif() set(Boost_INCLUDE_DIR "${BOOST_PREFIX}") set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIR}") @@ -881,9 +883,10 @@ if(ARROW_BUILD_INTEGRATION OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)) set(ARROW_BOOST_REQUIRED TRUE) set(ARROW_BOOST_REQUIRE_LIBRARY TRUE) -elseif(ARROW_GANDIVA - OR (ARROW_WITH_THRIFT AND THRIFT_REQUIRES_BOOST) - OR (NOT ARROW_USE_NATIVE_INT128)) +elseif( + ARROW_GANDIVA + OR (ARROW_WITH_THRIFT AND THRIFT_REQUIRES_BOOST) + OR (NOT ARROW_USE_NATIVE_INT128)) set(ARROW_BOOST_REQUIRED TRUE) set(ARROW_BOOST_REQUIRE_LIBRARY FALSE) else() @@ -891,14 +894,15 @@ else() endif() if(ARROW_BOOST_REQUIRED) - resolve_dependency(Boost - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_BOOST_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - # libarrow.so doesn't depend on libboost*. - FALSE) + resolve_dependency( + Boost + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_BOOST_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + # libarrow.so doesn't depend on libboost*. + FALSE) if(TARGET Boost::system) set(BOOST_SYSTEM_LIBRARY Boost::system) @@ -925,30 +929,29 @@ macro(build_snappy) message(STATUS "Building snappy from source") set(SNAPPY_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/snappy_ep/src/snappy_ep-install") set(SNAPPY_STATIC_LIB_NAME snappy) - set( - SNAPPY_STATIC_LIB - "${SNAPPY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(SNAPPY_STATIC_LIB + "${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}") + 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}") file(MAKE_DIRECTORY "${SNAPPY_PREFIX}/include") add_library(Snappy::snappy STATIC IMPORTED) - set_target_properties(Snappy::snappy - PROPERTIES IMPORTED_LOCATION "${SNAPPY_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${SNAPPY_PREFIX}/include") + set_target_properties( + Snappy::snappy PROPERTIES IMPORTED_LOCATION "${SNAPPY_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_PREFIX}/include") add_dependencies(toolchain snappy_ep) add_dependencies(Snappy::snappy snappy_ep) @@ -970,54 +973,50 @@ macro(build_brotli) set(BROTLI_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/brotli_ep/src/brotli_ep-install") set(BROTLI_INCLUDE_DIR "${BROTLI_PREFIX}/include") set(BROTLI_LIB_DIR lib) - set( - BROTLI_STATIC_LIBRARY_ENC - "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - BROTLI_STATIC_LIBRARY_DEC - "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - BROTLI_STATIC_LIBRARY_COMMON - "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(BROTLI_STATIC_LIBRARY_ENC + "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(BROTLI_STATIC_LIBRARY_DEC + "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(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=${BROTLI_LIB_DIR}) - 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) + 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) add_dependencies(toolchain brotli_ep) file(MAKE_DIRECTORY "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlicommon STATIC IMPORTED) - set_target_properties(Brotli::brotlicommon - PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_COMMON}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlicommon PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_COMMON}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlicommon brotli_ep) add_library(Brotli::brotlienc STATIC IMPORTED) - set_target_properties(Brotli::brotlienc - PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_ENC}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlienc PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_ENC}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlienc brotli_ep) add_library(Brotli::brotlidec STATIC IMPORTED) - set_target_properties(Brotli::brotlidec - PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_DEC}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties( + Brotli::brotlidec PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_DEC}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlidec brotli_ep) list(APPEND ARROW_BUNDLED_STATIC_LIBS Brotli::brotlicommon Brotli::brotlienc - Brotli::brotlidec) + Brotli::brotlidec) endmacro() if(ARROW_WITH_BROTLI) @@ -1033,15 +1032,17 @@ if(PARQUET_REQUIRE_ENCRYPTION AND NOT ARROW_PARQUET) endif() set(ARROW_OPENSSL_REQUIRED_VERSION "1.0.2") if(BREW_BIN AND NOT OPENSSL_ROOT_DIR) - execute_process(COMMAND ${BREW_BIN} --prefix "openssl@1.1" - OUTPUT_VARIABLE OPENSSL11_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix "openssl@1.1" + OUTPUT_VARIABLE OPENSSL11_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(OPENSSL11_BREW_PREFIX) set(OPENSSL_ROOT_DIR ${OPENSSL11_BREW_PREFIX}) else() - execute_process(COMMAND ${BREW_BIN} --prefix "openssl" - OUTPUT_VARIABLE OPENSSL_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND ${BREW_BIN} --prefix "openssl" + OUTPUT_VARIABLE OPENSSL_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(OPENSSL_BREW_PREFIX) set(OPENSSL_ROOT_DIR ${OPENSSL_BREW_PREFIX}) endif() @@ -1049,7 +1050,9 @@ if(BREW_BIN AND NOT OPENSSL_ROOT_DIR) endif() set(ARROW_USE_OPENSSL OFF) -if(PARQUET_REQUIRE_ENCRYPTION OR ARROW_FLIGHT OR ARROW_S3) +if(PARQUET_REQUIRE_ENCRYPTION + OR ARROW_FLIGHT + OR ARROW_S3) # OpenSSL is required if(ARROW_OPENSSL_USE_SHARED) # Find shared OpenSSL libraries. @@ -1082,7 +1085,7 @@ else() message( STATUS "Building without OpenSSL support. Minimum OpenSSL version ${ARROW_OPENSSL_REQUIRED_VERSION} required." - ) + ) endif() # ---------------------------------------------------------------------- @@ -1097,10 +1100,9 @@ macro(build_glog) else() set(GLOG_LIB_SUFFIX "") endif() - set( - GLOG_STATIC_LIB - "${GLOG_BUILD_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}glog${GLOG_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(GLOG_STATIC_LIB + "${GLOG_BUILD_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}glog${GLOG_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC") if(Threads::Threads) @@ -1122,19 +1124,20 @@ macro(build_glog) -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GLOG_CMAKE_CXX_FLAGS} -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}) + 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}) add_dependencies(toolchain glog_ep) file(MAKE_DIRECTORY "${GLOG_INCLUDE_DIR}") add_library(glog::glog STATIC IMPORTED) - set_target_properties(glog::glog - PROPERTIES IMPORTED_LOCATION "${GLOG_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") + set_target_properties( + glog::glog PROPERTIES IMPORTED_LOCATION "${GLOG_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") add_dependencies(glog::glog glog_ep) list(APPEND ARROW_BUNDLED_STATIC_LIBS glog::glog) @@ -1187,22 +1190,23 @@ macro(build_gflags) -DINSTALL_HEADERS=ON) 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}) + 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}) add_dependencies(toolchain gflags_ep) add_thirdparty_lib(gflags STATIC_LIB ${GFLAGS_STATIC_LIB}) set(GFLAGS_LIBRARY gflags_static) - set_target_properties(${GFLAGS_LIBRARY} - PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GFLAGS_IS_A_DLL=0" - INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") + set_target_properties( + ${GFLAGS_LIBRARY} PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GFLAGS_IS_A_DLL=0" + INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") if(MSVC) - set_target_properties(${GFLAGS_LIBRARY} - PROPERTIES INTERFACE_LINK_LIBRARIES "shlwapi.lib") + set_target_properties(${GFLAGS_LIBRARY} PROPERTIES INTERFACE_LINK_LIBRARIES + "shlwapi.lib") endif() set(GFLAGS_LIBRARIES ${GFLAGS_LIBRARY}) @@ -1213,13 +1217,14 @@ endmacro() if(ARROW_NEED_GFLAGS) set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") - resolve_dependency(gflags - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_GFLAGS_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) + resolve_dependency( + gflags + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_GFLAGS_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + FALSE) # TODO: Don't use global includes but rather target_include_directories include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) @@ -1291,19 +1296,20 @@ macro(build_thrift) set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} boost_ep) endif() - externalproject_add(thrift_ep - URL ${THRIFT_SOURCE_URL} - URL_HASH "MD5=${ARROW_THRIFT_BUILD_MD5_CHECKSUM}" - BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" - CMAKE_ARGS ${THRIFT_CMAKE_ARGS} - DEPENDS ${THRIFT_DEPENDENCIES} ${EP_LOG_OPTIONS}) + externalproject_add( + thrift_ep + URL ${THRIFT_SOURCE_URL} + URL_HASH "MD5=${ARROW_THRIFT_BUILD_MD5_CHECKSUM}" + BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" + 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. file(MAKE_DIRECTORY "${THRIFT_INCLUDE_DIR}") - set_target_properties(thrift::thrift - PROPERTIES IMPORTED_LOCATION "${THRIFT_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") + set_target_properties( + thrift::thrift PROPERTIES IMPORTED_LOCATION "${THRIFT_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") add_dependencies(toolchain thrift_ep) add_dependencies(thrift::thrift thrift_ep) set(THRIFT_VERSION ${ARROW_THRIFT_BUILD_VERSION}) @@ -1353,18 +1359,12 @@ macro(build_protobuf) list(APPEND PROTOBUF_BUILD_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() set(PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS - CONFIGURE_COMMAND - "./configure" - ${PROTOBUF_CONFIGURE_ARGS} - BUILD_COMMAND + CONFIGURE_COMMAND "./configure" ${PROTOBUF_CONFIGURE_ARGS} BUILD_COMMAND ${PROTOBUF_BUILD_COMMAND}) else() set(PROTOBUF_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - -DBUILD_SHARED_LIBS=OFF - -DCMAKE_INSTALL_LIBDIR=lib - "-DCMAKE_INSTALL_PREFIX=${PROTOBUF_PREFIX}" - -Dprotobuf_BUILD_TESTS=OFF + ${EP_COMMON_CMAKE_ARGS} -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib + "-DCMAKE_INSTALL_PREFIX=${PROTOBUF_PREFIX}" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_DEBUG_POSTFIX=) if(MSVC AND NOT ARROW_USE_STATIC_CRT) list(APPEND PROTOBUF_CMAKE_ARGS "-Dprotobuf_MSVC_STATIC_RUNTIME=OFF") @@ -1372,16 +1372,16 @@ macro(build_protobuf) if(ZLIB_ROOT) list(APPEND PROTOBUF_CMAKE_ARGS "-DZLIB_ROOT=${ZLIB_ROOT}") endif() - set(PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS CMAKE_ARGS ${PROTOBUF_CMAKE_ARGS} SOURCE_SUBDIR - "cmake") + set(PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS CMAKE_ARGS ${PROTOBUF_CMAKE_ARGS} + SOURCE_SUBDIR "cmake") endif() - externalproject_add(protobuf_ep - ${PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS} - BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOBUF_COMPILER}" - ${EP_LOG_OPTIONS} - BUILD_IN_SOURCE 1 - URL ${PROTOBUF_SOURCE_URL}) + externalproject_add( + protobuf_ep + ${PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS} + BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOBUF_COMPILER}" ${EP_LOG_OPTIONS} + BUILD_IN_SOURCE 1 + URL ${PROTOBUF_SOURCE_URL}) file(MAKE_DIRECTORY "${PROTOBUF_INCLUDE_DIR}") @@ -1389,15 +1389,15 @@ macro(build_protobuf) set_target_properties( arrow::protobuf::libprotobuf PROPERTIES IMPORTED_LOCATION "${PROTOBUF_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + "${PROTOBUF_INCLUDE_DIR}") add_library(arrow::protobuf::libprotoc STATIC IMPORTED) set_target_properties( arrow::protobuf::libprotoc PROPERTIES IMPORTED_LOCATION "${PROTOC_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + "${PROTOBUF_INCLUDE_DIR}") add_executable(arrow::protobuf::protoc IMPORTED) - set_target_properties(arrow::protobuf::protoc - PROPERTIES IMPORTED_LOCATION "${PROTOBUF_COMPILER}") + set_target_properties(arrow::protobuf::protoc PROPERTIES IMPORTED_LOCATION + "${PROTOBUF_COMPILER}") add_dependencies(toolchain protobuf_ep) add_dependencies(arrow::protobuf::libprotobuf protobuf_ep) @@ -1431,10 +1431,10 @@ if(ARROW_WITH_PROTOBUF) # CMake 3.8 or older don't define the targets if(NOT TARGET protobuf::libprotobuf) add_library(protobuf::libprotobuf UNKNOWN IMPORTED) - set_target_properties(protobuf::libprotobuf - PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + set_target_properties( + protobuf::libprotobuf + PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES + "${PROTOBUF_INCLUDE_DIR}") endif() set(ARROW_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) endif() @@ -1451,10 +1451,10 @@ if(ARROW_WITH_PROTOBUF) message(FATAL_ERROR "libprotoc was set to ${Protobuf_PROTOC_LIBRARY}") endif() add_library(protobuf::libprotoc UNKNOWN IMPORTED) - set_target_properties(protobuf::libprotoc - PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + set_target_properties( + protobuf::libprotoc + PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}") endif() set(ARROW_PROTOBUF_LIBPROTOC protobuf::libprotoc) endif() @@ -1463,8 +1463,8 @@ if(ARROW_WITH_PROTOBUF) else() if(NOT TARGET protobuf::protoc) add_executable(protobuf::protoc IMPORTED) - set_target_properties(protobuf::protoc - PROPERTIES IMPORTED_LOCATION "${PROTOBUF_PROTOC_EXECUTABLE}") + set_target_properties(protobuf::protoc PROPERTIES IMPORTED_LOCATION + "${PROTOBUF_PROTOC_EXECUTABLE}") endif() set(ARROW_PROTOBUF_PROTOC protobuf::protoc) endif() @@ -1502,17 +1502,21 @@ if(ARROW_JEMALLOC) if(CMAKE_OSX_SYSROOT) list(APPEND JEMALLOC_CONFIGURE_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() - list(APPEND JEMALLOC_CONFIGURE_COMMAND - "--prefix=${JEMALLOC_PREFIX}" - "--libdir=${JEMALLOC_LIB_DIR}" - "--with-jemalloc-prefix=je_arrow_" - "--with-private-namespace=je_arrow_private_" - "--without-export" - "--disable-shared" - # Don't override operator new() - "--disable-cxx" "--disable-libdl" - # See https://github.com/jemalloc/jemalloc/issues/1237 - "--disable-initial-exec-tls" ${EP_LOG_OPTIONS}) + list( + APPEND + JEMALLOC_CONFIGURE_COMMAND + "--prefix=${JEMALLOC_PREFIX}" + "--libdir=${JEMALLOC_LIB_DIR}" + "--with-jemalloc-prefix=je_arrow_" + "--with-private-namespace=je_arrow_private_" + "--without-export" + "--disable-shared" + # Don't override operator new() + "--disable-cxx" + "--disable-libdl" + # See https://github.com/jemalloc/jemalloc/issues/1237 + "--disable-initial-exec-tls" + ${EP_LOG_OPTIONS}) set(JEMALLOC_BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS}) if(CMAKE_OSX_SYSROOT) list(APPEND JEMALLOC_BUILD_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") @@ -1535,13 +1539,12 @@ if(ARROW_JEMALLOC) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src/") add_library(jemalloc::jemalloc STATIC IMPORTED) - set_target_properties(jemalloc::jemalloc - PROPERTIES INTERFACE_LINK_LIBRARIES - Threads::Threads - IMPORTED_LOCATION - "${JEMALLOC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src") + set_target_properties( + jemalloc::jemalloc + PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads + IMPORTED_LOCATION "${JEMALLOC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src") add_dependencies(jemalloc::jemalloc jemalloc_ep) list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) @@ -1564,10 +1567,9 @@ if(ARROW_MIMALLOC) set(MIMALLOC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/mimalloc_ep/src/mimalloc_ep") set(MIMALLOC_INCLUDE_DIR "${MIMALLOC_PREFIX}/lib/mimalloc-1.6/include") - set( - MIMALLOC_STATIC_LIB - "${MIMALLOC_PREFIX}/lib/mimalloc-1.6/${CMAKE_STATIC_LIBRARY_PREFIX}${MIMALLOC_LIB_BASE_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(MIMALLOC_STATIC_LIB + "${MIMALLOC_PREFIX}/lib/mimalloc-1.6/${CMAKE_STATIC_LIBRARY_PREFIX}${MIMALLOC_LIB_BASE_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(MIMALLOC_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} @@ -1578,22 +1580,21 @@ if(ARROW_MIMALLOC) -DMI_BUILD_SHARED=OFF -DMI_BUILD_TESTS=OFF) - externalproject_add(mimalloc_ep - URL ${MIMALLOC_SOURCE_URL} - CMAKE_ARGS ${MIMALLOC_CMAKE_ARGS} - BUILD_BYPRODUCTS "${MIMALLOC_STATIC_LIB}") + externalproject_add( + mimalloc_ep + URL ${MIMALLOC_SOURCE_URL} + CMAKE_ARGS ${MIMALLOC_CMAKE_ARGS} + BUILD_BYPRODUCTS "${MIMALLOC_STATIC_LIB}") include_directories(SYSTEM ${MIMALLOC_INCLUDE_DIR}) file(MAKE_DIRECTORY ${MIMALLOC_INCLUDE_DIR}) add_library(mimalloc::mimalloc STATIC IMPORTED) - set_target_properties(mimalloc::mimalloc - PROPERTIES INTERFACE_LINK_LIBRARIES - Threads::Threads - IMPORTED_LOCATION - "${MIMALLOC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${MIMALLOC_INCLUDE_DIR}") + set_target_properties( + mimalloc::mimalloc + PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads + IMPORTED_LOCATION "${MIMALLOC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${MIMALLOC_INCLUDE_DIR}") add_dependencies(mimalloc::mimalloc mimalloc_ep) add_dependencies(toolchain mimalloc_ep) @@ -1643,10 +1644,9 @@ macro(build_gtest) "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${_GTEST_LIBRARY_SUFFIX}") set(GMOCK_SHARED_LIB "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gmock${_GTEST_LIBRARY_SUFFIX}") - set( - GTEST_MAIN_SHARED_LIB - "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_LIBRARY_SUFFIX}" - ) + set(GTEST_MAIN_SHARED_LIB + "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_LIBRARY_SUFFIX}" + ) set(GTEST_INSTALL_NAME_DIR "$/lib") # Fix syntax highlighting mess introduced by unclosed bracket above set(dummy ">") @@ -1669,11 +1669,11 @@ macro(build_gtest) set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} -Dgtest_force_shared_crt=ON) endif() - externalproject_add(googletest_ep - URL ${GTEST_SOURCE_URL} - BUILD_BYPRODUCTS ${GTEST_SHARED_LIB} ${GTEST_MAIN_SHARED_LIB} - ${GMOCK_SHARED_LIB} - CMAKE_ARGS ${GTEST_CMAKE_ARGS} ${EP_LOG_OPTIONS}) + externalproject_add( + googletest_ep + URL ${GTEST_SOURCE_URL} + BUILD_BYPRODUCTS ${GTEST_SHARED_LIB} ${GTEST_MAIN_SHARED_LIB} ${GMOCK_SHARED_LIB} + CMAKE_ARGS ${GTEST_CMAKE_ARGS} ${EP_LOG_OPTIONS}) if(WIN32) # Copy the built shared libraries to the same directory as our # test programs because Windows doesn't provided rpath (run-time @@ -1684,16 +1684,15 @@ macro(build_gtest) set(_GTEST_RUNTIME_DIR "${GTEST_PREFIX}/bin") set(_GTEST_RUNTIME_SUFFIX "${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") - set( - _GTEST_RUNTIME_LIB - "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${_GTEST_RUNTIME_SUFFIX}") - set( - _GMOCK_RUNTIME_LIB - "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gmock${_GTEST_RUNTIME_SUFFIX}") - set( - _GTEST_MAIN_RUNTIME_LIB - "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_RUNTIME_SUFFIX}" - ) + set(_GTEST_RUNTIME_LIB + "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${_GTEST_RUNTIME_SUFFIX}" + ) + set(_GMOCK_RUNTIME_LIB + "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gmock${_GTEST_RUNTIME_SUFFIX}" + ) + set(_GTEST_MAIN_RUNTIME_LIB + "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_RUNTIME_SUFFIX}" + ) if(CMAKE_VERSION VERSION_LESS 3.9) message( FATAL_ERROR @@ -1705,44 +1704,33 @@ macro(build_gtest) else() set(_GTEST_RUNTIME_OUTPUT_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY}) endif() - externalproject_add_step(googletest_ep copy - COMMAND ${CMAKE_COMMAND} -E make_directory - ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} - -E - copy - ${_GTEST_RUNTIME_LIB} - ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} - -E - copy - ${_GMOCK_RUNTIME_LIB} - ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} - -E - copy - ${_GTEST_MAIN_RUNTIME_LIB} - ${_GTEST_RUNTIME_OUTPUT_DIR} - DEPENDEES install) + externalproject_add_step( + googletest_ep copy + COMMAND ${CMAKE_COMMAND} -E make_directory ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_RUNTIME_LIB} ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GMOCK_RUNTIME_LIB} ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_MAIN_RUNTIME_LIB} + ${_GTEST_RUNTIME_OUTPUT_DIR} + DEPENDEES install) endif() # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GTEST_INCLUDE_DIR}") add_library(GTest::gtest SHARED IMPORTED) - set_target_properties(GTest::gtest - PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties( + GTest::gtest PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_library(GTest::gtest_main SHARED IMPORTED) - set_target_properties(GTest::gtest_main - PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_MAIN_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties( + GTest::gtest_main PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_MAIN_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_library(GTest::gmock SHARED IMPORTED) - set_target_properties(GTest::gmock - PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GMOCK_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties( + GTest::gmock PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GMOCK_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_dependencies(toolchain-tests googletest_ep) add_dependencies(GTest::gtest googletest_ep) add_dependencies(GTest::gtest_main googletest_ep) @@ -1750,11 +1738,7 @@ macro(build_gtest) endmacro() if(ARROW_TESTING) - resolve_dependency(GTest - REQUIRED_VERSION - 1.10.0 - USE_CONFIG - TRUE) + resolve_dependency(GTest REQUIRED_VERSION 1.10.0 USE_CONFIG TRUE) if(NOT GTEST_VENDORED) # TODO(wesm): This logic does not work correctly with the MSVC static libraries @@ -1800,55 +1784,48 @@ macro(build_benchmark) set(GBENCHMARK_CMAKE_CXX_FLAGS "${EP_CXX_FLAGS} -std=c++11") endif() - if(APPLE - AND (CMAKE_CXX_COMPILER_ID - STREQUAL - "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) + if(APPLE AND (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID + STREQUAL "Clang")) set(GBENCHMARK_CMAKE_CXX_FLAGS "${GBENCHMARK_CMAKE_CXX_FLAGS} -stdlib=libc++") endif() set(GBENCHMARK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gbenchmark_ep/src/gbenchmark_ep-install") set(GBENCHMARK_INCLUDE_DIR "${GBENCHMARK_PREFIX}/include") - set( - GBENCHMARK_STATIC_LIB - "${GBENCHMARK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - GBENCHMARK_MAIN_STATIC_LIB - "${GBENCHMARK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark_main${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(GBENCHMARK_STATIC_LIB + "${GBENCHMARK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(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}" - -DCMAKE_INSTALL_LIBDIR=lib - -DBENCHMARK_ENABLE_TESTING=OFF + ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${GBENCHMARK_PREFIX}" + -DCMAKE_INSTALL_LIBDIR=lib -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}) + 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}) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GBENCHMARK_INCLUDE_DIR}") add_library(benchmark::benchmark STATIC IMPORTED) - set_target_properties(benchmark::benchmark - PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${GBENCHMARK_INCLUDE_DIR}") + set_target_properties( + benchmark::benchmark + PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES + "${GBENCHMARK_INCLUDE_DIR}") add_library(benchmark::benchmark_main STATIC IMPORTED) - set_target_properties(benchmark::benchmark_main - PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_MAIN_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${GBENCHMARK_INCLUDE_DIR}") + set_target_properties( + benchmark::benchmark_main + PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_MAIN_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GBENCHMARK_INCLUDE_DIR}") add_dependencies(toolchain-benchmarks gbenchmark_ep) add_dependencies(benchmark::benchmark gbenchmark_ep) @@ -1858,8 +1835,8 @@ endmacro() if(ARROW_BUILD_BENCHMARKS) # ArgsProduct() is available since 1.5.2 set(BENCHMARK_REQUIRED_VERSION 1.5.2) - if("${ARROW_DEPENDENCY_SOURCE}" STREQUAL "CONDA" - AND "${benchmark_SOURCE}" STREQUAL "SYSTEM") + if("${ARROW_DEPENDENCY_SOURCE}" STREQUAL "CONDA" AND "${benchmark_SOURCE}" STREQUAL + "SYSTEM") # TODO: Remove this workaround once # https://github.com/google/benchmark/issues/1046 is resolved. # @@ -1882,17 +1859,15 @@ macro(build_rapidjson) set(RAPIDJSON_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/rapidjson_ep/src/rapidjson_ep-install") set(RAPIDJSON_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} - -DRAPIDJSON_BUILD_DOC=OFF - -DRAPIDJSON_BUILD_EXAMPLES=OFF - -DRAPIDJSON_BUILD_TESTS=OFF - "-DCMAKE_INSTALL_PREFIX=${RAPIDJSON_PREFIX}") + ${EP_COMMON_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}) + externalproject_add( + rapidjson_ep + ${EP_LOG_OPTIONS} + PREFIX "${CMAKE_BINARY_DIR}" + URL ${RAPIDJSON_SOURCE_URL} + CMAKE_ARGS ${RAPIDJSON_CMAKE_ARGS}) set(RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_PREFIX}/include") @@ -1905,13 +1880,14 @@ endmacro() if(ARROW_WITH_RAPIDJSON) set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") - resolve_dependency(RapidJSON - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_RAPIDJSON_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) + resolve_dependency( + RapidJSON + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_RAPIDJSON_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + FALSE) if(RapidJSON_INCLUDE_DIR) set(RAPIDJSON_INCLUDE_DIR "${RapidJSON_INCLUDE_DIR}") @@ -1926,11 +1902,12 @@ macro(build_xsimd) set(XSIMD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep/src/xsimd_ep-install") set(XSIMD_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}") - externalproject_add(xsimd_ep - ${EP_LOG_OPTIONS} - PREFIX "${CMAKE_BINARY_DIR}" - URL ${XSIMD_SOURCE_URL} - CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) + externalproject_add( + xsimd_ep + ${EP_LOG_OPTIONS} + PREFIX "${CMAKE_BINARY_DIR}" + URL ${XSIMD_SOURCE_URL} + CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) set(XSIMD_INCLUDE_DIR "${XSIMD_PREFIX}/include") @@ -1940,8 +1917,8 @@ macro(build_xsimd) set(XSIMD_VENDORED TRUE) endmacro() -if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") - OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE")) +if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE" + )) set(xsimd_SOURCE "BUNDLED") resolve_dependency(xsimd) # TODO: Don't use global includes but rather target_include_directories @@ -1964,19 +1941,20 @@ macro(build_zlib) set(ZLIB_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${ZLIB_PREFIX}" -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}) + externalproject_add( + zlib_ep + URL ${ZLIB_SOURCE_URL} ${EP_LOG_OPTIONS} + BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}" + CMAKE_ARGS ${ZLIB_CMAKE_ARGS}) file(MAKE_DIRECTORY "${ZLIB_PREFIX}/include") add_library(ZLIB::ZLIB STATIC IMPORTED) set(ZLIB_LIBRARIES ${ZLIB_STATIC_LIB}) set(ZLIB_INCLUDE_DIRS "${ZLIB_PREFIX}/include") - set_target_properties(ZLIB::ZLIB - PROPERTIES IMPORTED_LOCATION ${ZLIB_LIBRARIES} - INTERFACE_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) + set_target_properties( + ZLIB::ZLIB PROPERTIES IMPORTED_LOCATION ${ZLIB_LIBRARIES} + INTERFACE_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) add_dependencies(toolchain zlib_ep) add_dependencies(ZLIB::ZLIB zlib_ep) @@ -2008,40 +1986,32 @@ macro(build_lz4) set(LZ4_STATIC_LIB "${LZ4_BUILD_DIR}/build/VS2010/bin/x64_${CMAKE_BUILD_TYPE}/liblz4_static.lib") set(LZ4_BUILD_COMMAND - BUILD_COMMAND - msbuild.exe - /m - /p:Configuration=${CMAKE_BUILD_TYPE} - /p:Platform=x64 - /p:PlatformToolset=v140 - ${LZ4_RUNTIME_LIBRARY_LINKAGE} - /t:Build + BUILD_COMMAND msbuild.exe /m /p:Configuration=${CMAKE_BUILD_TYPE} /p:Platform=x64 + /p:PlatformToolset=v140 ${LZ4_RUNTIME_LIBRARY_LINKAGE} /t:Build ${LZ4_BUILD_DIR}/build/VS2010/lz4.sln) 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}" "OS=${CMAKE_SYSTEM_NAME}") + set(LZ4_BUILD_COMMAND + BUILD_COMMAND ${CMAKE_SOURCE_DIR}/build-support/build-lz4-lib.sh "AR=${CMAKE_AR}" + "OS=${CMAKE_SYSTEM_NAME}") 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}) + 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}) file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") add_library(LZ4::lz4 STATIC IMPORTED) - set_target_properties(LZ4::lz4 - PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${LZ4_PREFIX}/include") + set_target_properties( + LZ4::lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${LZ4_PREFIX}/include") add_dependencies(toolchain lz4_ep) add_dependencies(LZ4::lz4 lz4_ep) @@ -2080,10 +2050,8 @@ macro(build_zstd) # Only pass our C flags on Unix as on MSVC it leads to a # "incompatible command-line options" error set(ZSTD_CMAKE_ARGS - ${ZSTD_CMAKE_ARGS} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_C_FLAGS=${EP_C_FLAGS} + ${ZSTD_CMAKE_ARGS} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_FLAGS=${EP_C_FLAGS} -DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}) endif() @@ -2091,20 +2059,21 @@ macro(build_zstd) message(FATAL_ERROR "Building zstd using ExternalProject requires at least CMake 3.7") endif() - 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}") + 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}") file(MAKE_DIRECTORY "${ZSTD_PREFIX}/include") add_library(zstd::libzstd STATIC IMPORTED) - set_target_properties(zstd::libzstd - PROPERTIES IMPORTED_LOCATION "${ZSTD_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_PREFIX}/include") + set_target_properties( + zstd::libzstd PROPERTIES IMPORTED_LOCATION "${ZSTD_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_PREFIX}/include") add_dependencies(toolchain zstd_ep) add_dependencies(zstd::libzstd zstd_ep) @@ -2149,18 +2118,19 @@ macro(build_re2) set(RE2_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${RE2_PREFIX}" -DCMAKE_INSTALL_LIBDIR=lib) - 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}") + 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}") file(MAKE_DIRECTORY "${RE2_PREFIX}/include") add_library(re2::re2 STATIC IMPORTED) - set_target_properties(re2::re2 - PROPERTIES IMPORTED_LOCATION "${RE2_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${RE2_PREFIX}/include") + set_target_properties( + re2::re2 PROPERTIES IMPORTED_LOCATION "${RE2_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${RE2_PREFIX}/include") add_dependencies(toolchain re2_ep) add_dependencies(re2::re2 re2_ep) @@ -2184,9 +2154,9 @@ endif() macro(build_bzip2) message(STATUS "Building BZip2 from source") set(BZIP2_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/bzip2_ep-install") - set( - BZIP2_STATIC_LIB - "${BZIP2_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}bz2${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(BZIP2_STATIC_LIB + "${BZIP2_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}bz2${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(BZIP2_EXTRA_ARGS "CC=${CMAKE_C_COMPILER}" "CFLAGS=${EP_C_FLAGS}") @@ -2194,24 +2164,22 @@ macro(build_bzip2) list(APPEND BZIP2_EXTRA_ARGS "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() - externalproject_add(bzip2_ep - ${EP_LOG_OPTIONS} - CONFIGURE_COMMAND "" - BUILD_IN_SOURCE 1 - BUILD_COMMAND ${MAKE} libbz2.a ${MAKE_BUILD_ARGS} - ${BZIP2_EXTRA_ARGS} - INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} - ${BZIP2_EXTRA_ARGS} - INSTALL_DIR ${BZIP2_PREFIX} - URL ${ARROW_BZIP2_SOURCE_URL} - BUILD_BYPRODUCTS "${BZIP2_STATIC_LIB}") + externalproject_add( + bzip2_ep + ${EP_LOG_OPTIONS} + CONFIGURE_COMMAND "" + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${MAKE} libbz2.a ${MAKE_BUILD_ARGS} ${BZIP2_EXTRA_ARGS} + INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} ${BZIP2_EXTRA_ARGS} + INSTALL_DIR ${BZIP2_PREFIX} + URL ${ARROW_BZIP2_SOURCE_URL} + BUILD_BYPRODUCTS "${BZIP2_STATIC_LIB}") file(MAKE_DIRECTORY "${BZIP2_PREFIX}/include") add_library(BZip2::BZip2 STATIC IMPORTED) set_target_properties( - BZip2::BZip2 - PROPERTIES IMPORTED_LOCATION "${BZIP2_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${BZIP2_PREFIX}/include") + BZip2::BZip2 PROPERTIES IMPORTED_LOCATION "${BZIP2_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_PREFIX}/include") set(BZIP2_INCLUDE_DIR "${BZIP2_PREFIX}/include") add_dependencies(toolchain bzip2_ep) @@ -2225,9 +2193,9 @@ if(ARROW_WITH_BZ2) if(NOT TARGET BZip2::BZip2) add_library(BZip2::BZip2 UNKNOWN IMPORTED) - set_target_properties(BZip2::BZip2 - PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") + set_target_properties( + BZip2::BZip2 PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") endif() include_directories(SYSTEM "${BZIP2_INCLUDE_DIR}") endif() @@ -2238,35 +2206,31 @@ macro(build_utf8proc) if(MSVC) set(UTF8PROC_STATIC_LIB "${UTF8PROC_PREFIX}/lib/utf8proc_static.lib") else() - set( - UTF8PROC_STATIC_LIB - "${UTF8PROC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(UTF8PROC_STATIC_LIB + "${UTF8PROC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) endif() set(UTF8PROC_CMAKE_ARGS - ${EP_COMMON_TOOLCHAIN} - "-DCMAKE_INSTALL_PREFIX=${UTF8PROC_PREFIX}" - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_LIBDIR=lib + ${EP_COMMON_TOOLCHAIN} "-DCMAKE_INSTALL_PREFIX=${UTF8PROC_PREFIX}" + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=OFF) - externalproject_add(utf8proc_ep - ${EP_LOG_OPTIONS} - CMAKE_ARGS ${UTF8PROC_CMAKE_ARGS} - INSTALL_DIR ${UTF8PROC_PREFIX} - URL ${ARROW_UTF8PROC_SOURCE_URL} - BUILD_BYPRODUCTS "${UTF8PROC_STATIC_LIB}") + externalproject_add( + utf8proc_ep + ${EP_LOG_OPTIONS} + CMAKE_ARGS ${UTF8PROC_CMAKE_ARGS} + INSTALL_DIR ${UTF8PROC_PREFIX} + URL ${ARROW_UTF8PROC_SOURCE_URL} + BUILD_BYPRODUCTS "${UTF8PROC_STATIC_LIB}") file(MAKE_DIRECTORY "${UTF8PROC_PREFIX}/include") add_library(utf8proc::utf8proc STATIC IMPORTED) - set_target_properties(utf8proc::utf8proc - PROPERTIES IMPORTED_LOCATION - "${UTF8PROC_STATIC_LIB}" - INTERFACE_COMPILER_DEFINITIONS - "UTF8PROC_STATIC" - INTERFACE_INCLUDE_DIRECTORIES - "${UTF8PROC_PREFIX}/include") + set_target_properties( + utf8proc::utf8proc + PROPERTIES IMPORTED_LOCATION "${UTF8PROC_STATIC_LIB}" + INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC" + INTERFACE_INCLUDE_DIRECTORIES "${UTF8PROC_PREFIX}/include") add_dependencies(toolchain utf8proc_ep) add_dependencies(utf8proc::utf8proc utf8proc_ep) @@ -2301,38 +2265,35 @@ macro(build_cares) # If you set -DCARES_SHARED=ON then the build system names the library # libcares_static.a - set( - CARES_STATIC_LIB - "${CARES_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cares${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(CARES_STATIC_LIB + "${CARES_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cares${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(CARES_CMAKE_ARGS - "${EP_COMMON_CMAKE_ARGS}" - -DCARES_STATIC=ON - -DCARES_SHARED=OFF - -DCMAKE_INSTALL_LIBDIR=lib - "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") + "${EP_COMMON_CMAKE_ARGS}" -DCARES_STATIC=ON -DCARES_SHARED=OFF + -DCMAKE_INSTALL_LIBDIR=lib "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") - externalproject_add(cares_ep - ${EP_LOG_OPTIONS} - URL ${CARES_SOURCE_URL} - CMAKE_ARGS ${CARES_CMAKE_ARGS} - BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") + externalproject_add( + cares_ep + ${EP_LOG_OPTIONS} + URL ${CARES_SOURCE_URL} + CMAKE_ARGS ${CARES_CMAKE_ARGS} + BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") file(MAKE_DIRECTORY ${CARES_INCLUDE_DIR}) add_dependencies(toolchain cares_ep) add_library(c-ares::cares STATIC IMPORTED) - set_target_properties(c-ares::cares - PROPERTIES IMPORTED_LOCATION "${CARES_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${CARES_INCLUDE_DIR}") + set_target_properties( + c-ares::cares PROPERTIES IMPORTED_LOCATION "${CARES_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${CARES_INCLUDE_DIR}") add_dependencies(c-ares::cares cares_ep) if(APPLE) # libresolv must be linked from c-ares version 1.16.1 find_library(LIBRESOLV_LIBRARY NAMES resolv libresolv REQUIRED) - set_target_properties(c-ares::cares - PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBRESOLV_LIBRARY}") + set_target_properties(c-ares::cares PROPERTIES INTERFACE_LINK_LIBRARIES + "${LIBRESOLV_LIBRARY}") endif() set(CARES_VENDORED TRUE) @@ -2354,11 +2315,8 @@ macro(build_grpc) # First need to build Abseil set(ABSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/absl_ep-install") set(ABSL_CMAKE_ARGS - "${EP_COMMON_CMAKE_ARGS}" - -DABSL_RUN_TESTS=OFF - -DCMAKE_CXX_STANDARD=11 - -DCMAKE_INSTALL_LIBDIR=lib - "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") + "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF -DCMAKE_CXX_STANDARD=11 + -DCMAKE_INSTALL_LIBDIR=lib "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) @@ -2389,45 +2347,43 @@ macro(build_grpc) raw_logging_internal) foreach(_ABSL_LIB ${_ABSL_LIBS}) - set( - _ABSL_STATIC_LIBRARY - "${ABSL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}absl_${_ABSL_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(_ABSL_STATIC_LIBRARY + "${ABSL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}absl_${_ABSL_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) add_library(absl::${_ABSL_LIB} STATIC IMPORTED) - set_target_properties(absl::${_ABSL_LIB} - PROPERTIES IMPORTED_LOCATION ${_ABSL_STATIC_LIBRARY}) + set_target_properties(absl::${_ABSL_LIB} PROPERTIES IMPORTED_LOCATION + ${_ABSL_STATIC_LIBRARY}) list(APPEND ABSL_BUILD_BYPRODUCTS ${_ABSL_STATIC_LIBRARY}) list(APPEND ABSL_LIBRARIES absl::${_ABSL_LIB}) endforeach() - externalproject_add(absl_ep - ${EP_LOG_OPTIONS} - URL ${ABSL_SOURCE_URL} - CMAKE_ARGS ${ABSL_CMAKE_ARGS} - BUILD_BYPRODUCTS ${ABSL_BUILD_BYPRODUCTS}) + externalproject_add( + absl_ep + ${EP_LOG_OPTIONS} + URL ${ABSL_SOURCE_URL} + CMAKE_ARGS ${ABSL_CMAKE_ARGS} + BUILD_BYPRODUCTS ${ABSL_BUILD_BYPRODUCTS}) set(GRPC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-prefix/src/grpc_ep-build") set(GRPC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-install") set(GRPC_HOME "${GRPC_PREFIX}") set(GRPC_INCLUDE_DIR "${GRPC_PREFIX}/include") - set( - GRPC_STATIC_LIBRARY_GPR - "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gpr${CMAKE_STATIC_LIBRARY_SUFFIX}") - set( - GRPC_STATIC_LIBRARY_GRPC - "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}grpc${CMAKE_STATIC_LIBRARY_SUFFIX}") - set( - GRPC_STATIC_LIBRARY_GRPCPP - "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}grpc++${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - GRPC_STATIC_LIBRARY_ADDRESS_SORTING - "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}address_sorting${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - set( - GRPC_STATIC_LIBRARY_UPB - "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}upb${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(GRPC_STATIC_LIBRARY_GPR + "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gpr${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(GRPC_STATIC_LIBRARY_GRPC + "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}grpc${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(GRPC_STATIC_LIBRARY_GRPCPP + "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}grpc++${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(GRPC_STATIC_LIBRARY_ADDRESS_SORTING + "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}address_sorting${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(GRPC_STATIC_LIBRARY_UPB + "${GRPC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}upb${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) set(GRPC_CPP_PLUGIN "${GRPC_PREFIX}/bin/grpc_cpp_plugin${CMAKE_EXECUTABLE_SUFFIX}") set(GRPC_CMAKE_PREFIX) @@ -2511,36 +2467,34 @@ macro(build_grpc) # XXX the gRPC git checkout is huge and takes a long time # 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_STATIC_LIBRARY_UPB} - ${GRPC_CPP_PLUGIN} - CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} - DEPENDS ${grpc_dependencies}) + 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_STATIC_LIBRARY_UPB} ${GRPC_CPP_PLUGIN} + CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} + DEPENDS ${grpc_dependencies}) # Work around https://gitlab.kitware.com/cmake/cmake/issues/15052 file(MAKE_DIRECTORY ${GRPC_INCLUDE_DIR}) add_library(gRPC::upb STATIC IMPORTED) - set_target_properties(gRPC::upb - PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_UPB}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties( + gRPC::upb PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_UPB}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::gpr STATIC IMPORTED) - set_target_properties(gRPC::gpr - PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GPR}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties( + gRPC::gpr PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GPR}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::address_sorting STATIC IMPORTED) - set_target_properties(gRPC::address_sorting - PROPERTIES IMPORTED_LOCATION - "${GRPC_STATIC_LIBRARY_ADDRESS_SORTING}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties( + gRPC::address_sorting + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_ADDRESS_SORTING}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::grpc STATIC IMPORTED) set(GRPC_LINK_LIBRARIES @@ -2552,27 +2506,23 @@ macro(build_grpc) c-ares::cares ZLIB::ZLIB Threads::Threads) - set_target_properties(gRPC::grpc - PROPERTIES IMPORTED_LOCATION - "${GRPC_STATIC_LIBRARY_GRPC}" - INTERFACE_INCLUDE_DIRECTORIES - "${GRPC_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES - "${GRPC_LINK_LIBRARIES}") + set_target_properties( + gRPC::grpc + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPC}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${GRPC_LINK_LIBRARIES}") add_library(gRPC::grpc++ STATIC IMPORTED) set(GRPCPP_LINK_LIBRARIES gRPC::grpc ${ARROW_PROTOBUF_LIBPROTOBUF}) - set_target_properties(gRPC::grpc++ - PROPERTIES IMPORTED_LOCATION - "${GRPC_STATIC_LIBRARY_GRPCPP}" - INTERFACE_INCLUDE_DIRECTORIES - "${GRPC_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES - "${GRPCPP_LINK_LIBRARIES}") + set_target_properties( + gRPC::grpc++ + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPCPP}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}") add_executable(gRPC::grpc_cpp_plugin IMPORTED) - set_target_properties(gRPC::grpc_cpp_plugin - PROPERTIES IMPORTED_LOCATION ${GRPC_CPP_PLUGIN}) + set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_LOCATION + ${GRPC_CPP_PLUGIN}) add_dependencies(grpc_ep grpc_dependencies) add_dependencies(toolchain grpc_ep) @@ -2584,43 +2534,38 @@ macro(build_grpc) # continuation character in these scripts, so we have to create a copy of the # static lib that we will bundle later - set( - GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR - "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}grpcpp${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) - add_custom_command(OUTPUT ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} - COMMAND ${CMAKE_COMMAND} - -E - copy - $ - ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} - DEPENDS grpc_ep) + set(GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR + "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}grpcpp${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + add_custom_command( + OUTPUT ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} + COMMAND ${CMAKE_COMMAND} -E copy $ + ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} + DEPENDS grpc_ep) add_library(gRPC::grpcpp_for_bundling STATIC IMPORTED) - set_target_properties(gRPC::grpcpp_for_bundling - PROPERTIES IMPORTED_LOCATION - "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") + set_target_properties( + gRPC::grpcpp_for_bundling PROPERTIES IMPORTED_LOCATION + "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") set_source_files_properties("${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}" PROPERTIES GENERATED - TRUE) + TRUE) add_custom_target(grpc_copy_grpc++ ALL DEPENDS "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") add_dependencies(gRPC::grpcpp_for_bundling grpc_copy_grpc++) - list(APPEND ARROW_BUNDLED_STATIC_LIBS - ${ABSL_LIBRARIES} - gRPC::address_sorting - gRPC::gpr - gRPC::grpc - gRPC::grpcpp_for_bundling - gRPC::upb) + list( + APPEND + ARROW_BUNDLED_STATIC_LIBS + ${ABSL_LIBRARIES} + gRPC::address_sorting + gRPC::gpr + gRPC::grpc + gRPC::grpcpp_for_bundling + gRPC::upb) endmacro() if(ARROW_WITH_GRPC) set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") - resolve_dependency(gRPC - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_GRPC_REQUIRED_VERSION}) + resolve_dependency(gRPC HAVE_ALT TRUE REQUIRED_VERSION ${ARROW_GRPC_REQUIRED_VERSION}) # TODO: Don't use global includes but rather target_include_directories get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) @@ -2712,10 +2657,11 @@ macro(build_orc) # Work around CMake bug file(MAKE_DIRECTORY ${ORC_INCLUDE_DIR}) - externalproject_add(orc_ep - URL ${ORC_SOURCE_URL} - BUILD_BYPRODUCTS ${ORC_STATIC_LIB} - CMAKE_ARGS ${ORC_CMAKE_ARGS} ${EP_LOG_OPTIONS}) + externalproject_add( + orc_ep + URL ${ORC_SOURCE_URL} + BUILD_BYPRODUCTS ${ORC_STATIC_LIB} + CMAKE_ARGS ${ORC_CMAKE_ARGS} ${EP_LOG_OPTIONS}) add_dependencies(toolchain orc_ep) @@ -2726,9 +2672,9 @@ macro(build_orc) add_dependencies(orc_ep ${ARROW_PROTOBUF_LIBPROTOBUF}) add_library(orc::liborc STATIC IMPORTED) - set_target_properties(orc::liborc - PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") + set_target_properties( + orc::liborc PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") add_dependencies(toolchain orc_ep) add_dependencies(orc::liborc orc_ep) @@ -2748,8 +2694,8 @@ endif() macro(build_awssdk) message("Building AWS C++ SDK from source") - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS + "4.9") message(FATAL_ERROR "AWS C++ SDK requires gcc >= 4.9") endif() set(AWSSDK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/awssdk_ep-install") @@ -2776,14 +2722,14 @@ macro(build_awssdk) "-DCMAKE_INSTALL_PREFIX=${AWSSDK_PREFIX}" "-DCMAKE_PREFIX_PATH=${AWSSDK_PREFIX}") - set( - AWSSDK_CMAKE_ARGS - ${AWSSDK_COMMON_CMAKE_ARGS} -DBUILD_DEPS=OFF - -DBUILD_ONLY=config\\$s3\\$transfer\\$identity-management\\$sts - -DMINIMIZE_SIZE=ON) + set(AWSSDK_CMAKE_ARGS + ${AWSSDK_COMMON_CMAKE_ARGS} + -DBUILD_DEPS=OFF + -DBUILD_ONLY=config\\$s3\\$transfer\\$identity-management\\$sts + -DMINIMIZE_SIZE=ON) if(UNIX AND TARGET zlib_ep) list(APPEND AWSSDK_CMAKE_ARGS -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIRS} - -DZLIB_LIBRARY=${ZLIB_LIBRARIES}) + -DZLIB_LIBRARY=${ZLIB_LIBRARIES}) endif() file(MAKE_DIRECTORY ${AWSSDK_INCLUDE_DIR}) @@ -2804,10 +2750,9 @@ macro(build_awssdk) string(TOUPPER ${_AWSSDK_LIB} _AWSSDK_LIB_UPPER) # AWS-C-COMMON -> AWS_C_COMMON string(REPLACE "-" "_" _AWSSDK_LIB_NAME_PREFIX ${_AWSSDK_LIB_UPPER}) - set( - _AWSSDK_STATIC_LIBRARY - "${AWSSDK_PREFIX}/${AWSSDK_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${_AWSSDK_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" - ) + set(_AWSSDK_STATIC_LIBRARY + "${AWSSDK_PREFIX}/${AWSSDK_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${_AWSSDK_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) if(${_AWSSDK_LIB} MATCHES "^aws-cpp-sdk-") set(_AWSSDK_TARGET_NAME ${_AWSSDK_LIB}) else() @@ -2817,44 +2762,47 @@ macro(build_awssdk) set_target_properties( ${_AWSSDK_TARGET_NAME} PROPERTIES IMPORTED_LOCATION ${_AWSSDK_STATIC_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES - "${AWSSDK_INCLUDE_DIR}") + "${AWSSDK_INCLUDE_DIR}") set("${_AWSSDK_LIB_NAME_PREFIX}_STATIC_LIBRARY" ${_AWSSDK_STATIC_LIBRARY}) list(APPEND AWSSDK_LIBRARIES ${_AWSSDK_TARGET_NAME}) endforeach() - externalproject_add(aws_c_common_ep - ${EP_LOG_OPTIONS} - URL ${AWS_C_COMMON_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_C_COMMON_STATIC_LIBRARY}) + externalproject_add( + aws_c_common_ep + ${EP_LOG_OPTIONS} + URL ${AWS_C_COMMON_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_C_COMMON_STATIC_LIBRARY}) add_dependencies(AWS::aws-c-common aws_c_common_ep) - externalproject_add(aws_checksums_ep - ${EP_LOG_OPTIONS} - URL ${AWS_CHECKSUMS_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_CHECKSUMS_STATIC_LIBRARY} - DEPENDS aws_c_common_ep) + externalproject_add( + aws_checksums_ep + ${EP_LOG_OPTIONS} + URL ${AWS_CHECKSUMS_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_CHECKSUMS_STATIC_LIBRARY} + DEPENDS aws_c_common_ep) add_dependencies(AWS::aws-checksums aws_checksums_ep) - externalproject_add(aws_c_event_stream_ep - ${EP_LOG_OPTIONS} - URL ${AWS_C_EVENT_STREAM_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_C_EVENT_STREAM_STATIC_LIBRARY} - DEPENDS aws_checksums_ep) + externalproject_add( + aws_c_event_stream_ep + ${EP_LOG_OPTIONS} + URL ${AWS_C_EVENT_STREAM_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_C_EVENT_STREAM_STATIC_LIBRARY} + DEPENDS aws_checksums_ep) add_dependencies(AWS::aws-c-event-stream aws_c_event_stream_ep) - externalproject_add(awssdk_ep - ${EP_LOG_OPTIONS} - URL ${AWSSDK_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} - ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} - ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} - ${AWS_CPP_SDK_S3_STATIC_LIBRARY} - ${AWS_CPP_SDK_STS_STATIC_LIBRARY} - DEPENDS aws_c_event_stream_ep) + externalproject_add( + awssdk_ep + ${EP_LOG_OPTIONS} + URL ${AWSSDK_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} + BUILD_BYPRODUCTS + ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} + ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} ${AWS_CPP_SDK_S3_STATIC_LIBRARY} + ${AWS_CPP_SDK_STS_STATIC_LIBRARY} + DEPENDS aws_c_event_stream_ep) add_dependencies(toolchain awssdk_ep) foreach(_AWSSDK_LIB ${_AWSSDK_LIBS}) if(${_AWSSDK_LIB} MATCHES "^aws-cpp-sdk-") @@ -2871,21 +2819,23 @@ macro(build_awssdk) if(NOT TARGET CURL::libcurl) # For CMake 3.11 or older add_library(CURL::libcurl UNKNOWN IMPORTED) - set_target_properties(CURL::libcurl - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${CURL_INCLUDE_DIRS}" IMPORTED_LOCATION - "${CURL_LIBRARIES}") + set_target_properties( + CURL::libcurl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}" + IMPORTED_LOCATION "${CURL_LIBRARIES}") endif() - set_property(TARGET aws-cpp-sdk-core - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl) - set_property(TARGET CURL::libcurl - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::SSL) + set_property( + TARGET aws-cpp-sdk-core + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl) + set_property( + TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::SSL) if(TARGET zlib_ep) - set_property(TARGET aws-cpp-sdk-core - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) + set_property( + TARGET aws-cpp-sdk-core + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) add_dependencies(awssdk_ep zlib_ep) endif() endif() @@ -2909,24 +2859,14 @@ if(ARROW_S3) # Need to customize the find_package() call, so cannot call resolve_dependency() if(AWSSDK_SOURCE STREQUAL "AUTO") - find_package(AWSSDK - COMPONENTS config - s3 - transfer - identity-management - sts) + find_package(AWSSDK COMPONENTS config s3 transfer identity-management sts) if(NOT AWSSDK_FOUND) build_awssdk() endif() elseif(AWSSDK_SOURCE STREQUAL "BUNDLED") build_awssdk() elseif(AWSSDK_SOURCE STREQUAL "SYSTEM") - find_package(AWSSDK REQUIRED - COMPONENTS config - s3 - transfer - identity-management - sts) + find_package(AWSSDK REQUIRED COMPONENTS config s3 transfer identity-management sts) endif() # Restore previous value of BUILD_SHARED_LIBS @@ -2947,9 +2887,9 @@ if(ARROW_S3) # aws-sdk-cpp to use the MacOSX SDK provided by XCode which makes # XCode a hard dependency. Command Line Tools is often used instead # of the full XCode suite, so let the linker to find it. - set_target_properties(AWS::aws-c-common - PROPERTIES INTERFACE_LINK_LIBRARIES - "-pthread;pthread;-framework CoreFoundation") + set_target_properties( + AWS::aws-c-common PROPERTIES INTERFACE_LINK_LIBRARIES + "-pthread;pthread;-framework CoreFoundation") endif() endif() diff --git a/cpp/cmake_modules/Usevcpkg.cmake b/cpp/cmake_modules/Usevcpkg.cmake index 781bec436f3..fdfe2241316 100644 --- a/cpp/cmake_modules/Usevcpkg.cmake +++ b/cpp/cmake_modules/Usevcpkg.cmake @@ -22,7 +22,10 @@ message(STATUS "Using vcpkg to find dependencies") # macro to list subdirectirectories (non-recursive) macro(list_subdirs SUBDIRS DIR) - file(GLOB children_ RELATIVE ${DIR} ${DIR}/*) + file( + GLOB children_ + RELATIVE ${DIR} + ${DIR}/*) set(subdirs_ "") foreach(child_ ${children_}) if(IS_DIRECTORY "${DIR}/${child_}") @@ -51,14 +54,20 @@ if(DEFINED CMAKE_TOOLCHAIN_FILE) else() if(DEFINED VCPKG_ROOT) # Get it from the CMake variable VCPKG_ROOT - find_program(_VCPKG_BIN vcpkg PATHS "${VCPKG_ROOT}" NO_DEFAULT_PATH) + find_program( + _VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) message(FATAL_ERROR "vcpkg not found in directory specified in -DVCPKG_ROOT") endif() elseif(DEFINED ENV{VCPKG_ROOT}) # Get it from the environment variable VCPKG_ROOT set(VCPKG_ROOT $ENV{VCPKG_ROOT}) - find_program(_VCPKG_BIN vcpkg PATHS "${VCPKG_ROOT}" NO_DEFAULT_PATH) + find_program( + _VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) message( FATAL_ERROR "vcpkg not found in directory in environment variable VCPKG_ROOT") @@ -83,7 +92,10 @@ else() "vcpkg not found. Install vcpkg if not installed, " "then run vcpkg integrate install or set environment variable VCPKG_ROOT.") endif() - find_program(_VCPKG_BIN vcpkg PATHS "${VCPKG_ROOT}" NO_DEFAULT_PATH) + find_program( + _VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) message(FATAL_ERROR "vcpkg not found. Re-run vcpkg integrate install " "or set environment variable VCPKG_ROOT.") @@ -105,7 +117,9 @@ if(DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET) endif() # Explicitly set manifest mode on if it is not set and vcpkg.json exists if(NOT DEFINED VCPKG_MANIFEST_MODE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg.json") - set(VCPKG_MANIFEST_MODE ON CACHE BOOL "Use vcpkg.json manifest") + set(VCPKG_MANIFEST_MODE + ON + CACHE BOOL "Use vcpkg.json manifest") message(STATUS "vcpkg.json manifest found. Using VCPKG_MANIFEST_MODE: ON") endif() # vcpkg can install packages in three different places @@ -113,13 +127,7 @@ set(_INST_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/vcpkg_installed") # try here fi set(_INST_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg_installed") # try here second set(_INST_VCPKG_ROOT "${VCPKG_ROOT}/installed") # Iterate over the places -foreach(_INST_DIR - IN - LISTS - _INST_BUILD_DIR - _INST_SOURCE_DIR - _INST_VCPKG_ROOT - "notfound") +foreach(_INST_DIR IN LISTS _INST_BUILD_DIR _INST_SOURCE_DIR _INST_VCPKG_ROOT "notfound") if(_INST_DIR STREQUAL "notfound") message(FATAL_ERROR "vcpkg installed libraries directory not found. " "Install packages with vcpkg before executing cmake.") @@ -194,24 +202,50 @@ set(ARROW_VCPKG_PREFIX "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "Path to target triplet subdirectory in vcpkg installed directory") -set(ARROW_VCPKG ON CACHE BOOL "Use vcpkg for dependencies") +set(ARROW_VCPKG + ON + CACHE BOOL "Use vcpkg for dependencies") set(ARROW_DEPENDENCY_SOURCE "SYSTEM" CACHE STRING "The specified value VCPKG is implemented internally as SYSTEM" FORCE) -set(BOOST_ROOT "${ARROW_VCPKG_PREFIX}" CACHE STRING "") -set(BOOST_INCLUDEDIR "${ARROW_VCPKG_PREFIX}/include/boost" CACHE STRING "") -set(BOOST_LIBRARYDIR "${ARROW_VCPKG_PREFIX}/lib" CACHE STRING "") -set(OPENSSL_INCLUDE_DIR "${ARROW_VCPKG_PREFIX}/include" CACHE STRING "") -set(OPENSSL_LIBRARIES "${ARROW_VCPKG_PREFIX}/lib" CACHE STRING "") -set(OPENSSL_ROOT_DIR "${ARROW_VCPKG_PREFIX}" CACHE STRING "") -set(Thrift_ROOT "${ARROW_VCPKG_PREFIX}/lib" CACHE STRING "") -set(ZSTD_INCLUDE_DIR "${ARROW_VCPKG_PREFIX}/include" CACHE STRING "") -set(ZSTD_ROOT "${ARROW_VCPKG_PREFIX}" CACHE STRING "") +set(BOOST_ROOT + "${ARROW_VCPKG_PREFIX}" + CACHE STRING "") +set(BOOST_INCLUDEDIR + "${ARROW_VCPKG_PREFIX}/include/boost" + CACHE STRING "") +set(BOOST_LIBRARYDIR + "${ARROW_VCPKG_PREFIX}/lib" + CACHE STRING "") +set(OPENSSL_INCLUDE_DIR + "${ARROW_VCPKG_PREFIX}/include" + CACHE STRING "") +set(OPENSSL_LIBRARIES + "${ARROW_VCPKG_PREFIX}/lib" + CACHE STRING "") +set(OPENSSL_ROOT_DIR + "${ARROW_VCPKG_PREFIX}" + CACHE STRING "") +set(Thrift_ROOT + "${ARROW_VCPKG_PREFIX}/lib" + CACHE STRING "") +set(ZSTD_INCLUDE_DIR + "${ARROW_VCPKG_PREFIX}/include" + CACHE STRING "") +set(ZSTD_ROOT + "${ARROW_VCPKG_PREFIX}" + CACHE STRING "") if(CMAKE_HOST_WIN32) - set(LZ4_MSVC_LIB_PREFIX "" CACHE STRING "") - set(LZ4_MSVC_STATIC_LIB_SUFFIX "" CACHE STRING "") - set(ZSTD_MSVC_LIB_PREFIX "" CACHE STRING "") + set(LZ4_MSVC_LIB_PREFIX + "" + CACHE STRING "") + set(LZ4_MSVC_STATIC_LIB_SUFFIX + "" + CACHE STRING "") + set(ZSTD_MSVC_LIB_PREFIX + "" + CACHE STRING "") endif() diff --git a/cpp/cmake_modules/san-config.cmake b/cpp/cmake_modules/san-config.cmake index 5eee6278009..42d7098ca11 100644 --- a/cpp/cmake_modules/san-config.cmake +++ b/cpp/cmake_modules/san-config.cmake @@ -20,10 +20,8 @@ endif() if(${ARROW_USE_ASAN}) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" - OR (CMAKE_CXX_COMPILER_ID - STREQUAL - "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8")) + OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER "4.8")) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -DADDRESS_SANITIZER") else() message(SEND_ERROR "Cannot use ASAN without clang or gcc >= 4.8") @@ -41,18 +39,16 @@ endif() # (https://bugs.llvm.org/show_bug.cgi?id=17000#c1) # Note: GCC does not support the 'function' flag. if(${ARROW_USE_UBSAN}) - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-sanitize=alignment,vptr,function,float-divide-by-zero -fno-sanitize-recover=all" - ) - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "5.1") - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-sanitize=alignment,vptr -fno-sanitize-recover=all" - ) + if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-sanitize=alignment,vptr,function,float-divide-by-zero -fno-sanitize-recover=all" + ) + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER_EQUAL "5.1") + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-sanitize=alignment,vptr -fno-sanitize-recover=all" + ) else() message(SEND_ERROR "Cannot use UBSAN without clang or gcc >= 5.1") endif() @@ -61,14 +57,10 @@ endif() # Flag to enable thread sanitizer (clang or gcc 4.8) if(${ARROW_USE_TSAN}) if(NOT - (CMAKE_CXX_COMPILER_ID - STREQUAL - "AppleClang" + (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" - OR (CMAKE_CXX_COMPILER_ID - STREQUAL - "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8"))) + OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER "4.8"))) message(SEND_ERROR "Cannot use TSAN without clang or gcc >= 4.8") endif() @@ -100,34 +92,34 @@ if(${ARROW_USE_TSAN}) endif() if(${ARROW_USE_COVERAGE}) - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") add_definitions( "-fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep" - ) + ) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep" - ) + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep" + ) else() message(SEND_ERROR "You can only enable coverage with clang") endif() endif() -if("${ARROW_USE_UBSAN}" OR "${ARROW_USE_ASAN}" OR "${ARROW_USE_TSAN}") +if("${ARROW_USE_UBSAN}" + OR "${ARROW_USE_ASAN}" + OR "${ARROW_USE_TSAN}") # GCC 4.8 and 4.9 (latest as of this writing) don't allow you to specify # disallowed entries for the sanitizer. - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize-blacklist=${BUILD_SUPPORT_DIR}/sanitizer-disallowed-entries.txt" - ) + if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize-blacklist=${BUILD_SUPPORT_DIR}/sanitizer-disallowed-entries.txt" + ) else() message( WARNING "GCC does not support specifying a sanitizer disallowed entries list. Known sanitizer check failures will not be suppressed." - ) + ) endif() endif() diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index 8e411898a34..6e6d7670943 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -20,21 +20,14 @@ add_custom_target(arrow) add_custom_target(arrow-benchmarks) add_custom_target(arrow-tests) add_custom_target(arrow-integration) -add_dependencies(arrow-all - arrow - arrow-tests - arrow-benchmarks - arrow-integration) +add_dependencies(arrow-all arrow arrow-tests arrow-benchmarks arrow-integration) # Adding unit tests part of the "arrow" portion of the test suite function(ADD_ARROW_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS PRECOMPILED_HEADERS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -59,23 +52,21 @@ function(ADD_ARROW_TEST REL_TEST_NAME) set(PCH_ARGS PRECOMPILED_HEADER_LIB "arrow-array-test") endif() - add_test_case(${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${PCH_ARGS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case( + ${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${PCH_ARGS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -89,11 +80,7 @@ function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS arrow_shared) endif() - add_fuzz_target(${REL_FUZZING_NAME} - PREFIX - ${PREFIX} - LINK_LIBS - ${LINK_LIBS} + add_fuzz_target(${REL_FUZZING_NAME} PREFIX ${PREFIX} LINK_LIBS ${LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) endfunction() @@ -101,21 +88,14 @@ function(ADD_ARROW_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() set(PREFIX "arrow") endif() - add_benchmark(${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - "arrow-benchmarks" + add_benchmark(${REL_TEST_NAME} PREFIX ${PREFIX} LABELS "arrow-benchmarks" ${ARG_UNPARSED_ARGUMENTS}) endfunction() @@ -260,12 +240,9 @@ set(ARROW_C_SRCS vendored/uriparser/UriResolve.c vendored/uriparser/UriShorten.c) -set_source_files_properties(vendored/datetime/tz.cpp - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) +set_source_files_properties( + vendored/datetime/tz.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) # Disable DLL exports in vendored uriparser library add_definitions(-DURI_STATIC_BUILD) @@ -326,24 +303,21 @@ endif() if(_allocator_dependencies) if("${CMAKE_GENERATOR}" STREQUAL "Ninja") set_source_files_properties(memory_pool.cc PROPERTIES OBJECT_DEPENDS - "${_allocator_dependencies}") + "${_allocator_dependencies}") else() add_dependencies(arrow_dependencies ${_allocator_dependencies}) endif() - set_source_files_properties(memory_pool.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) + set_source_files_properties(memory_pool.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) endif() unset(_allocator_dependencies) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property(SOURCE util/io_util.cc - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-unused-macros ") + set_property( + SOURCE util/io_util.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-unused-macros ") endif() # @@ -351,14 +325,16 @@ endif() # if(ARROW_CSV) - list(APPEND ARROW_SRCS - csv/converter.cc - csv/chunker.cc - csv/column_builder.cc - csv/column_decoder.cc - csv/options.cc - csv/parser.cc - csv/reader.cc) + list( + APPEND + ARROW_SRCS + csv/converter.cc + csv/chunker.cc + csv/column_builder.cc + csv/column_decoder.cc + csv/options.cc + csv/parser.cc + csv/reader.cc) if(ARROW_COMPUTE) list(APPEND ARROW_SRCS csv/writer.cc) endif() @@ -367,50 +343,52 @@ if(ARROW_CSV) endif() if(ARROW_COMPUTE) - list(APPEND ARROW_SRCS - compute/api_aggregate.cc - compute/api_scalar.cc - compute/api_vector.cc - compute/cast.cc - compute/exec.cc - compute/exec/exec_plan.cc - compute/exec/expression.cc - compute/function.cc - compute/kernel.cc - compute/registry.cc - compute/kernels/aggregate_basic.cc - compute/kernels/aggregate_mode.cc - compute/kernels/aggregate_quantile.cc - compute/kernels/aggregate_tdigest.cc - compute/kernels/aggregate_var_std.cc - compute/kernels/codegen_internal.cc - compute/kernels/hash_aggregate.cc - compute/kernels/scalar_arithmetic.cc - compute/kernels/scalar_boolean.cc - compute/kernels/scalar_cast_boolean.cc - compute/kernels/scalar_cast_internal.cc - compute/kernels/scalar_cast_nested.cc - compute/kernels/scalar_cast_numeric.cc - compute/kernels/scalar_cast_string.cc - compute/kernels/scalar_cast_temporal.cc - compute/kernels/scalar_compare.cc - compute/kernels/scalar_nested.cc - compute/kernels/scalar_set_lookup.cc - compute/kernels/scalar_string.cc - compute/kernels/scalar_temporal.cc - compute/kernels/scalar_validity.cc - compute/kernels/scalar_fill_null.cc - compute/kernels/scalar_if_else.cc - compute/kernels/util_internal.cc - compute/kernels/vector_hash.cc - compute/kernels/vector_nested.cc - compute/kernels/vector_selection.cc - compute/kernels/vector_sort.cc - compute/exec/key_hash.cc - compute/exec/key_map.cc - compute/exec/key_compare.cc - compute/exec/key_encode.cc - compute/exec/util.cc) + list( + APPEND + ARROW_SRCS + compute/api_aggregate.cc + compute/api_scalar.cc + compute/api_vector.cc + compute/cast.cc + compute/exec.cc + compute/exec/exec_plan.cc + compute/exec/expression.cc + compute/function.cc + compute/kernel.cc + compute/registry.cc + compute/kernels/aggregate_basic.cc + compute/kernels/aggregate_mode.cc + compute/kernels/aggregate_quantile.cc + compute/kernels/aggregate_tdigest.cc + compute/kernels/aggregate_var_std.cc + compute/kernels/codegen_internal.cc + compute/kernels/hash_aggregate.cc + compute/kernels/scalar_arithmetic.cc + compute/kernels/scalar_boolean.cc + compute/kernels/scalar_cast_boolean.cc + compute/kernels/scalar_cast_internal.cc + compute/kernels/scalar_cast_nested.cc + compute/kernels/scalar_cast_numeric.cc + compute/kernels/scalar_cast_string.cc + compute/kernels/scalar_cast_temporal.cc + compute/kernels/scalar_compare.cc + compute/kernels/scalar_nested.cc + compute/kernels/scalar_set_lookup.cc + compute/kernels/scalar_string.cc + compute/kernels/scalar_temporal.cc + compute/kernels/scalar_validity.cc + compute/kernels/scalar_fill_null.cc + compute/kernels/scalar_if_else.cc + compute/kernels/util_internal.cc + compute/kernels/vector_hash.cc + compute/kernels/vector_nested.cc + compute/kernels/vector_selection.cc + compute/kernels/vector_sort.cc + compute/exec/key_hash.cc + compute/exec/key_map.cc + compute/exec/key_compare.cc + compute/exec/key_encode.cc + compute/exec/util.cc) append_avx2_src(compute/kernels/aggregate_basic_avx2.cc) append_avx512_src(compute/kernels/aggregate_basic_avx512.cc) @@ -429,38 +407,39 @@ if(ARROW_FILESYSTEM) add_definitions(-DARROW_HDFS) endif() - list(APPEND ARROW_SRCS - filesystem/filesystem.cc - filesystem/localfs.cc - filesystem/mockfs.cc - filesystem/path_util.cc - filesystem/util_internal.cc) + list( + APPEND + ARROW_SRCS + filesystem/filesystem.cc + filesystem/localfs.cc + filesystem/mockfs.cc + filesystem/path_util.cc + filesystem/util_internal.cc) if(ARROW_HDFS) list(APPEND ARROW_SRCS filesystem/hdfs.cc) endif() if(ARROW_S3) list(APPEND ARROW_SRCS filesystem/s3fs.cc) - set_source_files_properties(filesystem/s3fs.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) + set_source_files_properties( + filesystem/s3fs.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION + ON) endif() list(APPEND ARROW_TESTING_SRCS filesystem/test_util.cc) endif() if(ARROW_IPC) - list(APPEND ARROW_SRCS - ipc/dictionary.cc - ipc/feather.cc - ipc/message.cc - ipc/metadata_internal.cc - ipc/options.cc - ipc/reader.cc - ipc/writer.cc) + list( + APPEND + ARROW_SRCS + ipc/dictionary.cc + ipc/feather.cc + ipc/message.cc + ipc/metadata_internal.cc + ipc/options.cc + ipc/reader.cc + ipc/writer.cc) if(ARROW_JSON) list(APPEND ARROW_SRCS ipc/json_simple.cc) @@ -468,15 +447,17 @@ if(ARROW_IPC) endif() if(ARROW_JSON) - list(APPEND ARROW_SRCS - json/options.cc - json/chunked_builder.cc - json/chunker.cc - json/converter.cc - json/object_parser.cc - json/object_writer.cc - json/parser.cc - json/reader.cc) + list( + APPEND + ARROW_SRCS + json/options.cc + json/chunked_builder.cc + json/chunker.cc + json/converter.cc + json/object_parser.cc + json/object_writer.cc + json/parser.cc + json/reader.cc) endif() if(ARROW_ORC) @@ -494,31 +475,32 @@ endif() set(ARROW_ALL_SRCS ${ARROW_SRCS} ${ARROW_C_SRCS}) -add_arrow_lib(arrow - CMAKE_PACKAGE_NAME - Arrow - PKG_CONFIG_NAME - arrow - SOURCES - ${ARROW_ALL_SRCS} - OUTPUTS - ARROW_LIBRARIES - PRECOMPILED_HEADERS - "$<$:arrow/pch.h>" - DEPENDENCIES - arrow_dependencies - SHARED_LINK_FLAGS - ${ARROW_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${ARROW_LINK_LIBS} - SHARED_PRIVATE_LINK_LIBS - ${ARROW_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${ARROW_STATIC_LINK_LIBS} - SHARED_INSTALL_INTERFACE_LIBS - ${ARROW_SHARED_INSTALL_INTERFACE_LIBS} - STATIC_INSTALL_INTERFACE_LIBS - ${ARROW_STATIC_INSTALL_INTERFACE_LIBS}) +add_arrow_lib( + arrow + CMAKE_PACKAGE_NAME + Arrow + PKG_CONFIG_NAME + arrow + SOURCES + ${ARROW_ALL_SRCS} + OUTPUTS + ARROW_LIBRARIES + PRECOMPILED_HEADERS + "$<$:arrow/pch.h>" + DEPENDENCIES + arrow_dependencies + SHARED_LINK_FLAGS + ${ARROW_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${ARROW_LINK_LIBS} + SHARED_PRIVATE_LINK_LIBS + ${ARROW_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${ARROW_STATIC_LINK_LIBS} + SHARED_INSTALL_INTERFACE_LIBS + ${ARROW_SHARED_INSTALL_INTERFACE_LIBS} + STATIC_INSTALL_INTERFACE_LIBS + ${ARROW_STATIC_INSTALL_INTERFACE_LIBS}) add_dependencies(arrow ${ARROW_LIBRARIES}) @@ -543,35 +525,37 @@ endif() if(ARROW_BUILD_STATIC AND ARROW_BUNDLED_STATIC_LIBS) arrow_car(_FIRST_LIB ${ARROW_BUNDLED_STATIC_LIBS}) arrow_cdr(_OTHER_LIBS ${ARROW_BUNDLED_STATIC_LIBS}) - create_merged_static_lib(arrow_bundled_dependencies - NAME - arrow_bundled_dependencies - ROOT - ${_FIRST_LIB} - TO_MERGE - ${_OTHER_LIBS}) + create_merged_static_lib( + arrow_bundled_dependencies + NAME + arrow_bundled_dependencies + ROOT + ${_FIRST_LIB} + TO_MERGE + ${_OTHER_LIBS}) endif() if(ARROW_TESTING) # that depend on gtest - add_arrow_lib(arrow_testing - CMAKE_PACKAGE_NAME - ArrowTesting - PKG_CONFIG_NAME - arrow-testing - SOURCES - ${ARROW_TESTING_SRCS} - OUTPUTS - ARROW_TESTING_LIBRARIES - PRECOMPILED_HEADERS - "$<$:arrow/pch.h>" - DEPENDENCIES - arrow_test_dependencies - SHARED_LINK_LIBS - arrow_shared - GTest::gtest - STATIC_LINK_LIBS - arrow_static) + add_arrow_lib( + arrow_testing + CMAKE_PACKAGE_NAME + ArrowTesting + PKG_CONFIG_NAME + arrow-testing + SOURCES + ${ARROW_TESTING_SRCS} + OUTPUTS + ARROW_TESTING_LIBRARIES + PRECOMPILED_HEADERS + "$<$:arrow/pch.h>" + DEPENDENCIES + arrow_test_dependencies + SHARED_LINK_LIBS + arrow_shared + GTest::gtest + STATIC_LINK_LIBS + arrow_static) add_custom_target(arrow_testing) add_dependencies(arrow_testing ${ARROW_TESTING_LIBRARIES}) @@ -598,17 +582,18 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/arrow-config.cmake # # Unit tests # -add_arrow_test(array_test - SOURCES - array/array_test.cc - array/array_binary_test.cc - array/array_dict_test.cc - array/array_list_test.cc - array/array_struct_test.cc - array/array_union_test.cc - array/array_view_test.cc - PRECOMPILED_HEADERS - "$<$:arrow/testing/pch.h>") +add_arrow_test( + array_test + SOURCES + array/array_test.cc + array/array_binary_test.cc + array/array_dict_test.cc + array/array_list_test.cc + array/array_struct_test.cc + array/array_union_test.cc + array/array_view_test.cc + PRECOMPILED_HEADERS + "$<$:arrow/testing/pch.h>") add_arrow_test(buffer_test) @@ -617,32 +602,25 @@ if(ARROW_IPC) add_arrow_test(extension_type_test) endif() -add_arrow_test(misc_test - SOURCES - datum_test.cc - memory_pool_test.cc - result_test.cc - pretty_print_test.cc - status_test.cc) +add_arrow_test( + misc_test + SOURCES + datum_test.cc + memory_pool_test.cc + result_test.cc + pretty_print_test.cc + status_test.cc) add_arrow_test(public_api_test) -set_source_files_properties(public_api_test.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) +set_source_files_properties(public_api_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) add_arrow_test(scalar_test) add_arrow_test(type_test) -add_arrow_test(table_test - SOURCES - chunked_array_test.cc - record_batch_test.cc - table_test.cc - table_builder_test.cc) +add_arrow_test(table_test SOURCES chunked_array_test.cc record_batch_test.cc + table_test.cc table_builder_test.cc) add_arrow_test(tensor_test) add_arrow_test(sparse_tensor_test) diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt index 516196c2eef..51cd7e84019 100644 --- a/cpp/src/arrow/adapters/orc/CMakeLists.txt +++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt @@ -25,12 +25,7 @@ install(FILES adapter.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/arrow/adapters/ # pkg-config support arrow_add_pkg_config("arrow-orc") -set(ORC_MIN_TEST_LIBS - GTest::gtest_main - GTest::gtest - Snappy::snappy - LZ4::lz4 - ZLIB::ZLIB) +set(ORC_MIN_TEST_LIBS GTest::gtest_main GTest::gtest Snappy::snappy LZ4::lz4 ZLIB::ZLIB) if(ARROW_BUILD_STATIC) set(ARROW_LIBRARIES_FOR_STATIC_TESTS arrow_testing_static arrow_static) @@ -47,15 +42,8 @@ endif() set(ORC_STATIC_TEST_LINK_LIBS orc::liborc ${ARROW_LIBRARIES_FOR_STATIC_TESTS} ${ORC_MIN_TEST_LIBS}) -add_arrow_test(adapter_test - PREFIX - "arrow-orc" - STATIC_LINK_LIBS +add_arrow_test(adapter_test PREFIX "arrow-orc" STATIC_LINK_LIBS ${ORC_STATIC_TEST_LINK_LIBS}) -set_source_files_properties(adapter_test.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) +set_source_files_properties(adapter_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) diff --git a/cpp/src/arrow/compute/CMakeLists.txt b/cpp/src/arrow/compute/CMakeLists.txt index 897dc32f357..7c36f5edc38 100644 --- a/cpp/src/arrow/compute/CMakeLists.txt +++ b/cpp/src/arrow/compute/CMakeLists.txt @@ -30,10 +30,7 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -48,22 +45,19 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) set(LABELS "arrow_compute") endif() - add_arrow_test(${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test( + ${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() -add_arrow_compute_test(internals_test - SOURCES - function_test.cc - exec_test.cc - kernel_test.cc - registry_test.cc) +add_arrow_compute_test(internals_test SOURCES function_test.cc exec_test.cc + kernel_test.cc registry_test.cc) add_arrow_benchmark(function_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/compute/kernels/CMakeLists.txt b/cpp/src/arrow/compute/kernels/CMakeLists.txt index 326578588a7..882573fccb2 100644 --- a/cpp/src/arrow/compute/kernels/CMakeLists.txt +++ b/cpp/src/arrow/compute/kernels/CMakeLists.txt @@ -18,20 +18,21 @@ # ---------------------------------------------------------------------- # Scalar kernels -add_arrow_compute_test(scalar_test - SOURCES - scalar_arithmetic_test.cc - scalar_boolean_test.cc - scalar_cast_test.cc - scalar_compare_test.cc - scalar_nested_test.cc - scalar_set_lookup_test.cc - scalar_string_test.cc - scalar_temporal_test.cc - scalar_validity_test.cc - scalar_fill_null_test.cc - scalar_if_else_test.cc - test_util.cc) +add_arrow_compute_test( + scalar_test + SOURCES + scalar_arithmetic_test.cc + scalar_boolean_test.cc + scalar_cast_test.cc + scalar_compare_test.cc + scalar_nested_test.cc + scalar_set_lookup_test.cc + scalar_string_test.cc + scalar_temporal_test.cc + scalar_validity_test.cc + scalar_fill_null_test.cc + scalar_if_else_test.cc + test_util.cc) add_arrow_benchmark(scalar_arithmetic_benchmark PREFIX "arrow-compute") add_arrow_benchmark(scalar_boolean_benchmark PREFIX "arrow-compute") @@ -43,13 +44,14 @@ add_arrow_benchmark(scalar_string_benchmark PREFIX "arrow-compute") # ---------------------------------------------------------------------- # Vector kernels -add_arrow_compute_test(vector_test - SOURCES - vector_hash_test.cc - vector_nested_test.cc - vector_selection_test.cc - vector_sort_test.cc - test_util.cc) +add_arrow_compute_test( + vector_test + SOURCES + vector_hash_test.cc + vector_nested_test.cc + vector_selection_test.cc + vector_sort_test.cc + test_util.cc) add_arrow_benchmark(vector_hash_benchmark PREFIX "arrow-compute") add_arrow_benchmark(vector_sort_benchmark PREFIX "arrow-compute") @@ -61,9 +63,6 @@ add_arrow_benchmark(vector_selection_benchmark PREFIX "arrow-compute") # Aggregates -add_arrow_compute_test(aggregate_test - SOURCES - aggregate_test.cc - hash_aggregate_test.cc +add_arrow_compute_test(aggregate_test SOURCES aggregate_test.cc hash_aggregate_test.cc test_util.cc) add_arrow_benchmark(aggregate_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/csv/CMakeLists.txt b/cpp/src/arrow/csv/CMakeLists.txt index 561faf1b584..5f11a9477cb 100644 --- a/cpp/src/arrow/csv/CMakeLists.txt +++ b/cpp/src/arrow/csv/CMakeLists.txt @@ -15,13 +15,8 @@ # specific language governing permissions and limitations # under the License. -set(CSV_TEST_SRCS - chunker_test.cc - column_builder_test.cc - column_decoder_test.cc - converter_test.cc - parser_test.cc - reader_test.cc) +set(CSV_TEST_SRCS chunker_test.cc column_builder_test.cc column_decoder_test.cc + converter_test.cc parser_test.cc reader_test.cc) # Writer depends on compute's cast functionality if(ARROW_COMPUTE) diff --git a/cpp/src/arrow/dataset/CMakeLists.txt b/cpp/src/arrow/dataset/CMakeLists.txt index ca467d110c6..ca82fe46a89 100644 --- a/cpp/src/arrow/dataset/CMakeLists.txt +++ b/cpp/src/arrow/dataset/CMakeLists.txt @@ -42,25 +42,26 @@ if(ARROW_PARQUET) set(ARROW_DATASET_PRIVATE_INCLUDES ${PROJECT_SOURCE_DIR}/src/parquet) endif() -add_arrow_lib(arrow_dataset - CMAKE_PACKAGE_NAME - ArrowDataset - PKG_CONFIG_NAME - arrow-dataset - OUTPUTS - ARROW_DATASET_LIBRARIES - SOURCES - ${ARROW_DATASET_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/dataset/pch.h>" - DEPENDENCIES - toolchain - PRIVATE_INCLUDES - ${ARROW_DATASET_PRIVATE_INCLUDES} - SHARED_LINK_LIBS - ${ARROW_DATASET_LINK_SHARED} - STATIC_LINK_LIBS - ${ARROW_DATASET_LINK_STATIC}) +add_arrow_lib( + arrow_dataset + CMAKE_PACKAGE_NAME + ArrowDataset + PKG_CONFIG_NAME + arrow-dataset + OUTPUTS + ARROW_DATASET_LIBRARIES + SOURCES + ${ARROW_DATASET_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/dataset/pch.h>" + DEPENDENCIES + toolchain + PRIVATE_INCLUDES + ${ARROW_DATASET_PRIVATE_INCLUDES} + SHARED_LINK_LIBS + ${ARROW_DATASET_LINK_SHARED} + STATIC_LINK_LIBS + ${ARROW_DATASET_LINK_STATIC}) if(ARROW_TEST_LINKAGE STREQUAL "static") set(ARROW_DATASET_TEST_LINK_LIBS arrow_dataset_static ${ARROW_TEST_STATIC_LINK_LIBS}) @@ -77,10 +78,7 @@ function(ADD_ARROW_DATASET_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -95,14 +93,15 @@ function(ADD_ARROW_DATASET_TEST REL_TEST_NAME) set(LABELS "arrow_dataset") endif() - add_arrow_test(${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test( + ${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_dataset_test(dataset_test) diff --git a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt index e8bb533b18e..997c3a120bd 100644 --- a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt @@ -55,12 +55,9 @@ set(HIVESERVER2_THRIFT_SRC Types_constants.cpp Types_types.cpp) -set_source_files_properties(${HIVESERVER2_THRIFT_SRC} - PROPERTIES - COMPILE_FLAGS - "-Wno-unused-variable -Wno-shadow-field" - GENERATED - TRUE) +set_source_files_properties( + ${HIVESERVER2_THRIFT_SRC} + PROPERTIES COMPILE_FLAGS "-Wno-unused-variable -Wno-shadow-field" GENERATED TRUE) # keep everything in one library, the object files reference # each other @@ -76,20 +73,21 @@ add_library(arrow_hiveserver2_thrift STATIC ${HIVESERVER2_THRIFT_SRC}) add_dependencies(arrow_hiveserver2_thrift hs2-thrift-cpp) set_target_properties( + arrow_hiveserver2_thrift PROPERTIES LIBRARY_OUTPUT_DIRECTORY + "${BUILD_OUTPUT_ROOT_DIRECTORY}") + +add_arrow_lib( + arrow_hiveserver2 + SOURCES + ${ARROW_HIVESERVER2_SRCS} + OUTPUTS + ARROW_HIVESERVER2_LIBRARIES + DEPENDENCIES arrow_hiveserver2_thrift - PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${BUILD_OUTPUT_ROOT_DIRECTORY}") - -add_arrow_lib(arrow_hiveserver2 - SOURCES - ${ARROW_HIVESERVER2_SRCS} - OUTPUTS - ARROW_HIVESERVER2_LIBRARIES - DEPENDENCIES - arrow_hiveserver2_thrift - SHARED_LINK_FLAGS - "" - SHARED_LINK_LIBS - ${ARROW_PYTHON_SHARED_LINK_LIBS}) + SHARED_LINK_FLAGS + "" + SHARED_LINK_LIBS + ${ARROW_PYTHON_SHARED_LINK_LIBS}) add_dependencies(arrow_hiveserver2 ${ARROW_HIVESERVER2_LIBRARIES}) @@ -97,22 +95,21 @@ foreach(LIB_TARGET ${ARROW_HIVESERVER2_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_EXPORTING) endforeach() -set_property(SOURCE ${ARROW_HIVESERVER2_SRCS} - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-shadow-field") +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) if(ARROW_BUILD_TESTS) - add_test_case(hiveserver2_test - STATIC_LINK_LIBS - "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" - LABELS - "arrow_hiveserver2-tests") + add_test_case(hiveserver2_test STATIC_LINK_LIBS "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" + LABELS "arrow_hiveserver2-tests") if(TARGET arrow-hiveserver2-test) - set_property(TARGET arrow-hiveserver2-test - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-shadow-field") + set_property( + TARGET arrow-hiveserver2-test + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-shadow-field") endif() endif(ARROW_BUILD_TESTS) diff --git a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt index f6c88473a6e..54d8d22d027 100644 --- a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt @@ -44,43 +44,35 @@ 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 set(CPP_ARGS ${CPP_ARGS} -I ${CMAKE_CURRENT_BINARY_DIR}) - add_custom_command(OUTPUT ${OUTPUT_BE_FILE} - COMMAND ${THRIFT_COMPILER} ${CPP_ARGS} ${FIL} - DEPENDS ${ABS_FIL} - COMMENT "Running thrift compiler on ${FIL}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - VERBATIM) + add_custom_command( + OUTPUT ${OUTPUT_BE_FILE} + COMMAND ${THRIFT_COMPILER} ${CPP_ARGS} ${FIL} + DEPENDS ${ABS_FIL} + COMMENT "Running thrift compiler on ${FIL}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + VERBATIM) endforeach(FIL) - set(${VAR} ${${VAR}} PARENT_SCOPE) + set(${VAR} + ${${VAR}} + PARENT_SCOPE) endfunction(HS2_THRIFT_GEN) message("Using Thrift compiler: ${THRIFT_COMPILER}") @@ -88,10 +80,11 @@ message("Using Thrift compiler: ${THRIFT_COMPILER}") set(OUTPUT_DIR ${ARROW_BINARY_DIR}/src) file(MAKE_DIRECTORY ${OUTPUT_DIR}) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift - COMMAND python generate_error_codes.py ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS generate_error_codes.py - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift + COMMAND python generate_error_codes.py ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS generate_error_codes.py + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) set(SRC_FILES ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift @@ -102,8 +95,8 @@ set(SRC_FILES Status.thrift Types.thrift) -set_source_files_properties(Status.thrift PROPERTIES OBJECT_DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift) +set_source_files_properties( + Status.thrift PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift) # Create a build command for each of the thrift src files and generate # a list of files they produce diff --git a/cpp/src/arrow/filesystem/CMakeLists.txt b/cpp/src/arrow/filesystem/CMakeLists.txt index 473a5ecc0f1..a928c3e6524 100644 --- a/cpp/src/arrow/filesystem/CMakeLists.txt +++ b/cpp/src/arrow/filesystem/CMakeLists.txt @@ -21,11 +21,7 @@ arrow_install_all_headers("arrow/filesystem") # pkg-config support arrow_add_pkg_config("arrow-filesystem") -add_arrow_test(filesystem-test - SOURCES - filesystem_test.cc - localfs_test.cc - EXTRA_LABELS +add_arrow_test(filesystem-test SOURCES filesystem_test.cc localfs_test.cc EXTRA_LABELS filesystem) if(ARROW_S3) @@ -47,8 +43,8 @@ if(ARROW_S3) if(AWS_CPP_SDK_S3_TYPE STREQUAL "STATIC_LIBRARY" AND NOT APPLE) list(APPEND ARROW_S3FS_TEST_COMPILE_DEFINITIONS "AWS_CPP_SDK_S3_NOT_SHARED") endif() - target_compile_definitions(arrow-s3fs-test PRIVATE - ${ARROW_S3FS_TEST_COMPILE_DEFINITIONS}) + target_compile_definitions(arrow-s3fs-test + PRIVATE ${ARROW_S3FS_TEST_COMPILE_DEFINITIONS}) endif() if(ARROW_BUILD_TESTS) @@ -60,8 +56,8 @@ if(ARROW_S3) if(ARROW_BUILD_BENCHMARKS AND ARROW_PARQUET) add_arrow_benchmark(s3fs_benchmark PREFIX "arrow-filesystem") - target_compile_definitions(arrow-filesystem-s3fs-benchmark PRIVATE - ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) + target_compile_definitions(arrow-filesystem-s3fs-benchmark + PRIVATE ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) if(ARROW_TEST_LINKAGE STREQUAL "static") target_link_libraries(arrow-filesystem-s3fs-benchmark PRIVATE parquet_static) else() diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index e1176ff0ac0..f5839d753ab 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -26,9 +26,9 @@ if(WIN32) endif() if(ARROW_TEST_LINKAGE STREQUAL "static") - set(ARROW_FLIGHT_TEST_LINK_LIBS arrow_flight_static arrow_flight_testing_static - ${ARROW_FLIGHT_STATIC_LINK_LIBS} - ${ARROW_TEST_LINK_LIBS}) + set(ARROW_FLIGHT_TEST_LINK_LIBS + arrow_flight_static arrow_flight_testing_static ${ARROW_FLIGHT_STATIC_LINK_LIBS} + ${ARROW_TEST_LINK_LIBS}) else() set(ARROW_FLIGHT_TEST_LINK_LIBS arrow_flight_shared arrow_flight_testing_shared ${ARROW_TEST_LINK_LIBS}) @@ -39,22 +39,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} ${ARROW_PROTOBUF_LIBPROTOBUF} gRPC::grpc_cpp_plugin) -add_custom_command(OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" - "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" - DEPENDS ${PROTO_DEPENDS} ARGS - COMMAND ${ARROW_PROTOBUF_PROTOC} - "-I${FLIGHT_PROTO_PATH}" - "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" - "--plugin=protoc-gen-grpc=$" - "${FLIGHT_PROTO}") +add_custom_command( + OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" + "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" + DEPENDS ${PROTO_DEPENDS} ARGS + COMMAND + ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" + "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" + "--plugin=protoc-gen-grpc=$" "${FLIGHT_PROTO}") set_source_files_properties(${FLIGHT_GENERATED_PROTO_FILES} PROPERTIES GENERATED TRUE) @@ -72,14 +72,16 @@ function(test_grpc_version DST_VAR DETECT_VERSION TEST_FILE) if(NOT DEFINED ${DST_VAR}) message( STATUS "Checking support for TlsCredentialsOptions (gRPC >= ${DETECT_VERSION})...") - get_property(CURRENT_INCLUDE_DIRECTORIES - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PROPERTY INCLUDE_DIRECTORIES) - try_compile(HAS_GRPC_VERSION ${CMAKE_CURRENT_BINARY_DIR}/try_compile SOURCES - "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/${TEST_FILE}" - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" - LINK_LIBRARIES gRPC::grpc++ - OUTPUT_VARIABLE TLS_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) + get_property( + CURRENT_INCLUDE_DIRECTORIES + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + PROPERTY INCLUDE_DIRECTORIES) + try_compile( + HAS_GRPC_VERSION ${CMAKE_CURRENT_BINARY_DIR}/try_compile + SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/${TEST_FILE}" + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" + LINK_LIBRARIES gRPC::grpc++ + OUTPUT_VARIABLE TLS_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) if(HAS_GRPC_VERSION) set(${DST_VAR} "${DETECT_VERSION}" @@ -88,7 +90,7 @@ function(test_grpc_version DST_VAR DETECT_VERSION TEST_FILE) message( STATUS "TlsCredentialsOptions (for gRPC ${DETECT_VERSION}) not found in grpc::experimental." - ) + ) message(DEBUG "Build output:") list(APPEND CMAKE_MESSAGE_INDENT "${TEST_FILE}: ") message(DEBUG ${TLS_CREDENTIALS_OPTIONS_CHECK_OUTPUT}) @@ -108,16 +110,17 @@ else() message( STATUS "Found approximate gRPC version: ${GRPC_VERSION} (ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS=${ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS})" - ) + ) endif() if(GRPC_VERSION EQUAL "1.27") add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc_impl::experimental) elseif(GRPC_VERSION EQUAL "1.32") add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) elseif(GRPC_VERSION EQUAL "1.34" OR GRPC_VERSION EQUAL "1.35") - add_definitions(-DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS - -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS_ROOT_CERTS - -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) + add_definitions( + -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS + -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS_ROOT_CERTS + -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) elseif(GRPC_VERSION EQUAL "1.36") add_definitions(-DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) @@ -125,15 +128,15 @@ else() message( STATUS "A proper version of gRPC could not be found to support TlsCredentialsOptions in Arrow Flight." - ) + ) message( STATUS "You may need a newer version of gRPC (>= 1.27), or the gRPC API has changed and Flight must be updated to match." - ) + ) if(ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS) message( FATAL_ERROR "Halting build since ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS is set." - ) + ) endif() endif() @@ -155,27 +158,28 @@ set(ARROW_FLIGHT_SRCS server_auth.cc types.cc) -add_arrow_lib(arrow_flight - CMAKE_PACKAGE_NAME - ArrowFlight - PKG_CONFIG_NAME - arrow-flight - OUTPUTS - ARROW_FLIGHT_LIBRARIES - SOURCES - ${ARROW_FLIGHT_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/flight/pch.h>" - DEPENDENCIES - flight_grpc_gen - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_shared - ${ARROW_FLIGHT_LINK_LIBS} - STATIC_LINK_LIBS - arrow_static - ${ARROW_FLIGHT_LINK_LIBS}) +add_arrow_lib( + arrow_flight + CMAKE_PACKAGE_NAME + ArrowFlight + PKG_CONFIG_NAME + arrow-flight + OUTPUTS + ARROW_FLIGHT_LIBRARIES + SOURCES + ${ARROW_FLIGHT_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/flight/pch.h>" + DEPENDENCIES + flight_grpc_gen + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_shared + ${ARROW_FLIGHT_LINK_LIBS} + STATIC_LINK_LIBS + arrow_static + ${ARROW_FLIGHT_LINK_LIBS}) foreach(LIB_TARGET ${ARROW_FLIGHT_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_FLIGHT_EXPORTING) @@ -183,42 +187,41 @@ endforeach() # Define arrow_flight_testing library if(ARROW_TESTING) - add_arrow_lib(arrow_flight_testing - CMAKE_PACKAGE_NAME - ArrowFlightTesting - PKG_CONFIG_NAME - arrow-flight-testing - OUTPUTS - ARROW_FLIGHT_TESTING_LIBRARIES - SOURCES - test_integration.cc - test_util.cc - DEPENDENCIES - GTest::gtest - flight_grpc_gen - arrow_dependencies - SHARED_LINK_LIBS - arrow_shared - arrow_flight_shared - arrow_testing_shared - ${BOOST_FILESYSTEM_LIBRARY} - ${BOOST_SYSTEM_LIBRARY} - GTest::gtest - STATIC_LINK_LIBS - arrow_static - arrow_flight_static - arrow_testing_static) + add_arrow_lib( + arrow_flight_testing + CMAKE_PACKAGE_NAME + ArrowFlightTesting + PKG_CONFIG_NAME + arrow-flight-testing + OUTPUTS + ARROW_FLIGHT_TESTING_LIBRARIES + SOURCES + test_integration.cc + test_util.cc + DEPENDENCIES + GTest::gtest + flight_grpc_gen + arrow_dependencies + SHARED_LINK_LIBS + arrow_shared + arrow_flight_shared + arrow_testing_shared + ${BOOST_FILESYSTEM_LIBRARY} + ${BOOST_SYSTEM_LIBRARY} + GTest::gtest + STATIC_LINK_LIBS + arrow_static + arrow_flight_static + arrow_testing_static) endif() foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES}) - target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_FLIGHT_EXPORTING - ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) + target_compile_definitions( + ${LIB_TARGET} PRIVATE ARROW_FLIGHT_EXPORTING + ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) endforeach() -add_arrow_test(flight_test - STATIC_LINK_LIBS - ${ARROW_FLIGHT_TEST_LINK_LIBS} - LABELS +add_arrow_test(flight_test STATIC_LINK_LIBS ${ARROW_FLIGHT_TEST_LINK_LIBS} LABELS "arrow_flight") # Build test server for unit tests or benchmarks @@ -254,10 +257,11 @@ if(ARROW_BUILD_BENCHMARKS) set(PERF_PROTO_GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.cc" "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.h") - add_custom_command(OUTPUT ${PERF_PROTO_GENERATED_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${CMAKE_CURRENT_SOURCE_DIR}" - "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "perf.proto" - DEPENDS ${PROTO_DEPENDS}) + add_custom_command( + OUTPUT ${PERF_PROTO_GENERATED_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${CMAKE_CURRENT_SOURCE_DIR}" + "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "perf.proto" + DEPENDS ${PROTO_DEPENDS}) add_executable(arrow-flight-perf-server perf_server.cc perf.pb.cc) target_link_libraries(arrow-flight-perf-server ${ARROW_FLIGHT_TEST_LINK_LIBS} diff --git a/cpp/src/arrow/gpu/CMakeLists.txt b/cpp/src/arrow/gpu/CMakeLists.txt index af8cf317969..f99d82b78f4 100644 --- a/cpp/src/arrow/gpu/CMakeLists.txt +++ b/cpp/src/arrow/gpu/CMakeLists.txt @@ -36,22 +36,24 @@ set(ARROW_CUDA_SRCS cuda_arrow_ipc.cc cuda_context.cc cuda_internal.cc cuda_memo set(ARROW_CUDA_SHARED_LINK_LIBS ${CUDA_CUDA_LIBRARY}) -add_arrow_lib(arrow_cuda - CMAKE_PACKAGE_NAME - ArrowCUDA - PKG_CONFIG_NAME - arrow-cuda - SOURCES - ${ARROW_CUDA_SRCS} - OUTPUTS - ARROW_CUDA_LIBRARIES - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_shared - ${ARROW_CUDA_SHARED_LINK_LIBS} - # Static arrow_cuda must also link against CUDA shared libs - STATIC_LINK_LIBS ${ARROW_CUDA_SHARED_LINK_LIBS}) +add_arrow_lib( + arrow_cuda + CMAKE_PACKAGE_NAME + ArrowCUDA + PKG_CONFIG_NAME + arrow-cuda + SOURCES + ${ARROW_CUDA_SRCS} + OUTPUTS + ARROW_CUDA_LIBRARIES + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_shared + ${ARROW_CUDA_SHARED_LINK_LIBS} + # Static arrow_cuda must also link against CUDA shared libs + STATIC_LINK_LIBS + ${ARROW_CUDA_SHARED_LINK_LIBS}) add_dependencies(arrow_cuda ${ARROW_CUDA_LIBRARIES}) diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt index 495018ec096..89a4f24b35b 100644 --- a/cpp/src/arrow/ipc/CMakeLists.txt +++ b/cpp/src/arrow/ipc/CMakeLists.txt @@ -24,10 +24,7 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -36,12 +33,8 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(PREFIX "arrow-ipc") endif() - add_arrow_test(${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test(${REL_TEST_NAME} EXTRA_LINK_LIBS ${ARROW_DATASET_TEST_LINK_LIBS} PREFIX + ${PREFIX} ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_test(feather_test) diff --git a/cpp/src/arrow/json/CMakeLists.txt b/cpp/src/arrow/json/CMakeLists.txt index f09b15ce51c..a93cf831aa7 100644 --- a/cpp/src/arrow/json/CMakeLists.txt +++ b/cpp/src/arrow/json/CMakeLists.txt @@ -15,15 +15,16 @@ # specific language governing permissions and limitations # under the License. -add_arrow_test(test - SOURCES - chunked_builder_test.cc - chunker_test.cc - converter_test.cc - parser_test.cc - reader_test.cc - PREFIX - "arrow-json") +add_arrow_test( + test + SOURCES + chunked_builder_test.cc + chunker_test.cc + converter_test.cc + parser_test.cc + reader_test.cc + PREFIX + "arrow-json") add_arrow_benchmark(parser_benchmark PREFIX "arrow-json") arrow_install_all_headers("arrow/json") diff --git a/cpp/src/arrow/python/CMakeLists.txt b/cpp/src/arrow/python/CMakeLists.txt index 960155703e1..ca9879a5da3 100644 --- a/cpp/src/arrow/python/CMakeLists.txt +++ b/cpp/src/arrow/python/CMakeLists.txt @@ -45,12 +45,8 @@ set(ARROW_PYTHON_SRCS pyarrow.cc serialize.cc) -set_source_files_properties(init.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) +set_source_files_properties(init.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) if(ARROW_FILESYSTEM) list(APPEND ARROW_PYTHON_SRCS filesystem.cc) @@ -59,7 +55,10 @@ endif() set(ARROW_PYTHON_DEPENDENCIES arrow_dependencies) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property(SOURCE pyarrow.cc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-cast-qual ") + set_property( + SOURCE pyarrow.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-cast-qual ") endif() set(ARROW_PYTHON_SHARED_LINK_LIBS arrow_shared) @@ -69,27 +68,28 @@ endif() set(ARROW_PYTHON_INCLUDES ${NUMPY_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS}) -add_arrow_lib(arrow_python - CMAKE_PACKAGE_NAME - ArrowPython - PKG_CONFIG_NAME - arrow-python - SOURCES - ${ARROW_PYTHON_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/python/pch.h>" - OUTPUTS - ARROW_PYTHON_LIBRARIES - DEPENDENCIES - ${ARROW_PYTHON_DEPENDENCIES} - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - ${ARROW_PYTHON_SHARED_LINK_LIBS} - STATIC_LINK_LIBS - ${PYTHON_OTHER_LIBS} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}") +add_arrow_lib( + arrow_python + CMAKE_PACKAGE_NAME + ArrowPython + PKG_CONFIG_NAME + arrow-python + SOURCES + ${ARROW_PYTHON_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/python/pch.h>" + OUTPUTS + ARROW_PYTHON_LIBRARIES + DEPENDENCIES + ${ARROW_PYTHON_DEPENDENCIES} + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + ${ARROW_PYTHON_SHARED_LINK_LIBS} + STATIC_LINK_LIBS + ${PYTHON_OTHER_LIBS} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}") add_dependencies(arrow_python ${ARROW_PYTHON_LIBRARIES}) @@ -107,26 +107,27 @@ if(ARROW_FLIGHT AND ARROW_BUILD_SHARED) # fail with weird errors due to multiple copies of global static state (The # other solution is to link gRPC shared everywhere instead of statically only # in Flight) - add_arrow_lib(arrow_python_flight - CMAKE_PACKAGE_NAME - ArrowPythonFlight - PKG_CONFIG_NAME - arrow-python-flight - SOURCES - flight.cc - OUTPUTS - ARROW_PYFLIGHT_LIBRARIES - DEPENDENCIES - flight_grpc_gen - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_python_shared - arrow_flight_shared - STATIC_LINK_LIBS - ${PYTHON_OTHER_LIBS} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}") + add_arrow_lib( + arrow_python_flight + CMAKE_PACKAGE_NAME + ArrowPythonFlight + PKG_CONFIG_NAME + arrow-python-flight + SOURCES + flight.cc + OUTPUTS + ARROW_PYFLIGHT_LIBRARIES + DEPENDENCIES + flight_grpc_gen + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_python_shared + arrow_flight_shared + STATIC_LINK_LIBS + ${PYTHON_OTHER_LIBS} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}") add_dependencies(arrow_python ${ARROW_PYFLIGHT_LIBRARIES}) @@ -141,9 +142,10 @@ endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # Clang, be quiet. Python C API has lots of macros - set_property(SOURCE ${ARROW_PYTHON_SRCS} - APPEND_STRING - PROPERTY COMPILE_FLAGS -Wno-parentheses-equality) + set_property( + SOURCE ${ARROW_PYTHON_SRCS} + APPEND_STRING + PROPERTY COMPILE_FLAGS -Wno-parentheses-equality) endif() arrow_install_all_headers("arrow/python") @@ -159,8 +161,8 @@ if(ARROW_BUILD_TESTS) if(APPLE) target_link_libraries(arrow_python_test_main ${CMAKE_DL_LIBS}) - set_target_properties(arrow_python_test_main - PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") + set_target_properties(arrow_python_test_main PROPERTIES LINK_FLAGS + "-undefined dynamic_lookup") elseif(NOT MSVC) target_link_libraries(arrow_python_test_main pthread ${CMAKE_DL_LIBS}) endif() @@ -173,14 +175,15 @@ if(ARROW_BUILD_TESTS) arrow_testing_static arrow_static) endif() - add_arrow_test(python_test - STATIC_LINK_LIBS - "${ARROW_PYTHON_TEST_LINK_LIBS}" - EXTRA_LINK_LIBS - ${PYTHON_LIBRARIES} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}" - LABELS - "arrow_python-tests" - NO_VALGRIND) + add_arrow_test( + python_test + STATIC_LINK_LIBS + "${ARROW_PYTHON_TEST_LINK_LIBS}" + EXTRA_LINK_LIBS + ${PYTHON_LIBRARIES} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}" + LABELS + "arrow_python-tests" + NO_VALGRIND) endif() diff --git a/cpp/src/arrow/python/util/CMakeLists.txt b/cpp/src/arrow/python/util/CMakeLists.txt index c75b622847d..74141bebc8b 100644 --- a/cpp/src/arrow/python/util/CMakeLists.txt +++ b/cpp/src/arrow/python/util/CMakeLists.txt @@ -24,8 +24,8 @@ if(PYARROW_BUILD_TESTS) if(APPLE) target_link_libraries(arrow/python_test_main GTest::gtest dl) - set_target_properties(arrow/python_test_main - PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") + set_target_properties(arrow/python_test_main PROPERTIES LINK_FLAGS + "-undefined dynamic_lookup") else() target_link_libraries(arrow/python_test_main GTest::gtest pthread dl) endif() diff --git a/cpp/src/arrow/util/CMakeLists.txt b/cpp/src/arrow/util/CMakeLists.txt index e26a17120cd..439a087b83e 100644 --- a/cpp/src/arrow/util/CMakeLists.txt +++ b/cpp/src/arrow/util/CMakeLists.txt @@ -38,44 +38,41 @@ else() set(IO_UTIL_TEST_SOURCES io_util_test.cc) endif() -add_arrow_test(utility-test - SOURCES - align_util_test.cc - async_generator_test.cc - bit_block_counter_test.cc - bit_util_test.cc - cache_test.cc - checked_cast_test.cc - compression_test.cc - decimal_test.cc - formatting_util_test.cc - key_value_metadata_test.cc - hashing_test.cc - int_util_test.cc - ${IO_UTIL_TEST_SOURCES} - iterator_test.cc - logging_test.cc - queue_test.cc - range_test.cc - reflection_test.cc - rle_encoding_test.cc - stl_util_test.cc - string_test.cc - tdigest_test.cc - test_common.cc - time_test.cc - trie_test.cc - uri_test.cc - utf8_util_test.cc - value_parsing_test.cc - variant_test.cc) +add_arrow_test( + utility-test + SOURCES + align_util_test.cc + async_generator_test.cc + bit_block_counter_test.cc + bit_util_test.cc + cache_test.cc + checked_cast_test.cc + compression_test.cc + decimal_test.cc + formatting_util_test.cc + key_value_metadata_test.cc + hashing_test.cc + int_util_test.cc + ${IO_UTIL_TEST_SOURCES} + iterator_test.cc + logging_test.cc + queue_test.cc + range_test.cc + reflection_test.cc + rle_encoding_test.cc + stl_util_test.cc + string_test.cc + tdigest_test.cc + test_common.cc + time_test.cc + trie_test.cc + uri_test.cc + utf8_util_test.cc + value_parsing_test.cc + variant_test.cc) -add_arrow_test(threading-utility-test - SOURCES - cancel_test.cc - future_test.cc - task_group_test.cc - thread_pool_test.cc) +add_arrow_test(threading-utility-test SOURCES cancel_test.cc future_test.cc + task_group_test.cc thread_pool_test.cc) add_arrow_benchmark(bit_block_counter_benchmark) add_arrow_benchmark(bit_util_benchmark) diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt index 44b6fab14c3..b0f2e97617c 100644 --- a/cpp/src/gandiva/CMakeLists.txt +++ b/cpp/src/gandiva/CMakeLists.txt @@ -97,8 +97,8 @@ set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS}) -if(ARROW_GANDIVA_STATIC_LIBSTDCPP - AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)) +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) endif() @@ -121,32 +121,33 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "${GANDIVA_SHARED_LINK_FLAGS} ${GANDIVA_VERSION_SCRIPT_FLAGS}") endif() -add_arrow_lib(gandiva - CMAKE_PACKAGE_NAME - Gandiva - PKG_CONFIG_NAME - gandiva - SOURCES - ${SRC_FILES} - PRECOMPILED_HEADERS - "$<$:gandiva/pch.h>" - OUTPUTS - GANDIVA_LIBRARIES - DEPENDENCIES - arrow_dependencies - precompiled - EXTRA_INCLUDES - $ - ${GANDIVA_OPENSSL_INCLUDE_DIR} - ${UTF8PROC_INCLUDE_DIR} - SHARED_LINK_FLAGS - ${GANDIVA_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - arrow_shared - SHARED_PRIVATE_LINK_LIBS - ${GANDIVA_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${GANDIVA_STATIC_LINK_LIBS}) +add_arrow_lib( + gandiva + CMAKE_PACKAGE_NAME + Gandiva + PKG_CONFIG_NAME + gandiva + SOURCES + ${SRC_FILES} + PRECOMPILED_HEADERS + "$<$:gandiva/pch.h>" + OUTPUTS + GANDIVA_LIBRARIES + DEPENDENCIES + arrow_dependencies + precompiled + EXTRA_INCLUDES + $ + ${GANDIVA_OPENSSL_INCLUDE_DIR} + ${UTF8PROC_INCLUDE_DIR} + SHARED_LINK_FLAGS + ${GANDIVA_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + arrow_shared + SHARED_PRIVATE_LINK_LIBS + ${GANDIVA_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${GANDIVA_STATIC_LINK_LIBS}) foreach(LIB_TARGET ${GANDIVA_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE GANDIVA_EXPORTING) @@ -169,38 +170,24 @@ function(ADD_GANDIVA_TEST REL_TEST_NAME) set(options USE_STATIC_LINKING) set(one_value_args) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(NO_TESTS) return() endif() - set(TEST_ARGUMENTS - ENABLED - PREFIX - "gandiva" - LABELS - "gandiva-tests" - ${ARG_UNPARSED_ARGUMENTS}) + set(TEST_ARGUMENTS ENABLED PREFIX "gandiva" LABELS "gandiva-tests" + ${ARG_UNPARSED_ARGUMENTS}) # and uses less disk space, but in some cases we need to force static # linking (see rationale below). if(ARG_USE_STATIC_LINKING OR ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case(${REL_TEST_NAME} - ${TEST_ARGUMENTS} - STATIC_LINK_LIBS - ${GANDIVA_STATIC_TEST_LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} ${TEST_ARGUMENTS} STATIC_LINK_LIBS + ${GANDIVA_STATIC_TEST_LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case(${REL_TEST_NAME} - ${TEST_ARGUMENTS} - STATIC_LINK_LIBS - ${GANDIVA_SHARED_TEST_LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} ${TEST_ARGUMENTS} STATIC_LINK_LIBS + ${GANDIVA_SHARED_TEST_LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) endif() set(TEST_NAME gandiva-${REL_TEST_NAME}) @@ -211,37 +198,38 @@ endfunction() set(GANDIVA_INTERNALS_TEST_ARGUMENTS) if(WIN32) list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS LLVM::LLVM_INTERFACE - ${GANDIVA_OPENSSL_LIBS}) + ${GANDIVA_OPENSSL_LIBS}) endif() -add_gandiva_test(internals-test - SOURCES - bitmap_accumulator_test.cc - engine_llvm_test.cc - function_registry_test.cc - function_signature_test.cc - llvm_types_test.cc - llvm_generator_test.cc - annotator_test.cc - tree_expr_test.cc - expr_decomposer_test.cc - expression_registry_test.cc - selection_vector_test.cc - lru_cache_test.cc - to_date_holder_test.cc - simple_arena_test.cc - like_holder_test.cc - decimal_type_util_test.cc - random_generator_holder_test.cc - hash_utils_test.cc - gdv_function_stubs_test.cc - EXTRA_DEPENDENCIES - LLVM::LLVM_INTERFACE - ${GANDIVA_OPENSSL_LIBS} - EXTRA_INCLUDES - $ - ${GANDIVA_INTERNALS_TEST_ARGUMENTS} - ${GANDIVA_OPENSSL_INCLUDE_DIR} - ${UTF8PROC_INCLUDE_DIR}) +add_gandiva_test( + internals-test + SOURCES + bitmap_accumulator_test.cc + engine_llvm_test.cc + function_registry_test.cc + function_signature_test.cc + llvm_types_test.cc + llvm_generator_test.cc + annotator_test.cc + tree_expr_test.cc + expr_decomposer_test.cc + expression_registry_test.cc + selection_vector_test.cc + lru_cache_test.cc + to_date_holder_test.cc + simple_arena_test.cc + like_holder_test.cc + decimal_type_util_test.cc + random_generator_holder_test.cc + hash_utils_test.cc + gdv_function_stubs_test.cc + EXTRA_DEPENDENCIES + LLVM::LLVM_INTERFACE + ${GANDIVA_OPENSSL_LIBS} + EXTRA_INCLUDES + $ + ${GANDIVA_INTERNALS_TEST_ARGUMENTS} + ${GANDIVA_OPENSSL_INCLUDE_DIR} + ${UTF8PROC_INCLUDE_DIR}) if(ARROW_GANDIVA_JAVA) add_subdirectory(jni) diff --git a/cpp/src/gandiva/jni/CMakeLists.txt b/cpp/src/gandiva/jni/CMakeLists.txt index b456d5f3def..ce34d60cbee 100644 --- a/cpp/src/gandiva/jni/CMakeLists.txt +++ b/cpp/src/gandiva/jni/CMakeLists.txt @@ -32,19 +32,16 @@ set(PROTO_OUTPUT_FILES ${PROTO_OUTPUT_FILES} "${PROTO_OUTPUT_DIR}/Types.pb.h") set_source_files_properties(${PROTO_OUTPUT_FILES} PROPERTIES GENERATED TRUE) -get_filename_component(ABS_GANDIVA_PROTO ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto - ABSOLUTE) +get_filename_component(ABS_GANDIVA_PROTO + ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto ABSOLUTE) -add_custom_command(OUTPUT ${PROTO_OUTPUT_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} - --proto_path - ${CMAKE_SOURCE_DIR}/src/gandiva/proto - --cpp_out - ${PROTO_OUTPUT_DIR} - ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto - DEPENDS ${ABS_GANDIVA_PROTO} ${ARROW_PROTOBUF_LIBPROTOBUF} - COMMENT "Running PROTO compiler on Types.proto" - VERBATIM) +add_custom_command( + OUTPUT ${PROTO_OUTPUT_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} --proto_path ${CMAKE_SOURCE_DIR}/src/gandiva/proto + --cpp_out ${PROTO_OUTPUT_DIR} ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto + DEPENDS ${ABS_GANDIVA_PROTO} ${ARROW_PROTOBUF_LIBPROTOBUF} + COMMENT "Running PROTO compiler on Types.proto" + VERBATIM) add_custom_target(gandiva_jni_proto ALL DEPENDS ${PROTO_OUTPUT_FILES}) set(PROTO_SRCS "${PROTO_OUTPUT_DIR}/Types.pb.cc") @@ -61,39 +58,36 @@ else() list(APPEND GANDIVA_LINK_LIBS gandiva_shared) endif() -set(GANDIVA_JNI_SOURCES - config_builder.cc - config_holder.cc - expression_registry_helper.cc - jni_common.cc - ${PROTO_SRCS}) +set(GANDIVA_JNI_SOURCES config_builder.cc config_holder.cc expression_registry_helper.cc + jni_common.cc ${PROTO_SRCS}) # For users of gandiva_jni library (including integ tests), include-dir is : # /usr/**/include dir after install, # cpp/include during build # For building gandiva_jni library itself, include-dir (in addition to above) is : # cpp/src -add_arrow_lib(gandiva_jni - SOURCES - ${GANDIVA_JNI_SOURCES} - OUTPUTS - GANDIVA_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - ${GANDIVA_LINK_LIBS} - STATIC_LINK_LIBS - ${GANDIVA_LINK_LIBS} - DEPENDENCIES - ${GANDIVA_LINK_LIBS} - gandiva_java - gandiva_jni_headers - gandiva_jni_proto - EXTRA_INCLUDES - $ - $ - $ - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR}) +add_arrow_lib( + gandiva_jni + SOURCES + ${GANDIVA_JNI_SOURCES} + OUTPUTS + GANDIVA_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + ${GANDIVA_LINK_LIBS} + STATIC_LINK_LIBS + ${GANDIVA_LINK_LIBS} + DEPENDENCIES + ${GANDIVA_LINK_LIBS} + gandiva_java + gandiva_jni_headers + gandiva_jni_proto + EXTRA_INCLUDES + $ + $ + $ + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(gandiva ${GANDIVA_JNI_LIBRARIES}) diff --git a/cpp/src/gandiva/precompiled/CMakeLists.txt b/cpp/src/gandiva/precompiled/CMakeLists.txt index 176b0473855..6fe6dd17cec 100644 --- a/cpp/src/gandiva/precompiled/CMakeLists.txt +++ b/cpp/src/gandiva/precompiled/CMakeLists.txt @@ -53,92 +53,90 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) set(BC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SRC_BASE}.bc) set(PRECOMPILE_COMMAND) if(CMAKE_OSX_SYSROOT) - list(APPEND PRECOMPILE_COMMAND - ${CMAKE_COMMAND} - -E - env - SDKROOT=${CMAKE_OSX_SYSROOT}) + list(APPEND PRECOMPILE_COMMAND ${CMAKE_COMMAND} -E env SDKROOT=${CMAKE_OSX_SYSROOT}) endif() list( - APPEND PRECOMPILE_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 - -DGANDIVA_STATIC # Do not set __declspec(dllimport) on MSVC on Gandiva symbols - -fno-use-cxa-atexit # Workaround for unresolved __dso_handle - -emit-llvm - -O3 - -c - ${ABSOLUTE_SRC} - -o - ${BC_FILE} - ${ARROW_GANDIVA_PC_CXX_FLAGS} - -I${CMAKE_SOURCE_DIR}/src - -I${ARROW_BINARY_DIR}/src) + APPEND + PRECOMPILE_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 + -DGANDIVA_STATIC # Do not set __declspec(dllimport) on MSVC on Gandiva symbols + -fno-use-cxa-atexit # Workaround for unresolved __dso_handle + -emit-llvm + -O3 + -c + ${ABSOLUTE_SRC} + -o + ${BC_FILE} + ${ARROW_GANDIVA_PC_CXX_FLAGS} + -I${CMAKE_SOURCE_DIR}/src + -I${ARROW_BINARY_DIR}/src) if(NOT ARROW_USE_NATIVE_INT128) list(APPEND PRECOMPILE_COMMAND -I${Boost_INCLUDE_DIR}) endif() - add_custom_command(OUTPUT ${BC_FILE} COMMAND ${PRECOMPILE_COMMAND} DEPENDS ${SRC_FILE}) + add_custom_command( + OUTPUT ${BC_FILE} + COMMAND ${PRECOMPILE_COMMAND} + DEPENDS ${SRC_FILE}) list(APPEND BC_FILES ${BC_FILE}) 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} - DEPENDS ${BC_FILES}) +add_custom_command( + OUTPUT ${GANDIVA_PRECOMPILED_BC_PATH} + COMMAND ${LLVM_LINK_EXECUTABLE} -o ${GANDIVA_PRECOMPILED_BC_PATH} ${BC_FILES} + DEPENDS ${BC_FILES}) # turn the bitcode file into a C++ static data variable. -add_custom_command(OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} - COMMAND ${PYTHON_EXECUTABLE} - "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" - ${GANDIVA_PRECOMPILED_CC_IN_PATH} - ${GANDIVA_PRECOMPILED_BC_PATH} - ${GANDIVA_PRECOMPILED_CC_PATH} - DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} - ${GANDIVA_PRECOMPILED_BC_PATH}) +add_custom_command( + OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} + COMMAND + ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" + ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH} + ${GANDIVA_PRECOMPILED_CC_PATH} + DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH}) -add_custom_target(precompiled ALL - DEPENDS ${GANDIVA_PRECOMPILED_BC_PATH} ${GANDIVA_PRECOMPILED_CC_PATH}) +add_custom_target(precompiled ALL DEPENDS ${GANDIVA_PRECOMPILED_BC_PATH} + ${GANDIVA_PRECOMPILED_CC_PATH}) # testing if(ARROW_BUILD_TESTS) - add_executable(gandiva-precompiled-test - ../context_helper.cc - bitmap_test.cc - bitmap.cc - epoch_time_point_test.cc - time_test.cc - time.cc - timestamp_arithmetic.cc - ../cast_time.cc - ../../arrow/vendored/datetime/tz.cpp - hash_test.cc - hash.cc - string_ops_test.cc - string_ops.cc - arithmetic_ops_test.cc - arithmetic_ops.cc - extended_math_ops_test.cc - extended_math_ops.cc - decimal_ops_test.cc - decimal_ops.cc - ../decimal_type_util.cc - ../decimal_xlarge.cc) + add_executable( + gandiva-precompiled-test + ../context_helper.cc + bitmap_test.cc + bitmap.cc + epoch_time_point_test.cc + time_test.cc + time.cc + timestamp_arithmetic.cc + ../cast_time.cc + ../../arrow/vendored/datetime/tz.cpp + hash_test.cc + hash.cc + string_ops_test.cc + string_ops.cc + arithmetic_ops_test.cc + arithmetic_ops.cc + extended_math_ops_test.cc + extended_math_ops.cc + decimal_ops_test.cc + decimal_ops.cc + ../decimal_type_util.cc + ../decimal_xlarge.cc) target_include_directories(gandiva-precompiled-test PRIVATE ${CMAKE_SOURCE_DIR}/src) target_link_libraries(gandiva-precompiled-test PRIVATE ${ARROW_TEST_LINK_LIBS}) - target_compile_definitions(gandiva-precompiled-test - PRIVATE - GANDIVA_UNIT_TEST=1 - ARROW_STATIC - GANDIVA_STATIC) + target_compile_definitions(gandiva-precompiled-test PRIVATE GANDIVA_UNIT_TEST=1 + ARROW_STATIC GANDIVA_STATIC) set(TEST_PATH "${EXECUTABLE_OUTPUT_PATH}/gandiva-precompiled-test") add_test(gandiva-precompiled-test ${TEST_PATH}) - set_property(TEST gandiva-precompiled-test - APPEND - PROPERTY LABELS "unittest;gandiva-tests") + set_property( + TEST gandiva-precompiled-test + APPEND + PROPERTY LABELS "unittest;gandiva-tests") add_dependencies(gandiva-tests gandiva-precompiled-test) endif() diff --git a/cpp/src/gandiva/tests/CMakeLists.txt b/cpp/src/gandiva/tests/CMakeLists.txt index 5fa2da16c63..4139f78bf92 100644 --- a/cpp/src/gandiva/tests/CMakeLists.txt +++ b/cpp/src/gandiva/tests/CMakeLists.txt @@ -34,9 +34,5 @@ add_gandiva_test(filter_project_test) if(ARROW_BUILD_STATIC) 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) endif() diff --git a/cpp/src/jni/dataset/CMakeLists.txt b/cpp/src/jni/dataset/CMakeLists.txt index f3e309b614a..de842c268f4 100644 --- a/cpp/src/jni/dataset/CMakeLists.txt +++ b/cpp/src/jni/dataset/CMakeLists.txt @@ -37,29 +37,26 @@ set(ARROW_DATASET_JNI_LIBS arrow_dataset_static) set(ARROW_DATASET_JNI_SOURCES jni_wrapper.cc jni_util.cc) -add_arrow_lib(arrow_dataset_jni - BUILD_SHARED - SOURCES - ${ARROW_DATASET_JNI_SOURCES} - OUTPUTS - ARROW_DATASET_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - ${ARROW_DATASET_JNI_LIBS} - STATIC_LINK_LIBS - ${ARROW_DATASET_JNI_LIBS} - EXTRA_INCLUDES - ${JNI_HEADERS_DIR} - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - DEPENDENCIES - arrow_static - arrow_dataset_java) +add_arrow_lib( + arrow_dataset_jni + BUILD_SHARED + SOURCES + ${ARROW_DATASET_JNI_SOURCES} + OUTPUTS + ARROW_DATASET_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + ${ARROW_DATASET_JNI_LIBS} + STATIC_LINK_LIBS + ${ARROW_DATASET_JNI_LIBS} + EXTRA_INCLUDES + ${JNI_HEADERS_DIR} + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + DEPENDENCIES + arrow_static + arrow_dataset_java) add_dependencies(arrow_dataset_jni ${ARROW_DATASET_JNI_LIBRARIES}) -add_arrow_test(dataset_jni_test - SOURCES - jni_util_test.cc - jni_util.cc - EXTRA_INCLUDES +add_arrow_test(dataset_jni_test SOURCES jni_util_test.cc jni_util.cc EXTRA_INCLUDES ${JNI_INCLUDE_DIRS}) diff --git a/cpp/src/jni/orc/CMakeLists.txt b/cpp/src/jni/orc/CMakeLists.txt index eceda529494..d8e6de5c142 100644 --- a/cpp/src/jni/orc/CMakeLists.txt +++ b/cpp/src/jni/orc/CMakeLists.txt @@ -31,23 +31,24 @@ set(JNI_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") add_subdirectory(../../../../java/adapter/orc ./java) -add_arrow_lib(arrow_orc_jni - BUILD_SHARED - ON - BUILD_STATIC - OFF - SOURCES - jni_wrapper.cpp - OUTPUTS - ARROW_ORC_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - arrow_static - EXTRA_INCLUDES - ${JNI_HEADERS_DIR} - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - DEPENDENCIES - arrow_static - arrow_orc_java) +add_arrow_lib( + arrow_orc_jni + BUILD_SHARED + ON + BUILD_STATIC + OFF + SOURCES + jni_wrapper.cpp + OUTPUTS + ARROW_ORC_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + arrow_static + EXTRA_INCLUDES + ${JNI_HEADERS_DIR} + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + DEPENDENCIES + arrow_static + arrow_orc_java) add_dependencies(arrow_orc_jni ${ARROW_ORC_JNI_LIBRARIES}) diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index 3f3ca5a5299..443af5d3fca 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -24,26 +24,17 @@ add_dependencies(parquet-all parquet parquet-tests parquet-benchmarks) function(ADD_PARQUET_TEST REL_TEST_NAME) set(one_value_args) set(multi_value_args EXTRA_DEPENDENCIES LABELS) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) set(TEST_ARGUMENTS PREFIX "parquet" LABELS "parquet-tests") if(ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case(${REL_TEST_NAME} - STATIC_LINK_LIBS - ${PARQUET_STATIC_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} STATIC_LINK_LIBS ${PARQUET_STATIC_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case(${REL_TEST_NAME} - STATIC_LINK_LIBS - ${PARQUET_SHARED_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} STATIC_LINK_LIBS ${PARQUET_SHARED_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} ${ARG_UNPARSED_ARGUMENTS}) endif() endfunction() @@ -51,10 +42,7 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) @@ -68,11 +56,7 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS parquet_shared) endif() - add_fuzz_target(${REL_FUZZING_NAME} - PREFIX - ${PREFIX} - LINK_LIBS - ${LINK_LIBS} + add_fuzz_target(${REL_FUZZING_NAME} PREFIX ${PREFIX} LINK_LIBS ${LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) endfunction() @@ -80,23 +64,21 @@ function(ADD_PARQUET_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() set(PREFIX "parquet") endif() - add_benchmark(${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - "parquet-benchmarks" - ${PARQUET_BENCHMARK_LINK_OPTION} - ${ARG_UNPARSED_ARGUMENTS}) + add_benchmark( + ${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + "parquet-benchmarks" + ${PARQUET_BENCHMARK_LINK_OPTION} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() # ---------------------------------------------------------------------- @@ -127,19 +109,14 @@ set(PARQUET_STATIC_TEST_LINK_LIBS ${PARQUET_MIN_TEST_LIBS} parquet_static thrift # # Generated Thrift sources -set_source_files_properties(src/generated/parquet_types.cpp - src/generated/parquet_types.h - src/generated/parquet_constants.cpp - src/generated/parquet_constants.h - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) +set_source_files_properties( + src/generated/parquet_types.cpp src/generated/parquet_types.h + src/generated/parquet_constants.cpp src/generated/parquet_constants.h + PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION ON) if(NOT MSVC) - set_source_files_properties(src/parquet/parquet_types.cpp PROPERTIES COMPILE_FLAGS - -Wno-unused-variable) + set_source_files_properties(src/parquet/parquet_types.cpp + PROPERTIES COMPILE_FLAGS -Wno-unused-variable) endif() # @@ -181,22 +158,17 @@ set(PARQUET_SRCS if(ARROW_HAVE_RUNTIME_AVX2) # AVX2 is used as a proxy for BMI2. list(APPEND PARQUET_SRCS level_comparison_avx2.cc level_conversion_bmi2.cc) - set_source_files_properties(level_comparison_avx2.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - COMPILE_FLAGS - "${ARROW_AVX2_FLAG}") + set_source_files_properties( + level_comparison_avx2.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON COMPILE_FLAGS + "${ARROW_AVX2_FLAG}") # WARNING: DO NOT BLINDLY COPY THIS CODE FOR OTHER BMI2 USE CASES. # This code is always guarded by runtime dispatch which verifies # BMI2 is present. For a very small number of CPUs AVX2 does not # imply BMI2. - set_source_files_properties(level_conversion_bmi2.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - COMPILE_FLAGS - "${ARROW_AVX2_FLAG} -DARROW_HAVE_BMI2 -mbmi2") + set_source_files_properties( + level_conversion_bmi2.cc + PROPERTIES SKIP_PRECOMPILE_HEADERS ON COMPILE_FLAGS + "${ARROW_AVX2_FLAG} -DARROW_HAVE_BMI2 -mbmi2") endif() if(PARQUET_REQUIRE_ENCRYPTION) @@ -249,32 +221,33 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map") endif() -add_arrow_lib(parquet - CMAKE_PACKAGE_NAME - Parquet - PKG_CONFIG_NAME - parquet - SOURCES - ${PARQUET_SRCS} - PRECOMPILED_HEADERS - "$<$:parquet/pch.h>" - OUTPUTS - PARQUET_LIBRARIES - DEPENDENCIES - ${PARQUET_DEPENDENCIES} - SHARED_LINK_FLAGS - ${PARQUET_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${PARQUET_SHARED_LINK_LIBS} - SHARED_PRIVATE_LINK_LIBS - ${PARQUET_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${PARQUET_STATIC_LINK_LIBS}) +add_arrow_lib( + parquet + CMAKE_PACKAGE_NAME + Parquet + PKG_CONFIG_NAME + parquet + SOURCES + ${PARQUET_SRCS} + PRECOMPILED_HEADERS + "$<$:parquet/pch.h>" + OUTPUTS + PARQUET_LIBRARIES + DEPENDENCIES + ${PARQUET_DEPENDENCIES} + SHARED_LINK_FLAGS + ${PARQUET_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${PARQUET_SHARED_LINK_LIBS} + SHARED_PRIVATE_LINK_LIBS + ${PARQUET_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${PARQUET_STATIC_LINK_LIBS}) if(WIN32 AND NOT (ARROW_TEST_LINKAGE STREQUAL "static")) - add_library(parquet_test_support STATIC - "${ARROW_SOURCE_DIR}/src/generated/parquet_constants.cpp" - "${ARROW_SOURCE_DIR}/src/generated/parquet_types.cpp") + add_library( + parquet_test_support STATIC "${ARROW_SOURCE_DIR}/src/generated/parquet_constants.cpp" + "${ARROW_SOURCE_DIR}/src/generated/parquet_types.cpp") add_dependencies(parquet_test_support thrift::thrift) set(PARQUET_SHARED_TEST_LINK_LIBS ${PARQUET_SHARED_TEST_LINK_LIBS} parquet_test_support) set(PARQUET_LIBRARIES ${PARQUET_LIBRARIES} parquet_test_support) @@ -296,13 +269,11 @@ add_dependencies(parquet ${PARQUET_LIBRARIES} thrift::thrift) # Thrift requires these definitions for some types that we use foreach(LIB_TARGET ${PARQUET_LIBRARIES}) - target_compile_definitions(${LIB_TARGET} - PRIVATE - PARQUET_EXPORTING - PRIVATE - HAVE_INTTYPES_H - PRIVATE - HAVE_NETDB_H) + target_compile_definitions( + ${LIB_TARGET} + PRIVATE PARQUET_EXPORTING + PRIVATE HAVE_INTTYPES_H + PRIVATE HAVE_NETDB_H) if(WIN32) target_compile_definitions(${LIB_TARGET} PRIVATE NOMINMAX) else() @@ -325,69 +296,59 @@ configure_file(parquet_version.h.in "${CMAKE_CURRENT_BINARY_DIR}/parquet_version install(FILES "${CMAKE_CURRENT_BINARY_DIR}/parquet_version.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/parquet") -add_parquet_test(internals-test - SOURCES - bloom_filter_test.cc - properties_test.cc - statistics_test.cc - encoding_test.cc - metadata_test.cc - public_api_test.cc - types_test.cc - test_util.cc) - -set_source_files_properties(public_api_test.cc - PROPERTIES - SKIP_PRECOMPILE_HEADERS - ON - SKIP_UNITY_BUILD_INCLUSION - ON) - -add_parquet_test(reader_test - SOURCES - column_reader_test.cc - level_conversion_test.cc - column_scanner_test.cc - reader_test.cc - stream_reader_test.cc - test_util.cc) - -add_parquet_test(writer-test - SOURCES - column_writer_test.cc - file_serialize_test.cc - stream_writer_test.cc - test_util.cc) - -add_parquet_test(arrow-test - SOURCES - arrow/arrow_reader_writer_test.cc - arrow/arrow_schema_test.cc - test_util.cc) - -add_parquet_test(arrow-internals-test - SOURCES - arrow/path_internal_test.cc - arrow/reconstruct_internal_test.cc - test_util.cc) +add_parquet_test( + internals-test + SOURCES + bloom_filter_test.cc + properties_test.cc + statistics_test.cc + encoding_test.cc + metadata_test.cc + public_api_test.cc + types_test.cc + test_util.cc) + +set_source_files_properties(public_api_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) + +add_parquet_test( + reader_test + SOURCES + column_reader_test.cc + level_conversion_test.cc + column_scanner_test.cc + reader_test.cc + stream_reader_test.cc + test_util.cc) + +add_parquet_test(writer-test SOURCES column_writer_test.cc file_serialize_test.cc + stream_writer_test.cc test_util.cc) + +add_parquet_test(arrow-test SOURCES arrow/arrow_reader_writer_test.cc + arrow/arrow_schema_test.cc test_util.cc) + +add_parquet_test(arrow-internals-test SOURCES arrow/path_internal_test.cc + arrow/reconstruct_internal_test.cc test_util.cc) if(PARQUET_REQUIRE_ENCRYPTION) - add_parquet_test(encryption-test - SOURCES - encryption/write_configurations_test.cc - encryption/read_configurations_test.cc - encryption/properties_test.cc - encryption/test_encryption_util.cc - test_util.cc) - add_parquet_test(encryption-key-management-test - SOURCES - encryption/key_management_test.cc - encryption/key_metadata_test.cc - encryption/key_wrapping_test.cc - encryption/test_encryption_util.cc - encryption/test_in_memory_kms.cc - encryption/two_level_cache_with_expiration_test.cc - test_util.cc) + add_parquet_test( + encryption-test + SOURCES + encryption/write_configurations_test.cc + encryption/read_configurations_test.cc + encryption/properties_test.cc + encryption/test_encryption_util.cc + test_util.cc) + add_parquet_test( + encryption-key-management-test + SOURCES + encryption/key_management_test.cc + encryption/key_metadata_test.cc + encryption/key_wrapping_test.cc + encryption/test_encryption_util.cc + encryption/test_in_memory_kms.cc + encryption/two_level_cache_with_expiration_test.cc + test_util.cc) endif() # Those tests need to use static linking as they access thrift-generated diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index 8c8523a37d5..43c606aedc2 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -69,21 +69,22 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map") endif() -add_arrow_lib(plasma - CMAKE_PACKAGE_NAME - Plasma - PKG_CONFIG_NAME - plasma - SOURCES - ${PLASMA_SRCS} - OUTPUTS - PLASMA_LIBRARIES - SHARED_LINK_FLAGS - ${PLASMA_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${PLASMA_LINK_LIBS} - STATIC_LINK_LIBS - ${PLASMA_STATIC_LINK_LIBS}) +add_arrow_lib( + plasma + CMAKE_PACKAGE_NAME + Plasma + PKG_CONFIG_NAME + plasma + SOURCES + ${PLASMA_SRCS} + OUTPUTS + PLASMA_LIBRARIES + SHARED_LINK_FLAGS + ${PLASMA_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${PLASMA_LINK_LIBS} + STATIC_LINK_LIBS + ${PLASMA_STATIC_LINK_LIBS}) add_dependencies(plasma ${PLASMA_LIBRARIES}) @@ -96,16 +97,22 @@ endforeach() set_source_files_properties(dlmalloc.cc PROPERTIES COMPILE_FLAGS "-O3") if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property(SOURCE dlmalloc.cc - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-parentheses-equality \ + set_property( + SOURCE dlmalloc.cc + APPEND_STRING + PROPERTY + COMPILE_FLAGS + " -Wno-parentheses-equality \ -Wno-null-pointer-arithmetic \ -Wno-shorten-64-to-32 \ -Wno-unused-macros") endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set_property(SOURCE dlmalloc.cc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-conversion") + set_property( + SOURCE dlmalloc.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-conversion") endif() list(APPEND PLASMA_EXTERNAL_STORE_SOURCES "external_store.cc" "hash_table_store.cc") @@ -128,8 +135,8 @@ if(ARROW_RPATH_ORIGIN) else() set(_lib_install_rpath "\$ORIGIN") endif() - set_target_properties(plasma-store-server - PROPERTIES INSTALL_RPATH ${_lib_install_rpath}) + set_target_properties(plasma-store-server PROPERTIES INSTALL_RPATH + ${_lib_install_rpath}) elseif(APPLE) # With OSX and conda, we need to set the correct RPATH so that dependencies # are found. The installed libraries with conda have an RPATH that matches @@ -137,27 +144,21 @@ elseif(APPLE) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties(plasma-store-server - PROPERTIES BUILD_WITH_INSTALL_RPATH - TRUE - INSTALL_RPATH_USE_LINK_PATH - TRUE - INSTALL_RPATH - "$ENV{CONDA_PREFIX}/lib") + set_target_properties( + plasma-store-server + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib") endif() endif() -install(FILES common.h - compat.h - client.h - events.h - test_util.h +install(FILES common.h compat.h client.h events.h test_util.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/plasma") # 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}) if(ARROW_PLASMA_JAVA_CLIENT) # Plasma java client support @@ -187,11 +188,8 @@ if(ARROW_PLASMA_JAVA_CLIENT) add_library(plasma_java SHARED ${PLASMA_LIBRARY_EXT_java_SRC}) if(APPLE) - target_link_libraries(plasma_java - plasma_shared - ${PLASMA_LINK_LIBS} - "-undefined dynamic_lookup" - ${PTHREAD_LIBRARY}) + target_link_libraries(plasma_java plasma_shared ${PLASMA_LINK_LIBS} + "-undefined dynamic_lookup" ${PTHREAD_LIBRARY}) else(APPLE) target_link_libraries(plasma_java plasma_shared ${PLASMA_LINK_LIBS} ${PTHREAD_LIBRARY}) @@ -206,16 +204,9 @@ function(ADD_PLASMA_TEST REL_TEST_NAME) set(options) set(one_value_args) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" + cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) - add_test_case(${REL_TEST_NAME} - PREFIX - "plasma" - LABELS - "plasma-tests" + add_test_case(${REL_TEST_NAME} PREFIX "plasma" LABELS "plasma-tests" ${ARG_UNPARSED_ARGUMENTS}) endfunction() @@ -226,13 +217,7 @@ else() endif() add_plasma_test(test/serialization_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS}) -add_plasma_test(test/client_tests - EXTRA_LINK_LIBS - ${PLASMA_TEST_LIBS} - EXTRA_DEPENDENCIES - plasma-store-server) -add_plasma_test(test/external_store_tests - EXTRA_LINK_LIBS - ${PLASMA_TEST_LIBS} - EXTRA_DEPENDENCIES +add_plasma_test(test/client_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS} EXTRA_DEPENDENCIES plasma-store-server) +add_plasma_test(test/external_store_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS} + EXTRA_DEPENDENCIES plasma-store-server) diff --git a/java/adapter/orc/CMakeLists.txt b/java/adapter/orc/CMakeLists.txt index e2d4655d79e..23110a0760d 100644 --- a/java/adapter/orc/CMakeLists.txt +++ b/java/adapter/orc/CMakeLists.txt @@ -30,14 +30,15 @@ include(FindJNI) message("generating headers to ${JNI_HEADERS_DIR}") -add_jar(arrow_orc_java - src/main/java/org/apache/arrow/adapter/orc/OrcReaderJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcStripeReaderJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcMemoryJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java - src/main/java/org/apache/arrow/adapter/orc/OrcRecordBatch.java - src/main/java/org/apache/arrow/adapter/orc/OrcFieldNode.java - GENERATE_NATIVE_HEADERS - arrow_orc_java-native - DESTINATION - ${JNI_HEADERS_DIR}) +add_jar( + arrow_orc_java + src/main/java/org/apache/arrow/adapter/orc/OrcReaderJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcStripeReaderJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcMemoryJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java + src/main/java/org/apache/arrow/adapter/orc/OrcRecordBatch.java + src/main/java/org/apache/arrow/adapter/orc/OrcFieldNode.java + GENERATE_NATIVE_HEADERS + arrow_orc_java-native + DESTINATION + ${JNI_HEADERS_DIR}) diff --git a/java/dataset/CMakeLists.txt b/java/dataset/CMakeLists.txt index 07e2d0ae8fc..822104be228 100644 --- a/java/dataset/CMakeLists.txt +++ b/java/dataset/CMakeLists.txt @@ -30,14 +30,15 @@ include(FindJNI) message("generating headers to ${JNI_HEADERS_DIR}") -add_jar(arrow_dataset_java - src/main/java/org/apache/arrow/dataset/jni/JniLoader.java - src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java - src/main/java/org/apache/arrow/dataset/jni/NativeRecordBatchHandle.java - src/main/java/org/apache/arrow/dataset/file/JniWrapper.java - src/main/java/org/apache/arrow/dataset/jni/NativeMemoryPool.java - src/main/java/org/apache/arrow/dataset/jni/ReservationListener.java - GENERATE_NATIVE_HEADERS - arrow_dataset_java-native - DESTINATION - ${JNI_HEADERS_DIR}) +add_jar( + arrow_dataset_java + src/main/java/org/apache/arrow/dataset/jni/JniLoader.java + src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java + src/main/java/org/apache/arrow/dataset/jni/NativeRecordBatchHandle.java + src/main/java/org/apache/arrow/dataset/file/JniWrapper.java + src/main/java/org/apache/arrow/dataset/jni/NativeMemoryPool.java + src/main/java/org/apache/arrow/dataset/jni/ReservationListener.java + GENERATE_NATIVE_HEADERS + arrow_dataset_java-native + DESTINATION + ${JNI_HEADERS_DIR}) diff --git a/java/gandiva/CMakeLists.txt b/java/gandiva/CMakeLists.txt index 0a7c4d03e3b..d14a11f29bf 100644 --- a/java/gandiva/CMakeLists.txt +++ b/java/gandiva/CMakeLists.txt @@ -35,19 +35,15 @@ if(ARROW_GANDIVA_JAVA7) src/main/java/org/apache/arrow/gandiva/evaluator/ExpressionRegistryJniHelper.java src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java) - create_javah(TARGET - gandiva_jni_headers - CLASSES - org.apache.arrow.gandiva.evaluator.ConfigurationBuilder - org.apache.arrow.gandiva.evaluator.JniWrapper - org.apache.arrow.gandiva.evaluator.ExpressionRegistryJniHelper - org.apache.arrow.gandiva.exceptions.GandivaException - DEPENDS - gandiva_java - CLASSPATH - gandiva_java - OUTPUT_DIR - ${JNI_HEADERS_DIR}/jni) + create_javah( + TARGET gandiva_jni_headers + CLASSES org.apache.arrow.gandiva.evaluator.ConfigurationBuilder + org.apache.arrow.gandiva.evaluator.JniWrapper + org.apache.arrow.gandiva.evaluator.ExpressionRegistryJniHelper + org.apache.arrow.gandiva.exceptions.GandivaException + DEPENDS gandiva_java + CLASSPATH gandiva_java + OUTPUT_DIR ${JNI_HEADERS_DIR}/jni) else() add_jar( gandiva_java diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt index 3c03e6791ee..fed3ee9713e 100644 --- a/matlab/CMakeLists.txt +++ b/matlab/CMakeLists.txt @@ -37,24 +37,16 @@ set(MATLAB_ADDITIONAL_VERSIONS "R2018a=9.4") find_package(Matlab REQUIRED MX_LIBRARY) # Build featherread mex file based on the arrow shared library -matlab_add_mex(NAME - featherreadmex - SRC - src/featherreadmex.cc - src/feather_reader.cc - src/util/handle_status.cc - src/util/unicode_conversion.cc - LINK_TO - ${ARROW_SHARED_LIB}) +matlab_add_mex( + NAME featherreadmex + SRC src/featherreadmex.cc src/feather_reader.cc src/util/handle_status.cc + src/util/unicode_conversion.cc + LINK_TO ${ARROW_SHARED_LIB}) target_include_directories(featherreadmex PRIVATE ${ARROW_INCLUDE_DIR}) # Build featherwrite mex file based on the arrow shared library -matlab_add_mex(NAME - featherwritemex - SRC - src/featherwritemex.cc - src/feather_writer.cc - src/util/handle_status.cc - LINK_TO - ${ARROW_SHARED_LIB}) +matlab_add_mex( + NAME featherwritemex + SRC src/featherwritemex.cc src/feather_writer.cc src/util/handle_status.cc + LINK_TO ${ARROW_SHARED_LIB}) target_include_directories(featherwritemex PRIVATE ${ARROW_INCLUDE_DIR}) From 7e2b25503e341c562d56c98f1ca2487d6bc3221f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 15:40:56 +0200 Subject: [PATCH 3/8] Restore max_subargs_per_line option as max_pargs_hwrap --- cmake-format.py | 4 + cpp/CMakeLists.txt | 16 ++- cpp/cmake_modules/BuildUtils.cmake | 104 +++++++++++---- cpp/cmake_modules/DefineOptions.cmake | 15 ++- cpp/cmake_modules/FindArrow.cmake | 30 ++++- cpp/cmake_modules/FindArrowCUDA.cmake | 9 +- cpp/cmake_modules/FindArrowDataset.cmake | 9 +- cpp/cmake_modules/FindArrowFlight.cmake | 9 +- .../FindArrowFlightTesting.cmake | 9 +- cpp/cmake_modules/FindArrowPython.cmake | 9 +- cpp/cmake_modules/FindArrowPythonFlight.cmake | 9 +- cpp/cmake_modules/FindArrowTesting.cmake | 9 +- cpp/cmake_modules/FindClangTools.cmake | 5 +- cpp/cmake_modules/FindGandiva.cmake | 8 +- cpp/cmake_modules/FindInferTools.cmake | 8 +- cpp/cmake_modules/FindLLVMAlt.cmake | 7 +- cpp/cmake_modules/FindParquet.cmake | 9 +- cpp/cmake_modules/FindPlasma.cmake | 8 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 118 +++++++++++++----- cpp/src/arrow/CMakeLists.txt | 58 +++++++-- cpp/src/arrow/adapters/orc/CMakeLists.txt | 15 ++- cpp/src/arrow/compute/CMakeLists.txt | 17 ++- cpp/src/arrow/compute/kernels/CMakeLists.txt | 8 +- cpp/src/arrow/csv/CMakeLists.txt | 9 +- cpp/src/arrow/dataset/CMakeLists.txt | 8 +- cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt | 8 +- .../dbi/hiveserver2/thrift/CMakeLists.txt | 15 ++- cpp/src/arrow/filesystem/CMakeLists.txt | 9 +- cpp/src/arrow/flight/CMakeLists.txt | 8 +- cpp/src/arrow/ipc/CMakeLists.txt | 17 ++- cpp/src/arrow/util/CMakeLists.txt | 9 +- cpp/src/gandiva/CMakeLists.txt | 41 ++++-- cpp/src/gandiva/jni/CMakeLists.txt | 8 +- cpp/src/gandiva/precompiled/CMakeLists.txt | 8 +- cpp/src/gandiva/tests/CMakeLists.txt | 7 +- cpp/src/jni/dataset/CMakeLists.txt | 9 +- cpp/src/parquet/CMakeLists.txt | 74 ++++++++--- cpp/src/plasma/CMakeLists.txt | 50 ++++++-- 38 files changed, 600 insertions(+), 173 deletions(-) diff --git a/cmake-format.py b/cmake-format.py index 0ed6e926a84..c73d9d266f7 100644 --- a/cmake-format.py +++ b/cmake-format.py @@ -29,6 +29,10 @@ # How many spaces to tab for indent tab_size = 2 + # If a positional argument group contains more than this many arguments, + # then force it to a vertical layout. + max_pargs_hwrap = 4 + # If true, separate flow control names from their parentheses with a space separate_ctrl_name_with_space = False diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index bb2f622c459..f59a9318b8c 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -404,7 +404,13 @@ if(NOT ARROW_BUILD_TESTS) set(NO_TESTS 1) else() add_custom_target(all-tests) - add_custom_target(unittest ctest -j4 -L unittest --output-on-failure) + add_custom_target( + unittest + ctest + -j4 + -L + unittest + --output-on-failure) add_dependencies(unittest all-tests) endif() @@ -784,8 +790,12 @@ if(NOT MSVC_TOOLCHAIN) list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) endif() -set(ARROW_TEST_LINK_TOOLCHAIN GTest::gtest_main GTest::gtest GTest::gmock - ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_SYSTEM_LIBRARY}) +set(ARROW_TEST_LINK_TOOLCHAIN + GTest::gtest_main + GTest::gtest + GTest::gmock + ${BOOST_FILESYSTEM_LIBRARY} + ${BOOST_SYSTEM_LIBRARY}) if(ARROW_BUILD_TESTS) add_dependencies(arrow_test_dependencies ${ARROW_TEST_LINK_TOOLCHAIN}) diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index e3e3cd94d4f..584abead701 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -50,8 +50,12 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) set(options) set(one_value_args SHARED_LIB STATIC_LIB) set(multi_value_args DEPS INCLUDE_DIRECTORIES) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -143,8 +147,12 @@ function(create_merged_static_lib output_target) set(options) set(one_value_args NAME ROOT) set(multi_value_args TO_MERGE) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -218,8 +226,13 @@ endfunction() # \arg OUTPUTS list to append built targets to function(ADD_ARROW_LIB LIB_NAME) set(options) - set(one_value_args BUILD_SHARED BUILD_STATIC CMAKE_PACKAGE_NAME PKG_CONFIG_NAME - SHARED_LINK_FLAGS PRECOMPILED_HEADER_LIB) + set(one_value_args + BUILD_SHARED + BUILD_STATIC + CMAKE_PACKAGE_NAME + PKG_CONFIG_NAME + SHARED_LINK_FLAGS + PRECOMPILED_HEADER_LIB) set(multi_value_args SOURCES PRECOMPILED_HEADERS @@ -233,8 +246,12 @@ function(ADD_ARROW_LIB LIB_NAME) SHARED_INSTALL_INTERFACE_LIBS STATIC_INSTALL_INTERFACE_LIBS OUTPUT_PATH) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -359,8 +376,11 @@ function(ADD_ARROW_LIB LIB_NAME) SOVERSION "${ARROW_SO_VERSION}") target_link_libraries( - ${LIB_NAME}_shared LINK_PUBLIC "$" - "$" LINK_PRIVATE + ${LIB_NAME}_shared + LINK_PUBLIC + "$" + "$" + LINK_PRIVATE ${ARG_SHARED_PRIVATE_LINK_LIBS}) if(ARROW_RPATH_ORIGIN) @@ -514,9 +534,18 @@ 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) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + set(multi_value_args + EXTRA_LINK_LIBS + STATIC_LINK_LIBS + DEPENDENCIES + PREFIX + LABELS) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -585,8 +614,13 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) set(ARG_LABELS benchmark) endif() - add_test(${BENCHMARK_NAME} ${BUILD_SUPPORT_DIR}/run-test.sh ${CMAKE_BINARY_DIR} - benchmark ${BENCHMARK_PATH} ${NO_COLOR}) + add_test( + ${BENCHMARK_NAME} + ${BUILD_SUPPORT_DIR}/run-test.sh + ${CMAKE_BINARY_DIR} + benchmark + ${BENCHMARK_PATH} + ${NO_COLOR}) set_property( TEST ${BENCHMARK_NAME} APPEND @@ -633,8 +667,12 @@ function(ADD_TEST_CASE REL_TEST_NAME) LABELS EXTRA_LABELS PREFIX) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -712,8 +750,12 @@ function(ADD_TEST_CASE REL_TEST_NAME) elseif(WIN32) add_test(${TEST_NAME} ${TEST_PATH}) else() - add_test(${TEST_NAME} ${BUILD_SUPPORT_DIR}/run-test.sh ${CMAKE_BINARY_DIR} test - ${TEST_PATH}) + add_test( + ${TEST_NAME} + ${BUILD_SUPPORT_DIR}/run-test.sh + ${CMAKE_BINARY_DIR} + test + ${TEST_PATH}) endif() # Add test as dependency of relevant targets @@ -776,8 +818,12 @@ function(ADD_ARROW_EXAMPLE REL_EXAMPLE_NAME) set(options) set(one_value_args) set(multi_value_args EXTRA_LINK_LIBS DEPENDENCIES PREFIX) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -826,8 +872,12 @@ function(ADD_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LINK_LIBS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -864,8 +914,12 @@ function(ARROW_INSTALL_ALL_HEADERS PATH) set(options) set(one_value_args) set(multi_value_args PATTERN) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(NOT ARG_PATTERN) # The .hpp extension is used by some vendored libraries set(ARG_PATTERN "*.h" "*.hpp") diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake index 6779d787d60..7134c16548c 100644 --- a/cpp/cmake_modules/DefineOptions.cmake +++ b/cpp/cmake_modules/DefineOptions.cmake @@ -136,8 +136,12 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") # # If you change this, you need to change the definition in # python/CMakeLists.txt too. - define_option_string(ARROW_ARMV8_ARCH "Arm64 arch and extensions" "armv8-a" # Default - "armv8-a" "armv8-a+crc+crypto") + define_option_string( + ARROW_ARMV8_ARCH + "Arm64 arch and extensions" + "armv8-a" # Default + "armv8-a" + "armv8-a+crc+crypto") define_option(ARROW_ALTIVEC "Build with Altivec if compiler has support" ON) @@ -174,8 +178,11 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") endif() define_option_string( - ARROW_TEST_LINKAGE "Linkage of Arrow libraries with unit tests executables." - "${ARROW_TEST_LINKAGE_DEFAULT}" "shared" "static") + ARROW_TEST_LINKAGE + "Linkage of Arrow libraries with unit tests executables." + "${ARROW_TEST_LINKAGE_DEFAULT}" + "shared" + "static") define_option(ARROW_FUZZING "Build Arrow Fuzzing executables" OFF) diff --git a/cpp/cmake_modules/FindArrow.cmake b/cpp/cmake_modules/FindArrow.cmake index cafac161887..532d08be898 100644 --- a/cpp/cmake_modules/FindArrow.cmake +++ b/cpp/cmake_modules/FindArrow.cmake @@ -50,8 +50,19 @@ set(ARROW_SEARCH_LIB_PATH_SUFFIXES) if(CMAKE_LIBRARY_ARCHITECTURE) list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}") endif() -list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES "lib64" "lib32" "lib" "bin") -set(ARROW_CONFIG_SUFFIXES "_RELEASE" "_RELWITHDEBINFO" "_MINSIZEREL" "_DEBUG" "") +list( + APPEND + ARROW_SEARCH_LIB_PATH_SUFFIXES + "lib64" + "lib32" + "lib" + "bin") +set(ARROW_CONFIG_SUFFIXES + "_RELEASE" + "_RELWITHDEBINFO" + "_MINSIZEREL" + "_DEBUG" + "") if(CMAKE_BUILD_TYPE) string(TOUPPER ${CMAKE_BUILD_TYPE} ARROW_CONFIG_SUFFIX_PREFERRED) set(ARROW_CONFIG_SUFFIX_PREFERRED "_${ARROW_CONFIG_SUFFIX_PREFERRED}") @@ -274,7 +285,12 @@ macro(arrow_find_package_pkg_config) if(n_shared_lib_paths LESS_EQUAL 1) set(rest_shared_lib_paths) else() - list(SUBLIST shared_lib_paths 1 -1 rest_shared_lib_paths) + list( + SUBLIST + shared_lib_paths + 1 + -1 + rest_shared_lib_paths) endif() set(${prefix}_VERSION @@ -379,7 +395,13 @@ endfunction() if(NOT "$ENV{ARROW_HOME}" STREQUAL "") file(TO_CMAKE_PATH "$ENV{ARROW_HOME}" ARROW_HOME) endif() -arrow_find_package(ARROW "${ARROW_HOME}" arrow arrow/api.h Arrow arrow) +arrow_find_package( + ARROW + "${ARROW_HOME}" + arrow + arrow/api.h + Arrow + arrow) if(ARROW_HOME) if(ARROW_INCLUDE_DIR) diff --git a/cpp/cmake_modules/FindArrowCUDA.cmake b/cpp/cmake_modules/FindArrowCUDA.cmake index b7e13c1f291..c2d59750d78 100644 --- a/cpp/cmake_modules/FindArrowCUDA.cmake +++ b/cpp/cmake_modules/FindArrowCUDA.cmake @@ -47,8 +47,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_CUDA "${ARROW_HOME}" arrow_cuda arrow/gpu/cuda_api.h ArrowCUDA - arrow-cuda) + arrow_find_package( + ARROW_CUDA + "${ARROW_HOME}" + arrow_cuda + arrow/gpu/cuda_api.h + ArrowCUDA + arrow-cuda) if(NOT ARROW_CUDA_VERSION) set(ARROW_CUDA_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowDataset.cmake b/cpp/cmake_modules/FindArrowDataset.cmake index bc9710864f0..fedd185a222 100644 --- a/cpp/cmake_modules/FindArrowDataset.cmake +++ b/cpp/cmake_modules/FindArrowDataset.cmake @@ -47,8 +47,13 @@ find_package(Arrow ${find_package_arguments}) find_package(Parquet ${find_package_arguments}) if(ARROW_FOUND AND PARQUET_FOUND) - arrow_find_package(ARROW_DATASET "${ARROW_HOME}" arrow_dataset arrow/dataset/api.h - ArrowDataset arrow-dataset) + arrow_find_package( + ARROW_DATASET + "${ARROW_HOME}" + arrow_dataset + arrow/dataset/api.h + ArrowDataset + arrow-dataset) if(NOT ARROW_DATASET_VERSION) set(ARROW_DATASET_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowFlight.cmake b/cpp/cmake_modules/FindArrowFlight.cmake index dc44518de11..b22f9bbb5c6 100644 --- a/cpp/cmake_modules/FindArrowFlight.cmake +++ b/cpp/cmake_modules/FindArrowFlight.cmake @@ -48,8 +48,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_FLIGHT "${ARROW_HOME}" arrow_flight arrow/flight/api.h - ArrowFlight arrow-flight) + arrow_find_package( + ARROW_FLIGHT + "${ARROW_HOME}" + arrow_flight + arrow/flight/api.h + ArrowFlight + arrow-flight) if(NOT ARROW_FLIGHT_VERSION) set(ARROW_FLIGHT_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowFlightTesting.cmake b/cpp/cmake_modules/FindArrowFlightTesting.cmake index 6ef6051f9c4..a8c40b08ea4 100644 --- a/cpp/cmake_modules/FindArrowFlightTesting.cmake +++ b/cpp/cmake_modules/FindArrowFlightTesting.cmake @@ -52,8 +52,13 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowTesting ${find_package_arguments}) if(ARROW_TESTING_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package(ARROW_FLIGHT_TESTING "${ARROW_HOME}" arrow_flight_testing - arrow/flight/test_util.h ArrowFlightTesting arrow-flight-testing) + arrow_find_package( + ARROW_FLIGHT_TESTING + "${ARROW_HOME}" + arrow_flight_testing + arrow/flight/test_util.h + ArrowFlightTesting + arrow-flight-testing) if(NOT ARROW_FLIGHT_TESTING_VERSION) set(ARROW_FLIGHT_TESTING_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowPython.cmake b/cpp/cmake_modules/FindArrowPython.cmake index 7c90528000f..5030177bfcb 100644 --- a/cpp/cmake_modules/FindArrowPython.cmake +++ b/cpp/cmake_modules/FindArrowPython.cmake @@ -46,8 +46,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_PYTHON "${ARROW_HOME}" arrow_python arrow/python/api.h - ArrowPython arrow-python) + arrow_find_package( + ARROW_PYTHON + "${ARROW_HOME}" + arrow_python + arrow/python/api.h + ArrowPython + arrow-python) if(NOT ARROW_PYTHON_VERSION) set(ARROW_PYTHON_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowPythonFlight.cmake b/cpp/cmake_modules/FindArrowPythonFlight.cmake index ea9fbd9182d..400fe388cb1 100644 --- a/cpp/cmake_modules/FindArrowPythonFlight.cmake +++ b/cpp/cmake_modules/FindArrowPythonFlight.cmake @@ -49,8 +49,13 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowPython ${find_package_arguments}) if(ARROW_PYTHON_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package(ARROW_PYTHON_FLIGHT "${ARROW_HOME}" arrow_python_flight - arrow/python/flight.h ArrowPythonFlight arrow-python-flight) + arrow_find_package( + ARROW_PYTHON_FLIGHT + "${ARROW_HOME}" + arrow_python_flight + arrow/python/flight.h + ArrowPythonFlight + arrow-python-flight) if(NOT ARROW_PYTHON_FLIGHT_VERSION) set(ARROW_PYTHON_FLIGHT_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindArrowTesting.cmake b/cpp/cmake_modules/FindArrowTesting.cmake index 4168980abb2..8ee9fa04adb 100644 --- a/cpp/cmake_modules/FindArrowTesting.cmake +++ b/cpp/cmake_modules/FindArrowTesting.cmake @@ -47,8 +47,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(ARROW_TESTING "${ARROW_HOME}" arrow_testing arrow/testing/util.h - ArrowTesting arrow-testing) + arrow_find_package( + ARROW_TESTING + "${ARROW_HOME}" + arrow_testing + arrow/testing/util.h + ArrowTesting + arrow-testing) if(NOT ARROW_TESTING_VERSION) set(ARROW_TESTING_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindClangTools.cmake b/cpp/cmake_modules/FindClangTools.cmake index 043ff965159..50c69dc7e89 100644 --- a/cpp/cmake_modules/FindClangTools.cmake +++ b/cpp/cmake_modules/FindClangTools.cmake @@ -35,7 +35,10 @@ # CLANG_FORMAT_FOUND, Whether clang format was found set(CLANG_TOOLS_SEARCH_PATHS - ${ClangTools_PATH} $ENV{CLANG_TOOLS_PATH} /usr/local/bin /usr/bin + ${ClangTools_PATH} + $ENV{CLANG_TOOLS_PATH} + /usr/local/bin + /usr/bin "C:/Program Files/LLVM/bin" # Windows, non-conda "$ENV{CONDA_PREFIX}/Library/bin") # Windows, conda if(CLANG_TOOLS_BREW_PREFIX) diff --git a/cpp/cmake_modules/FindGandiva.cmake b/cpp/cmake_modules/FindGandiva.cmake index d0c9d625c85..d690eed1d91 100644 --- a/cpp/cmake_modules/FindGandiva.cmake +++ b/cpp/cmake_modules/FindGandiva.cmake @@ -48,7 +48,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(GANDIVA "${ARROW_HOME}" gandiva gandiva/arrow.h Gandiva gandiva) + arrow_find_package( + GANDIVA + "${ARROW_HOME}" + gandiva + gandiva/arrow.h + Gandiva + gandiva) if(NOT GANDIVA_VERSION) set(GANDIVA_VERSION "${ARROW_VERSION}") endif() diff --git a/cpp/cmake_modules/FindInferTools.cmake b/cpp/cmake_modules/FindInferTools.cmake index 23f9976645a..d63107b80ca 100644 --- a/cpp/cmake_modules/FindInferTools.cmake +++ b/cpp/cmake_modules/FindInferTools.cmake @@ -31,8 +31,12 @@ find_program( INFER_BIN NAMES infer - PATHS ${InferTools_PATH} $ENV{INFER_TOOLS_PATH} /usr/local/bin /usr/bin - /usr/local/homebrew/bin /opt/local/bin + PATHS ${InferTools_PATH} + $ENV{INFER_TOOLS_PATH} + /usr/local/bin + /usr/bin + /usr/local/homebrew/bin + /opt/local/bin NO_DEFAULT_PATH) if("${INFER_BIN}" STREQUAL "INFER_BIN-NOTFOUND") diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake index d4655cae425..ca865745aaf 100644 --- a/cpp/cmake_modules/FindLLVMAlt.cmake +++ b/cpp/cmake_modules/FindLLVMAlt.cmake @@ -24,7 +24,12 @@ if(LLVM_BREW_PREFIX) list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX}) endif() foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS}) - find_package(LLVM ${ARROW_LLVM_VERSION} CONFIG HINTS ${LLVM_HINTS}) + find_package( + LLVM + ${ARROW_LLVM_VERSION} + CONFIG + HINTS + ${LLVM_HINTS}) if(LLVM_FOUND) break() endif() diff --git a/cpp/cmake_modules/FindParquet.cmake b/cpp/cmake_modules/FindParquet.cmake index c21a61d707e..7f574cbc938 100644 --- a/cpp/cmake_modules/FindParquet.cmake +++ b/cpp/cmake_modules/FindParquet.cmake @@ -56,8 +56,13 @@ if((NOT PARQUET_HOME) AND ARROW_HOME) endif() if(ARROW_FOUND) - arrow_find_package(PARQUET "${PARQUET_HOME}" parquet parquet/api/reader.h Parquet - parquet) + arrow_find_package( + PARQUET + "${PARQUET_HOME}" + parquet + parquet/api/reader.h + Parquet + parquet) if(PARQUET_HOME) if(PARQUET_INCLUDE_DIR) file(READ "${PARQUET_INCLUDE_DIR}/parquet/parquet_version.h" diff --git a/cpp/cmake_modules/FindPlasma.cmake b/cpp/cmake_modules/FindPlasma.cmake index 61ba1393996..99bcb96efde 100644 --- a/cpp/cmake_modules/FindPlasma.cmake +++ b/cpp/cmake_modules/FindPlasma.cmake @@ -50,7 +50,13 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package(PLASMA "${ARROW_HOME}" plasma plasma/client.h Plasma plasma) + arrow_find_package( + PLASMA + "${ARROW_HOME}" + plasma + plasma/client.h + Plasma + plasma) if(ARROW_HOME) set(PLASMA_STORE_SERVER ${ARROW_HOME}/bin/plasma-store-server${CMAKE_EXECUTABLE_SUFFIX}) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 7ab62e1661b..ec1f6b6ed11 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -196,8 +196,12 @@ endmacro() macro(resolve_dependency DEPENDENCY_NAME) set(options) set(one_value_args HAVE_ALT IS_RUNTIME_DEPENDENCY REQUIRED_VERSION USE_CONFIG) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -989,8 +993,11 @@ macro(build_brotli) 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} + "${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) @@ -1015,8 +1022,12 @@ macro(build_brotli) INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlidec brotli_ep) - list(APPEND ARROW_BUNDLED_STATIC_LIBS Brotli::brotlicommon Brotli::brotlienc - Brotli::brotlidec) + list( + APPEND + ARROW_BUNDLED_STATIC_LIBS + Brotli::brotlicommon + Brotli::brotlienc + Brotli::brotlidec) endmacro() if(ARROW_WITH_BROTLI) @@ -1359,12 +1370,18 @@ macro(build_protobuf) list(APPEND PROTOBUF_BUILD_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() set(PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS - CONFIGURE_COMMAND "./configure" ${PROTOBUF_CONFIGURE_ARGS} BUILD_COMMAND + CONFIGURE_COMMAND + "./configure" + ${PROTOBUF_CONFIGURE_ARGS} + BUILD_COMMAND ${PROTOBUF_BUILD_COMMAND}) else() set(PROTOBUF_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib - "-DCMAKE_INSTALL_PREFIX=${PROTOBUF_PREFIX}" -Dprotobuf_BUILD_TESTS=OFF + ${EP_COMMON_CMAKE_ARGS} + -DBUILD_SHARED_LIBS=OFF + -DCMAKE_INSTALL_LIBDIR=lib + "-DCMAKE_INSTALL_PREFIX=${PROTOBUF_PREFIX}" + -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_DEBUG_POSTFIX=) if(MSVC AND NOT ARROW_USE_STATIC_CRT) list(APPEND PROTOBUF_CMAKE_ARGS "-Dprotobuf_MSVC_STATIC_RUNTIME=OFF") @@ -1738,7 +1755,12 @@ macro(build_gtest) endmacro() if(ARROW_TESTING) - resolve_dependency(GTest REQUIRED_VERSION 1.10.0 USE_CONFIG TRUE) + resolve_dependency( + GTest + REQUIRED_VERSION + 1.10.0 + USE_CONFIG + TRUE) if(NOT GTEST_VENDORED) # TODO(wesm): This logic does not work correctly with the MSVC static libraries @@ -1799,8 +1821,10 @@ macro(build_benchmark) "${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}" - -DCMAKE_INSTALL_LIBDIR=lib -DBENCHMARK_ENABLE_TESTING=OFF + ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=${GBENCHMARK_PREFIX}" + -DCMAKE_INSTALL_LIBDIR=lib + -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_CXX_FLAGS=${GBENCHMARK_CMAKE_CXX_FLAGS}) if(APPLE) set(GBENCHMARK_CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS} "-DBENCHMARK_USE_LIBCXX=ON") @@ -1859,8 +1883,11 @@ macro(build_rapidjson) set(RAPIDJSON_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/rapidjson_ep/src/rapidjson_ep-install") set(RAPIDJSON_CMAKE_ARGS - ${EP_COMMON_CMAKE_ARGS} -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF - -DRAPIDJSON_BUILD_TESTS=OFF "-DCMAKE_INSTALL_PREFIX=${RAPIDJSON_PREFIX}") + ${EP_COMMON_CMAKE_ARGS} + -DRAPIDJSON_BUILD_DOC=OFF + -DRAPIDJSON_BUILD_EXAMPLES=OFF + -DRAPIDJSON_BUILD_TESTS=OFF + "-DCMAKE_INSTALL_PREFIX=${RAPIDJSON_PREFIX}") externalproject_add( rapidjson_ep @@ -2050,8 +2077,10 @@ macro(build_zstd) # Only pass our C flags on Unix as on MSVC it leads to a # "incompatible command-line options" error set(ZSTD_CMAKE_ARGS - ${ZSTD_CMAKE_ARGS} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_FLAGS=${EP_C_FLAGS} + ${ZSTD_CMAKE_ARGS} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_C_FLAGS=${EP_C_FLAGS} -DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}) endif() @@ -2212,8 +2241,10 @@ macro(build_utf8proc) endif() set(UTF8PROC_CMAKE_ARGS - ${EP_COMMON_TOOLCHAIN} "-DCMAKE_INSTALL_PREFIX=${UTF8PROC_PREFIX}" - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_LIBDIR=lib + ${EP_COMMON_TOOLCHAIN} + "-DCMAKE_INSTALL_PREFIX=${UTF8PROC_PREFIX}" + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=OFF) externalproject_add( @@ -2270,8 +2301,11 @@ macro(build_cares) ) set(CARES_CMAKE_ARGS - "${EP_COMMON_CMAKE_ARGS}" -DCARES_STATIC=ON -DCARES_SHARED=OFF - -DCMAKE_INSTALL_LIBDIR=lib "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") + "${EP_COMMON_CMAKE_ARGS}" + -DCARES_STATIC=ON + -DCARES_SHARED=OFF + -DCMAKE_INSTALL_LIBDIR=lib + "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") externalproject_add( cares_ep @@ -2315,8 +2349,11 @@ macro(build_grpc) # First need to build Abseil set(ABSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/absl_ep-install") set(ABSL_CMAKE_ARGS - "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF -DCMAKE_CXX_STANDARD=11 - -DCMAKE_INSTALL_LIBDIR=lib "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") + "${EP_COMMON_CMAKE_ARGS}" + -DABSL_RUN_TESTS=OFF + -DCMAKE_CXX_STANDARD=11 + -DCMAKE_INSTALL_LIBDIR=lib + "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) @@ -2472,8 +2509,12 @@ macro(build_grpc) 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_STATIC_LIBRARY_UPB} ${GRPC_CPP_PLUGIN} + ${GRPC_STATIC_LIBRARY_GPR} + ${GRPC_STATIC_LIBRARY_GRPC} + ${GRPC_STATIC_LIBRARY_GRPCPP} + ${GRPC_STATIC_LIBRARY_ADDRESS_SORTING} + ${GRPC_STATIC_LIBRARY_UPB} + ${GRPC_CPP_PLUGIN} CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} DEPENDS ${grpc_dependencies}) @@ -2565,7 +2606,12 @@ endmacro() if(ARROW_WITH_GRPC) set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") - resolve_dependency(gRPC HAVE_ALT TRUE REQUIRED_VERSION ${ARROW_GRPC_REQUIRED_VERSION}) + resolve_dependency( + gRPC + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_GRPC_REQUIRED_VERSION}) # TODO: Don't use global includes but rather target_include_directories get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) @@ -2799,8 +2845,10 @@ macro(build_awssdk) URL ${AWSSDK_SOURCE_URL} CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} BUILD_BYPRODUCTS - ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} - ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} ${AWS_CPP_SDK_S3_STATIC_LIBRARY} + ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} + ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} + ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} + ${AWS_CPP_SDK_S3_STATIC_LIBRARY} ${AWS_CPP_SDK_STS_STATIC_LIBRARY} DEPENDS aws_c_event_stream_ep) add_dependencies(toolchain awssdk_ep) @@ -2859,14 +2907,26 @@ if(ARROW_S3) # Need to customize the find_package() call, so cannot call resolve_dependency() if(AWSSDK_SOURCE STREQUAL "AUTO") - find_package(AWSSDK COMPONENTS config s3 transfer identity-management sts) + find_package( + AWSSDK + COMPONENTS config + s3 + transfer + identity-management + sts) if(NOT AWSSDK_FOUND) build_awssdk() endif() elseif(AWSSDK_SOURCE STREQUAL "BUNDLED") build_awssdk() elseif(AWSSDK_SOURCE STREQUAL "SYSTEM") - find_package(AWSSDK REQUIRED COMPONENTS config s3 transfer identity-management sts) + find_package( + AWSSDK REQUIRED + COMPONENTS config + s3 + transfer + identity-management + sts) endif() # Restore previous value of BUILD_SHARED_LIBS diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index 6e6d7670943..30d431d25ba 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -20,15 +20,24 @@ add_custom_target(arrow) add_custom_target(arrow-benchmarks) add_custom_target(arrow-tests) add_custom_target(arrow-integration) -add_dependencies(arrow-all arrow arrow-tests arrow-benchmarks arrow-integration) +add_dependencies( + arrow-all + arrow + arrow-tests + arrow-benchmarks + arrow-integration) # Adding unit tests part of the "arrow" portion of the test suite function(ADD_ARROW_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS PRECOMPILED_HEADERS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -66,8 +75,12 @@ function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -80,23 +93,37 @@ function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS arrow_shared) endif() - add_fuzz_target(${REL_FUZZING_NAME} PREFIX ${PREFIX} LINK_LIBS ${LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_fuzz_target( + ${REL_FUZZING_NAME} + PREFIX + ${PREFIX} + LINK_LIBS + ${LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_ARROW_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() set(PREFIX "arrow") endif() - add_benchmark(${REL_TEST_NAME} PREFIX ${PREFIX} LABELS "arrow-benchmarks" - ${ARG_UNPARSED_ARGUMENTS}) + add_benchmark( + ${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + "arrow-benchmarks" + ${ARG_UNPARSED_ARGUMENTS}) endfunction() macro(append_avx2_src SRC) @@ -619,8 +646,13 @@ set_source_files_properties(public_api_test.cc PROPERTIES SKIP_PRECOMPILE_HEADER add_arrow_test(scalar_test) add_arrow_test(type_test) -add_arrow_test(table_test SOURCES chunked_array_test.cc record_batch_test.cc - table_test.cc table_builder_test.cc) +add_arrow_test( + table_test + SOURCES + chunked_array_test.cc + record_batch_test.cc + table_test.cc + table_builder_test.cc) add_arrow_test(tensor_test) add_arrow_test(sparse_tensor_test) diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt index 51cd7e84019..260561ed915 100644 --- a/cpp/src/arrow/adapters/orc/CMakeLists.txt +++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt @@ -25,7 +25,12 @@ install(FILES adapter.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/arrow/adapters/ # pkg-config support arrow_add_pkg_config("arrow-orc") -set(ORC_MIN_TEST_LIBS GTest::gtest_main GTest::gtest Snappy::snappy LZ4::lz4 ZLIB::ZLIB) +set(ORC_MIN_TEST_LIBS + GTest::gtest_main + GTest::gtest + Snappy::snappy + LZ4::lz4 + ZLIB::ZLIB) if(ARROW_BUILD_STATIC) set(ARROW_LIBRARIES_FOR_STATIC_TESTS arrow_testing_static arrow_static) @@ -42,8 +47,12 @@ endif() set(ORC_STATIC_TEST_LINK_LIBS orc::liborc ${ARROW_LIBRARIES_FOR_STATIC_TESTS} ${ORC_MIN_TEST_LIBS}) -add_arrow_test(adapter_test PREFIX "arrow-orc" STATIC_LINK_LIBS - ${ORC_STATIC_TEST_LINK_LIBS}) +add_arrow_test( + adapter_test + PREFIX + "arrow-orc" + STATIC_LINK_LIBS + ${ORC_STATIC_TEST_LINK_LIBS}) set_source_files_properties(adapter_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION ON) diff --git a/cpp/src/arrow/compute/CMakeLists.txt b/cpp/src/arrow/compute/CMakeLists.txt index 7c36f5edc38..1b462b3ac26 100644 --- a/cpp/src/arrow/compute/CMakeLists.txt +++ b/cpp/src/arrow/compute/CMakeLists.txt @@ -30,8 +30,12 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -56,8 +60,13 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) ${ARG_UNPARSED_ARGUMENTS}) endfunction() -add_arrow_compute_test(internals_test SOURCES function_test.cc exec_test.cc - kernel_test.cc registry_test.cc) +add_arrow_compute_test( + internals_test + SOURCES + function_test.cc + exec_test.cc + kernel_test.cc + registry_test.cc) add_arrow_benchmark(function_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/compute/kernels/CMakeLists.txt b/cpp/src/arrow/compute/kernels/CMakeLists.txt index 882573fccb2..8440800e767 100644 --- a/cpp/src/arrow/compute/kernels/CMakeLists.txt +++ b/cpp/src/arrow/compute/kernels/CMakeLists.txt @@ -63,6 +63,10 @@ add_arrow_benchmark(vector_selection_benchmark PREFIX "arrow-compute") # Aggregates -add_arrow_compute_test(aggregate_test SOURCES aggregate_test.cc hash_aggregate_test.cc - test_util.cc) +add_arrow_compute_test( + aggregate_test + SOURCES + aggregate_test.cc + hash_aggregate_test.cc + test_util.cc) add_arrow_benchmark(aggregate_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/csv/CMakeLists.txt b/cpp/src/arrow/csv/CMakeLists.txt index 5f11a9477cb..561faf1b584 100644 --- a/cpp/src/arrow/csv/CMakeLists.txt +++ b/cpp/src/arrow/csv/CMakeLists.txt @@ -15,8 +15,13 @@ # specific language governing permissions and limitations # under the License. -set(CSV_TEST_SRCS chunker_test.cc column_builder_test.cc column_decoder_test.cc - converter_test.cc parser_test.cc reader_test.cc) +set(CSV_TEST_SRCS + chunker_test.cc + column_builder_test.cc + column_decoder_test.cc + converter_test.cc + parser_test.cc + reader_test.cc) # Writer depends on compute's cast functionality if(ARROW_COMPUTE) diff --git a/cpp/src/arrow/dataset/CMakeLists.txt b/cpp/src/arrow/dataset/CMakeLists.txt index ca82fe46a89..716bf3076b7 100644 --- a/cpp/src/arrow/dataset/CMakeLists.txt +++ b/cpp/src/arrow/dataset/CMakeLists.txt @@ -78,8 +78,12 @@ function(ADD_ARROW_DATASET_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) diff --git a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt index 997c3a120bd..58c60becb5f 100644 --- a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt @@ -104,8 +104,12 @@ set(ARROW_HIVESERVER2_TEST_LINK_LIBS arrow_hiveserver2_static arrow_hiveserver2_ ${ARROW_TEST_LINK_LIBS} thrift::thrift) if(ARROW_BUILD_TESTS) - add_test_case(hiveserver2_test STATIC_LINK_LIBS "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" - LABELS "arrow_hiveserver2-tests") + add_test_case( + hiveserver2_test + STATIC_LINK_LIBS + "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" + LABELS + "arrow_hiveserver2-tests") if(TARGET arrow-hiveserver2-test) set_property( TARGET arrow-hiveserver2-test diff --git a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt index 54d8d22d027..8411a251900 100644 --- a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt @@ -53,9 +53,20 @@ function(HS2_THRIFT_GEN VAR) # 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/filesystem/CMakeLists.txt b/cpp/src/arrow/filesystem/CMakeLists.txt index a928c3e6524..b535a9607ae 100644 --- a/cpp/src/arrow/filesystem/CMakeLists.txt +++ b/cpp/src/arrow/filesystem/CMakeLists.txt @@ -21,8 +21,13 @@ arrow_install_all_headers("arrow/filesystem") # pkg-config support arrow_add_pkg_config("arrow-filesystem") -add_arrow_test(filesystem-test SOURCES filesystem_test.cc localfs_test.cc EXTRA_LABELS - filesystem) +add_arrow_test( + filesystem-test + SOURCES + filesystem_test.cc + localfs_test.cc + EXTRA_LABELS + filesystem) if(ARROW_S3) add_arrow_test(s3fs_test EXTRA_LABELS filesystem) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index f5839d753ab..2a1ef549801 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -221,8 +221,12 @@ foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES}) ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) endforeach() -add_arrow_test(flight_test STATIC_LINK_LIBS ${ARROW_FLIGHT_TEST_LINK_LIBS} LABELS - "arrow_flight") +add_arrow_test( + flight_test + STATIC_LINK_LIBS + ${ARROW_FLIGHT_TEST_LINK_LIBS} + LABELS + "arrow_flight") # Build test server for unit tests or benchmarks if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS) diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt index 89a4f24b35b..2d4a240673d 100644 --- a/cpp/src/arrow/ipc/CMakeLists.txt +++ b/cpp/src/arrow/ipc/CMakeLists.txt @@ -24,8 +24,12 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -33,8 +37,13 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(PREFIX "arrow-ipc") endif() - add_arrow_test(${REL_TEST_NAME} EXTRA_LINK_LIBS ${ARROW_DATASET_TEST_LINK_LIBS} PREFIX - ${PREFIX} ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test( + ${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_test(feather_test) diff --git a/cpp/src/arrow/util/CMakeLists.txt b/cpp/src/arrow/util/CMakeLists.txt index 439a087b83e..65be20d367f 100644 --- a/cpp/src/arrow/util/CMakeLists.txt +++ b/cpp/src/arrow/util/CMakeLists.txt @@ -71,8 +71,13 @@ add_arrow_test( value_parsing_test.cc variant_test.cc) -add_arrow_test(threading-utility-test SOURCES cancel_test.cc future_test.cc - task_group_test.cc thread_pool_test.cc) +add_arrow_test( + threading-utility-test + SOURCES + cancel_test.cc + future_test.cc + task_group_test.cc + thread_pool_test.cc) add_arrow_benchmark(bit_block_counter_benchmark) add_arrow_benchmark(bit_util_benchmark) diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt index b0f2e97617c..5af6d5a37d3 100644 --- a/cpp/src/gandiva/CMakeLists.txt +++ b/cpp/src/gandiva/CMakeLists.txt @@ -170,24 +170,41 @@ function(ADD_GANDIVA_TEST REL_TEST_NAME) set(options USE_STATIC_LINKING) set(one_value_args) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(NO_TESTS) return() endif() - set(TEST_ARGUMENTS ENABLED PREFIX "gandiva" LABELS "gandiva-tests" - ${ARG_UNPARSED_ARGUMENTS}) + set(TEST_ARGUMENTS + ENABLED + PREFIX + "gandiva" + LABELS + "gandiva-tests" + ${ARG_UNPARSED_ARGUMENTS}) # and uses less disk space, but in some cases we need to force static # linking (see rationale below). if(ARG_USE_STATIC_LINKING OR ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case(${REL_TEST_NAME} ${TEST_ARGUMENTS} STATIC_LINK_LIBS - ${GANDIVA_STATIC_TEST_LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) + add_test_case( + ${REL_TEST_NAME} + ${TEST_ARGUMENTS} + STATIC_LINK_LIBS + ${GANDIVA_STATIC_TEST_LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case(${REL_TEST_NAME} ${TEST_ARGUMENTS} STATIC_LINK_LIBS - ${GANDIVA_SHARED_TEST_LINK_LIBS} ${ARG_UNPARSED_ARGUMENTS}) + add_test_case( + ${REL_TEST_NAME} + ${TEST_ARGUMENTS} + STATIC_LINK_LIBS + ${GANDIVA_SHARED_TEST_LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endif() set(TEST_NAME gandiva-${REL_TEST_NAME}) @@ -197,8 +214,12 @@ endfunction() set(GANDIVA_INTERNALS_TEST_ARGUMENTS) if(WIN32) - list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS LLVM::LLVM_INTERFACE - ${GANDIVA_OPENSSL_LIBS}) + list( + APPEND + GANDIVA_INTERNALS_TEST_ARGUMENTS + EXTRA_LINK_LIBS + LLVM::LLVM_INTERFACE + ${GANDIVA_OPENSSL_LIBS}) endif() add_gandiva_test( internals-test diff --git a/cpp/src/gandiva/jni/CMakeLists.txt b/cpp/src/gandiva/jni/CMakeLists.txt index ce34d60cbee..b6d5a3b6543 100644 --- a/cpp/src/gandiva/jni/CMakeLists.txt +++ b/cpp/src/gandiva/jni/CMakeLists.txt @@ -58,8 +58,12 @@ else() list(APPEND GANDIVA_LINK_LIBS gandiva_shared) endif() -set(GANDIVA_JNI_SOURCES config_builder.cc config_holder.cc expression_registry_helper.cc - jni_common.cc ${PROTO_SRCS}) +set(GANDIVA_JNI_SOURCES + config_builder.cc + config_holder.cc + expression_registry_helper.cc + jni_common.cc + ${PROTO_SRCS}) # For users of gandiva_jni library (including integ tests), include-dir is : # /usr/**/include dir after install, diff --git a/cpp/src/gandiva/precompiled/CMakeLists.txt b/cpp/src/gandiva/precompiled/CMakeLists.txt index 6fe6dd17cec..0d2ed9cd44d 100644 --- a/cpp/src/gandiva/precompiled/CMakeLists.txt +++ b/cpp/src/gandiva/precompiled/CMakeLists.txt @@ -53,7 +53,13 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) set(BC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SRC_BASE}.bc) set(PRECOMPILE_COMMAND) if(CMAKE_OSX_SYSROOT) - list(APPEND PRECOMPILE_COMMAND ${CMAKE_COMMAND} -E env SDKROOT=${CMAKE_OSX_SYSROOT}) + list( + APPEND + PRECOMPILE_COMMAND + ${CMAKE_COMMAND} + -E + env + SDKROOT=${CMAKE_OSX_SYSROOT}) endif() list( APPEND diff --git a/cpp/src/gandiva/tests/CMakeLists.txt b/cpp/src/gandiva/tests/CMakeLists.txt index 4139f78bf92..3e602b4cb15 100644 --- a/cpp/src/gandiva/tests/CMakeLists.txt +++ b/cpp/src/gandiva/tests/CMakeLists.txt @@ -34,5 +34,10 @@ add_gandiva_test(filter_project_test) if(ARROW_BUILD_STATIC) 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) endif() diff --git a/cpp/src/jni/dataset/CMakeLists.txt b/cpp/src/jni/dataset/CMakeLists.txt index de842c268f4..5bfd222768e 100644 --- a/cpp/src/jni/dataset/CMakeLists.txt +++ b/cpp/src/jni/dataset/CMakeLists.txt @@ -58,5 +58,10 @@ add_arrow_lib( add_dependencies(arrow_dataset_jni ${ARROW_DATASET_JNI_LIBRARIES}) -add_arrow_test(dataset_jni_test SOURCES jni_util_test.cc jni_util.cc EXTRA_INCLUDES - ${JNI_INCLUDE_DIRS}) +add_arrow_test( + dataset_jni_test + SOURCES + jni_util_test.cc + jni_util.cc + EXTRA_INCLUDES + ${JNI_INCLUDE_DIRS}) diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index 443af5d3fca..2498942c403 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -24,17 +24,29 @@ add_dependencies(parquet-all parquet parquet-tests parquet-benchmarks) function(ADD_PARQUET_TEST REL_TEST_NAME) set(one_value_args) set(multi_value_args EXTRA_DEPENDENCIES LABELS) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) set(TEST_ARGUMENTS PREFIX "parquet" LABELS "parquet-tests") if(ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case(${REL_TEST_NAME} STATIC_LINK_LIBS ${PARQUET_STATIC_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} ${ARG_UNPARSED_ARGUMENTS}) + add_test_case( + ${REL_TEST_NAME} + STATIC_LINK_LIBS + ${PARQUET_STATIC_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} + ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case(${REL_TEST_NAME} STATIC_LINK_LIBS ${PARQUET_SHARED_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} ${ARG_UNPARSED_ARGUMENTS}) + add_test_case( + ${REL_TEST_NAME} + STATIC_LINK_LIBS + ${PARQUET_SHARED_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} + ${ARG_UNPARSED_ARGUMENTS}) endif() endfunction() @@ -42,8 +54,12 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -56,16 +72,25 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS parquet_shared) endif() - add_fuzz_target(${REL_FUZZING_NAME} PREFIX ${PREFIX} LINK_LIBS ${LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_fuzz_target( + ${REL_FUZZING_NAME} + PREFIX + ${PREFIX} + LINK_LIBS + ${LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_PARQUET_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() @@ -321,14 +346,27 @@ add_parquet_test( stream_reader_test.cc test_util.cc) -add_parquet_test(writer-test SOURCES column_writer_test.cc file_serialize_test.cc - stream_writer_test.cc test_util.cc) +add_parquet_test( + writer-test + SOURCES + column_writer_test.cc + file_serialize_test.cc + stream_writer_test.cc + test_util.cc) -add_parquet_test(arrow-test SOURCES arrow/arrow_reader_writer_test.cc - arrow/arrow_schema_test.cc test_util.cc) +add_parquet_test( + arrow-test + SOURCES + arrow/arrow_reader_writer_test.cc + arrow/arrow_schema_test.cc + test_util.cc) -add_parquet_test(arrow-internals-test SOURCES arrow/path_internal_test.cc - arrow/reconstruct_internal_test.cc test_util.cc) +add_parquet_test( + arrow-internals-test + SOURCES + arrow/path_internal_test.cc + arrow/reconstruct_internal_test.cc + test_util.cc) if(PARQUET_REQUIRE_ENCRYPTION) add_parquet_test( diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index 43c606aedc2..d47abd0a933 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -152,8 +152,13 @@ elseif(APPLE) endif() endif() -install(FILES common.h compat.h client.h events.h test_util.h - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/plasma") +install( + FILES common.h + compat.h + client.h + events.h + test_util.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/plasma") # Plasma store set_target_properties(plasma-store-server PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) @@ -188,8 +193,12 @@ if(ARROW_PLASMA_JAVA_CLIENT) add_library(plasma_java SHARED ${PLASMA_LIBRARY_EXT_java_SRC}) if(APPLE) - target_link_libraries(plasma_java plasma_shared ${PLASMA_LINK_LIBS} - "-undefined dynamic_lookup" ${PTHREAD_LIBRARY}) + target_link_libraries( + plasma_java + plasma_shared + ${PLASMA_LINK_LIBS} + "-undefined dynamic_lookup" + ${PTHREAD_LIBRARY}) else(APPLE) target_link_libraries(plasma_java plasma_shared ${PLASMA_LINK_LIBS} ${PTHREAD_LIBRARY}) @@ -204,10 +213,19 @@ function(ADD_PLASMA_TEST REL_TEST_NAME) set(options) set(one_value_args) set(multi_value_args) - cmake_parse_arguments(ARG "${options}" "${one_value_args}" "${multi_value_args}" - ${ARGN}) - add_test_case(${REL_TEST_NAME} PREFIX "plasma" LABELS "plasma-tests" - ${ARG_UNPARSED_ARGUMENTS}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) + add_test_case( + ${REL_TEST_NAME} + PREFIX + "plasma" + LABELS + "plasma-tests" + ${ARG_UNPARSED_ARGUMENTS}) endfunction() if(ARROW_BUILD_SHARED) @@ -217,7 +235,15 @@ else() endif() add_plasma_test(test/serialization_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS}) -add_plasma_test(test/client_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS} EXTRA_DEPENDENCIES - plasma-store-server) -add_plasma_test(test/external_store_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS} - EXTRA_DEPENDENCIES plasma-store-server) +add_plasma_test( + test/client_tests + EXTRA_LINK_LIBS + ${PLASMA_TEST_LIBS} + EXTRA_DEPENDENCIES + plasma-store-server) +add_plasma_test( + test/external_store_tests + EXTRA_LINK_LIBS + ${PLASMA_TEST_LIBS} + EXTRA_DEPENDENCIES + plasma-store-server) From 2b1d79aff5c768b4ae5c86bc168013b6f631c5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 15:53:45 +0200 Subject: [PATCH 4/8] Approximate previous tabulation --- ci/vcpkg/arm64-linux-static-debug.cmake | 7 +- ci/vcpkg/arm64-linux-static-release.cmake | 7 +- cmake-format.py | 7 + cpp/CMakeLists.txt | 36 +- cpp/cmake_modules/BuildUtils.cmake | 94 ++-- cpp/cmake_modules/DefineOptions.cmake | 101 ++--- cpp/cmake_modules/FindArrow.cmake | 99 ++--- .../FindArrowFlightTesting.cmake | 19 +- cpp/cmake_modules/FindArrowPythonFlight.cmake | 15 +- cpp/cmake_modules/FindBrotli.cmake | 105 ++--- cpp/cmake_modules/FindClangTools.cmake | 26 +- cpp/cmake_modules/FindGLOG.cmake | 45 +- cpp/cmake_modules/FindInferTools.cmake | 19 +- cpp/cmake_modules/FindLLVMAlt.cmake | 21 +- cpp/cmake_modules/FindLz4.cmake | 54 ++- cpp/cmake_modules/FindORC.cmake | 36 +- cpp/cmake_modules/FindPython3Alt.cmake | 25 +- cpp/cmake_modules/FindRapidJSONAlt.cmake | 18 +- cpp/cmake_modules/FindSnappy.cmake | 29 +- cpp/cmake_modules/FindThrift.cmake | 62 ++- cpp/cmake_modules/Findc-aresAlt.cmake | 47 +- cpp/cmake_modules/FindgRPCAlt.cmake | 17 +- cpp/cmake_modules/FindgflagsAlt.cmake | 29 +- cpp/cmake_modules/Findjemalloc.cmake | 33 +- cpp/cmake_modules/Findre2Alt.cmake | 59 ++- cpp/cmake_modules/Findutf8proc.cmake | 36 +- cpp/cmake_modules/Findzstd.cmake | 60 ++- cpp/cmake_modules/SetupCxxFlags.cmake | 47 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 407 ++++++++---------- cpp/cmake_modules/Usevcpkg.cmake | 50 +-- cpp/cmake_modules/san-config.cmake | 7 +- cpp/src/arrow/CMakeLists.txt | 352 ++++++++------- cpp/src/arrow/adapters/orc/CMakeLists.txt | 11 +- cpp/src/arrow/compute/CMakeLists.txt | 17 +- cpp/src/arrow/dataset/CMakeLists.txt | 56 ++- cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt | 48 +-- cpp/src/arrow/filesystem/CMakeLists.txt | 13 +- cpp/src/arrow/flight/CMakeLists.txt | 161 ++++--- cpp/src/arrow/gpu/CMakeLists.txt | 35 +- cpp/src/arrow/ipc/CMakeLists.txt | 13 +- cpp/src/arrow/json/CMakeLists.txt | 19 +- cpp/src/arrow/python/CMakeLists.txt | 119 +++-- cpp/src/arrow/util/CMakeLists.txt | 76 ++-- cpp/src/gandiva/CMakeLists.txt | 86 ++-- cpp/src/gandiva/jni/CMakeLists.txt | 43 +- cpp/src/gandiva/precompiled/CMakeLists.txt | 110 +++-- cpp/src/jni/dataset/CMakeLists.txt | 48 +-- cpp/src/jni/orc/CMakeLists.txt | 37 +- cpp/src/parquet/CMakeLists.txt | 99 ++--- cpp/src/plasma/CMakeLists.txt | 96 ++--- java/adapter/orc/CMakeLists.txt | 23 +- java/dataset/CMakeLists.txt | 23 +- java/gandiva/CMakeLists.txt | 47 +- matlab/CMakeLists.txt | 16 +- 54 files changed, 1462 insertions(+), 1703 deletions(-) diff --git a/ci/vcpkg/arm64-linux-static-debug.cmake b/ci/vcpkg/arm64-linux-static-debug.cmake index 34ca4198026..6fea43694cd 100644 --- a/ci/vcpkg/arm64-linux-static-debug.cmake +++ b/ci/vcpkg/arm64-linux-static-debug.cmake @@ -22,8 +22,7 @@ set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_BUILD_TYPE debug) if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process( - COMMAND "uname" "-m" - OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "uname" "-m" + OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/ci/vcpkg/arm64-linux-static-release.cmake b/ci/vcpkg/arm64-linux-static-release.cmake index 55be5ed04ac..4012848b849 100644 --- a/ci/vcpkg/arm64-linux-static-release.cmake +++ b/ci/vcpkg/arm64-linux-static-release.cmake @@ -22,8 +22,7 @@ set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_BUILD_TYPE release) if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process( - COMMAND "uname" "-m" - OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "uname" "-m" + OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/cmake-format.py b/cmake-format.py index c73d9d266f7..a8548ec59da 100644 --- a/cmake-format.py +++ b/cmake-format.py @@ -33,6 +33,13 @@ # then force it to a vertical layout. max_pargs_hwrap = 4 + # If the statement spelling length (including space and parenthesis) is + # smaller than this amount, then force reject nested layouts. + # This value only comes into play when considering whether or not to nest + # arguments below their parent. If the number of characters in the parent + # is less than this value, we will not nest. + min_prefix_chars = 16 + # If true, separate flow control names from their parentheses with a space separate_ctrl_name_with_space = False diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index f59a9318b8c..0d563087484 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -132,26 +132,23 @@ string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_CLANG_TOOLS_VERSION_MAJOR if(APPLE) find_program(BREW_BIN brew) if(BREW_BIN) - execute_process( - COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}" - OUTPUT_VARIABLE LLVM_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix + "llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}" + OUTPUT_VARIABLE LLVM_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT LLVM_BREW_PREFIX) - execute_process( - COMMAND ${BREW_BIN} --prefix llvm - OUTPUT_VARIABLE LLVM_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix llvm + OUTPUT_VARIABLE LLVM_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() - execute_process( - COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_CLANG_TOOLS_VERSION_MAJOR}" - OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_CLANG_TOOLS_VERSION_MAJOR}" + OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT CLANG_TOOLS_BREW_PREFIX) - execute_process( - COMMAND ${BREW_BIN} --prefix llvm - OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix llvm + OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() endif() endif() @@ -230,10 +227,9 @@ if(NOT LINT_EXCLUSIONS_FILE) set(LINT_EXCLUSIONS_FILE ${BUILD_SUPPORT_DIR}/lint_exclusions.txt) endif() -find_program( - CPPLINT_BIN - NAMES cpplint cpplint.py - HINTS ${BUILD_SUPPORT_DIR}) +find_program(CPPLINT_BIN + NAMES cpplint cpplint.py + HINTS ${BUILD_SUPPORT_DIR}) message(STATUS "Found cpplint executable at ${CPPLINT_BIN}") add_custom_target( diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 584abead701..74b46b7eb4a 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -180,10 +180,9 @@ function(create_merged_static_lib output_target) endforeach() file(APPEND ${ar_script_path}.in "SAVE\nEND\n") - file( - GENERATE - OUTPUT ${ar_script_path} - INPUT ${ar_script_path}.in) + file(GENERATE + OUTPUT ${ar_script_path} + INPUT ${ar_script_path}.in) set(ar_tool ${CMAKE_AR}) if(CMAKE_INTERPROCEDURAL_OPTIMIZATION) @@ -214,8 +213,7 @@ function(create_merged_static_lib output_target) COMMENT "Bundling ${output_lib_path}" VERBATIM) - message( - STATUS "Creating bundled static library target ${output_target} at ${output_lib_path}" + message(STATUS "Creating bundled static library target ${output_target} at ${output_lib_path}" ) add_custom_target(${output_target} ALL DEPENDS ${output_lib_path}) @@ -404,14 +402,13 @@ function(ADD_ARROW_LIB LIB_NAME) "${_lib_install_name}") endif() - install( - TARGETS ${LIB_NAME}_shared ${INSTALL_IS_OPTIONAL} - EXPORT ${LIB_NAME}_targets - RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(TARGETS ${LIB_NAME}_shared ${INSTALL_IS_OPTIONAL} + EXPORT ${LIB_NAME}_targets + RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() if(BUILD_STATIC) @@ -460,24 +457,22 @@ function(ADD_ARROW_LIB LIB_NAME) "$") endif() - install( - TARGETS ${LIB_NAME}_static ${INSTALL_IS_OPTIONAL} - EXPORT ${LIB_NAME}_targets - RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(TARGETS ${LIB_NAME}_static ${INSTALL_IS_OPTIONAL} + EXPORT ${LIB_NAME}_targets + RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() if(ARG_CMAKE_PACKAGE_NAME) arrow_install_cmake_find_module("${ARG_CMAKE_PACKAGE_NAME}") set(TARGETS_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Targets.cmake") - install( - EXPORT ${LIB_NAME}_targets - FILE "${TARGETS_CMAKE}" - DESTINATION "${ARROW_CMAKE_INSTALL_DIR}") + install(EXPORT ${LIB_NAME}_targets + FILE "${TARGETS_CMAKE}" + DESTINATION "${ARROW_CMAKE_INSTALL_DIR}") set(CONFIG_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Config.cmake") set(BUILT_CONFIG_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_CMAKE}") @@ -614,17 +609,15 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) set(ARG_LABELS benchmark) endif() - add_test( - ${BENCHMARK_NAME} - ${BUILD_SUPPORT_DIR}/run-test.sh - ${CMAKE_BINARY_DIR} - benchmark - ${BENCHMARK_PATH} - ${NO_COLOR}) - set_property( - TEST ${BENCHMARK_NAME} - APPEND - PROPERTY LABELS ${ARG_LABELS}) + add_test(${BENCHMARK_NAME} + ${BUILD_SUPPORT_DIR}/run-test.sh + ${CMAKE_BINARY_DIR} + benchmark + ${BENCHMARK_PATH} + ${NO_COLOR}) + set_property(TEST ${BENCHMARK_NAME} + APPEND + PROPERTY LABELS ${ARG_LABELS}) endfunction() # @@ -739,23 +732,21 @@ function(ADD_TEST_CASE REL_TEST_NAME) endif() if(ARROW_TEST_MEMCHECK AND NOT ARG_NO_VALGRIND) - add_test( - ${TEST_NAME} - bash - -c - "cd '${CMAKE_SOURCE_DIR}'; \ + add_test(${TEST_NAME} + bash + -c + "cd '${CMAKE_SOURCE_DIR}'; \ valgrind --suppressions=valgrind.supp --tool=memcheck --gen-suppressions=all \ --num-callers=500 --leak-check=full --leak-check-heuristics=stdstring \ --error-exitcode=1 ${TEST_PATH}") elseif(WIN32) add_test(${TEST_NAME} ${TEST_PATH}) else() - add_test( - ${TEST_NAME} - ${BUILD_SUPPORT_DIR}/run-test.sh - ${CMAKE_BINARY_DIR} - test - ${TEST_PATH}) + add_test(${TEST_NAME} + ${BUILD_SUPPORT_DIR}/run-test.sh + ${CMAKE_BINARY_DIR} + test + ${TEST_PATH}) endif() # Add test as dependency of relevant targets @@ -788,10 +779,9 @@ function(ADD_TEST_CASE REL_TEST_NAME) add_dependencies(${LABEL_TEST_NAME} ${TEST_NAME}) endforeach() - set_property( - TEST ${TEST_NAME} - APPEND - PROPERTY LABELS ${LABELS}) + set_property(TEST ${TEST_NAME} + APPEND + PROPERTY LABELS ${LABELS}) endfunction() # diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake index 7134c16548c..f0abfff0e26 100644 --- a/cpp/cmake_modules/DefineOptions.cmake +++ b/cpp/cmake_modules/DefineOptions.cmake @@ -24,9 +24,7 @@ function(check_description_length name description) foreach(description_line ${description}) string(LENGTH ${description_line} line_length) if(${line_length} GREATER 80) - message( - FATAL_ERROR - "description for ${name} contained a\n\ + message(FATAL_ERROR "description for ${name} contained a\n\ line ${line_length} characters long!\n\ (max is 80). Split it into more lines with semicolons") endif() @@ -333,13 +331,13 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_LZ4_USE_SHARED "Rely on lz4 shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) - define_option( - ARROW_OPENSSL_USE_SHARED "Rely on OpenSSL shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option(ARROW_OPENSSL_USE_SHARED + "Rely on OpenSSL shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) - define_option( - ARROW_PROTOBUF_USE_SHARED "Rely on Protocol Buffers shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option(ARROW_PROTOBUF_USE_SHARED + "Rely on Protocol Buffers shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) if(WIN32) # It seems that Thrift doesn't support DLL well yet. @@ -351,16 +349,16 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_THRIFT_USE_SHARED "Rely on thrift shared libraries where relevant" ${ARROW_THRIFT_USE_SHARED_DEFAULT}) - define_option( - ARROW_UTF8PROC_USE_SHARED "Rely on utf8proc shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option(ARROW_UTF8PROC_USE_SHARED + "Rely on utf8proc shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) define_option(ARROW_SNAPPY_USE_SHARED "Rely on snappy shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) - define_option( - ARROW_UTF8PROC_USE_SHARED "Rely on utf8proc shared libraries where relevant" - ${ARROW_DEPENDENCY_USE_SHARED}) + define_option(ARROW_UTF8PROC_USE_SHARED + "Rely on utf8proc shared libraries where relevant" + ${ARROW_DEPENDENCY_USE_SHARED}) define_option(ARROW_ZSTD_USE_SHARED "Rely on zstd shared libraries where relevant" ${ARROW_DEPENDENCY_USE_SHARED}) @@ -377,22 +375,20 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_WITH_ZLIB "Build with zlib compression" OFF) define_option(ARROW_WITH_ZSTD "Build with zstd compression" OFF) - define_option( - ARROW_WITH_UTF8PROC - "Build with support for Unicode properties using the utf8proc library;(only used if ARROW_COMPUTE is ON or ARROW_GANDIVA is ON)" - ON) - define_option( - ARROW_WITH_RE2 - "Build with support for regular expressions using the re2 library;(only used if ARROW_COMPUTE or ARROW_GANDIVA is ON)" - ON) + define_option(ARROW_WITH_UTF8PROC + "Build with support for Unicode properties using the utf8proc library;(only used if ARROW_COMPUTE is ON or ARROW_GANDIVA is ON)" + ON) + define_option(ARROW_WITH_RE2 + "Build with support for regular expressions using the re2 library;(only used if ARROW_COMPUTE or ARROW_GANDIVA is ON)" + ON) #---------------------------------------------------------------------- if(MSVC_TOOLCHAIN) set_option_category("MSVC") - define_option( - MSVC_LINK_VERBOSE - "Pass verbose linking options when linking libraries and executables" OFF) + define_option(MSVC_LINK_VERBOSE + "Pass verbose linking options when linking libraries and executables" + OFF) define_option_string(BROTLI_MSVC_STATIC_LIB_SUFFIX "Brotli static lib suffix used on Windows with MSVC" "-static") @@ -426,13 +422,13 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") #---------------------------------------------------------------------- set_option_category("Parquet") - define_option( - PARQUET_MINIMAL_DEPENDENCY "Depend only on Thirdparty headers to build libparquet.;\ + define_option(PARQUET_MINIMAL_DEPENDENCY + "Depend only on Thirdparty headers to build libparquet.;\ Always OFF if building binaries" OFF) - define_option( - PARQUET_BUILD_EXECUTABLES - "Build the Parquet executable CLI tools. Requires static libraries to be built." OFF) + define_option(PARQUET_BUILD_EXECUTABLES + "Build the Parquet executable CLI tools. Requires static libraries to be built." + OFF) define_option(PARQUET_BUILD_EXAMPLES "Build the Parquet examples. Requires static libraries to be built." OFF) @@ -446,10 +442,9 @@ Always OFF if building binaries" OFF) define_option(ARROW_GANDIVA_JAVA "Build the Gandiva JNI wrappers" OFF) # ARROW-3860: Temporary workaround - define_option( - ARROW_GANDIVA_STATIC_LIBSTDCPP - "Include -static-libstdc++ -static-libgcc when linking with;Gandiva static libraries" - OFF) + define_option(ARROW_GANDIVA_STATIC_LIBSTDCPP + "Include -static-libstdc++ -static-libgcc when linking with;Gandiva static libraries" + OFF) define_option_string( ARROW_GANDIVA_PC_CXX_FLAGS @@ -461,12 +456,11 @@ Always OFF if building binaries" OFF) define_option(ARROW_EXTRA_ERROR_CONTEXT "Compile with extra error context (line numbers, code)" OFF) - define_option( - ARROW_OPTIONAL_INSTALL - "If enabled install ONLY targets that have already been built. Please be;\ + define_option(ARROW_OPTIONAL_INSTALL + "If enabled install ONLY targets that have already been built. Please be;\ advised that if this is enabled 'install' will fail silently on components;\ that have not been built" - OFF) + OFF) option(ARROW_BUILD_CONFIG_SUMMARY_JSON "Summarize build configuration in a JSON file" ON) @@ -481,9 +475,8 @@ macro(validate_config) set(value "${${name}}") if(possible_values) if(NOT "${value}" IN_LIST possible_values) - message( - FATAL_ERROR "Configuration option ${name} got invalid value '${value}'. " - "Allowed values: ${${name}_OPTION_ENUM}.") + message(FATAL_ERROR "Configuration option ${name} got invalid value '${value}'. " + "Allowed values: ${${name}_OPTION_ENUM}.") endif() endif() endforeach() @@ -502,8 +495,8 @@ macro(config_summary_message) message(STATUS " Source directory: ${CMAKE_CURRENT_SOURCE_DIR}") message(STATUS " Install prefix: ${CMAKE_INSTALL_PREFIX}") if(${CMAKE_EXPORT_COMPILE_COMMANDS}) - message( - STATUS " Compile commands: ${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json") + message(STATUS " Compile commands: ${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json" + ) endif() foreach(category ${ARROW_OPTION_CATEGORIES}) @@ -581,17 +574,15 @@ endmacro() # Compute default values for omitted variables if(NOT ARROW_GIT_ID) - execute_process( - COMMAND "git" "log" "-n1" "--format=%H" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE ARROW_GIT_ID - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "git" "log" "-n1" "--format=%H" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE ARROW_GIT_ID + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() if(NOT ARROW_GIT_DESCRIPTION) - execute_process( - COMMAND "git" "describe" "--tags" "--dirty" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ERROR_QUIET - OUTPUT_VARIABLE ARROW_GIT_DESCRIPTION - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "git" "describe" "--tags" "--dirty" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ERROR_QUIET + OUTPUT_VARIABLE ARROW_GIT_DESCRIPTION + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() diff --git a/cpp/cmake_modules/FindArrow.cmake b/cpp/cmake_modules/FindArrow.cmake index 532d08be898..c8271f10b56 100644 --- a/cpp/cmake_modules/FindArrow.cmake +++ b/cpp/cmake_modules/FindArrow.cmake @@ -50,13 +50,12 @@ set(ARROW_SEARCH_LIB_PATH_SUFFIXES) if(CMAKE_LIBRARY_ARCHITECTURE) list(APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}") endif() -list( - APPEND - ARROW_SEARCH_LIB_PATH_SUFFIXES - "lib64" - "lib32" - "lib" - "bin") +list(APPEND + ARROW_SEARCH_LIB_PATH_SUFFIXES + "lib64" + "lib32" + "lib" + "bin") set(ARROW_CONFIG_SUFFIXES "_RELEASE" "_RELWITHDEBINFO" @@ -150,11 +149,10 @@ endfunction() # # Find package in HOME. macro(arrow_find_package_home) - find_path( - ${prefix}_include_dir "${header_path}" - PATHS "${home}" - PATH_SUFFIXES "include" - NO_DEFAULT_PATH) + find_path(${prefix}_include_dir "${header_path}" + PATHS "${home}" + PATH_SUFFIXES "include" + NO_DEFAULT_PATH) set(include_dir "${${prefix}_include_dir}") set(${prefix}_INCLUDE_DIR "${include_dir}" @@ -166,12 +164,11 @@ macro(arrow_find_package_home) # CMAKE_FIND_LIBRARY_SUFFIXES. list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_SHARED_LIBRARY_SUFFIX}") endif() - find_library( - ${prefix}_shared_lib - NAMES "${shared_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(${prefix}_shared_lib + NAMES "${shared_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) if(MSVC_TOOLCHAIN) set(CMAKE_SHARED_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_ORIGINAL}) endif() @@ -186,12 +183,11 @@ macro(arrow_find_package_home) set_target_properties(${target_shared} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}") endif() - find_library( - ${prefix}_import_lib - NAMES "${import_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(${prefix}_import_lib + NAMES "${import_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) set(import_lib "${${prefix}_import_lib}") set(${prefix}_IMPORT_LIB "${import_lib}" @@ -201,12 +197,11 @@ macro(arrow_find_package_home) endif() endif() - find_library( - ${prefix}_static_lib - NAMES "${static_lib_name}" - PATHS "${home}" - PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(${prefix}_static_lib + NAMES "${static_lib_name}" + PATHS "${home}" + PATH_SUFFIXES ${ARROW_SEARCH_LIB_PATH_SUFFIXES} + NO_DEFAULT_PATH) set(static_lib "${${prefix}_static_lib}") set(${prefix}_STATIC_LIB "${static_lib}" @@ -285,12 +280,11 @@ macro(arrow_find_package_pkg_config) if(n_shared_lib_paths LESS_EQUAL 1) set(rest_shared_lib_paths) else() - list( - SUBLIST - shared_lib_paths - 1 - -1 - rest_shared_lib_paths) + list(SUBLIST + shared_lib_paths + 1 + -1 + rest_shared_lib_paths) endif() set(${prefix}_VERSION @@ -311,11 +305,10 @@ macro(arrow_find_package_pkg_config) IMPORTED_LOCATION "${first_shared_lib_path}") get_target_property(shared_lib ${target_shared} IMPORTED_LOCATION) - find_library( - ${prefix}_static_lib - NAMES "${static_lib_name}" - PATHS "${lib_dir}" - NO_DEFAULT_PATH) + find_library(${prefix}_static_lib + NAMES "${static_lib_name}" + PATHS "${lib_dir}" + NO_DEFAULT_PATH) set(static_lib "${${prefix}_static_lib}") set(${prefix}_STATIC_LIB "${static_lib}" @@ -329,14 +322,13 @@ macro(arrow_find_package_pkg_config) endif() endmacro() -function( - arrow_find_package - prefix - home - base_name - header_path - cmake_package_name - pkg_config_name) +function(arrow_find_package + prefix + home + base_name + header_path + cmake_package_name + pkg_config_name) arrow_build_shared_library_name(shared_lib_name ${base_name}) arrow_build_import_library_name(import_lib_name ${base_name}) arrow_build_static_library_name(static_lib_name ${base_name}) @@ -460,11 +452,10 @@ mark_as_advanced( find_package_handle_standard_args( Arrow - REQUIRED_VARS - # The first required variable is shown - # in the found message. So this list is - # not sorted alphabetically. - ARROW_INCLUDE_DIR ARROW_LIB_DIR ARROW_FULL_SO_VERSION ARROW_SO_VERSION + REQUIRED_VARS # The first required variable is shown + # in the found message. So this list is + # not sorted alphabetically. + ARROW_INCLUDE_DIR ARROW_LIB_DIR ARROW_FULL_SO_VERSION ARROW_SO_VERSION VERSION_VAR ARROW_VERSION) set(ARROW_FOUND ${Arrow_FOUND}) diff --git a/cpp/cmake_modules/FindArrowFlightTesting.cmake b/cpp/cmake_modules/FindArrowFlightTesting.cmake index a8c40b08ea4..e039cf0f9e1 100644 --- a/cpp/cmake_modules/FindArrowFlightTesting.cmake +++ b/cpp/cmake_modules/FindArrowFlightTesting.cmake @@ -89,15 +89,12 @@ find_package_handle_standard_args( set(ARROW_FLIGHT_TESTING_FOUND ${ArrowFlightTesting_FOUND}) if(ArrowFlightTesting_FOUND AND NOT ArrowFlightTesting_FIND_QUIETLY) - message( - STATUS "Found the Arrow Flight testing by ${ARROW_FLIGHT_TESTING_FIND_APPROACH}") - message( - STATUS - "Found the Arrow Flight testing shared library: ${ARROW_FLIGHT_TESTING_SHARED_LIB}") - message( - STATUS - "Found the Arrow Flight testing import library: ${ARROW_FLIGHT_TESTING_IMPORT_LIB}") - message( - STATUS - "Found the Arrow Flight testing static library: ${ARROW_FLIGHT_TESTING_STATIC_LIB}") + message(STATUS "Found the Arrow Flight testing by ${ARROW_FLIGHT_TESTING_FIND_APPROACH}" + ) + message(STATUS "Found the Arrow Flight testing shared library: ${ARROW_FLIGHT_TESTING_SHARED_LIB}" + ) + message(STATUS "Found the Arrow Flight testing import library: ${ARROW_FLIGHT_TESTING_IMPORT_LIB}" + ) + message(STATUS "Found the Arrow Flight testing static library: ${ARROW_FLIGHT_TESTING_STATIC_LIB}" + ) endif() diff --git a/cpp/cmake_modules/FindArrowPythonFlight.cmake b/cpp/cmake_modules/FindArrowPythonFlight.cmake index 400fe388cb1..f88d5a81c87 100644 --- a/cpp/cmake_modules/FindArrowPythonFlight.cmake +++ b/cpp/cmake_modules/FindArrowPythonFlight.cmake @@ -87,13 +87,10 @@ set(ARROW_PYTHON_FLIGHT_FOUND ${ArrowPythonFlight_FOUND}) if(ArrowPythonFlight_FOUND AND NOT ArrowPythonFlight_FIND_QUIETLY) message(STATUS "Found the Arrow Python Flight by ${ARROW_PYTHON_FLIGHT_FIND_APPROACH}") - message( - STATUS - "Found the Arrow Python Flight shared library: ${ARROW_PYTHON_FLIGHT_SHARED_LIB}") - message( - STATUS - "Found the Arrow Python Flight import library: ${ARROW_PYTHON_FLIGHT_IMPORT_LIB}") - message( - STATUS - "Found the Arrow Python Flight static library: ${ARROW_PYTHON_FLIGHT_STATIC_LIB}") + message(STATUS "Found the Arrow Python Flight shared library: ${ARROW_PYTHON_FLIGHT_SHARED_LIB}" + ) + message(STATUS "Found the Arrow Python Flight import library: ${ARROW_PYTHON_FLIGHT_IMPORT_LIB}" + ) + message(STATUS "Found the Arrow Python Flight static library: ${ARROW_PYTHON_FLIGHT_STATIC_LIB}" + ) endif() diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake index 4db384be2c9..1b007b17b17 100644 --- a/cpp/cmake_modules/FindBrotli.cmake +++ b/cpp/cmake_modules/FindBrotli.cmake @@ -48,30 +48,26 @@ else() endif() if(BROTLI_ROOT) - find_library( - BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library( - BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library( - BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - BROTLI_INCLUDE_DIR - NAMES brotli/decode.h - PATHS ${BROTLI_ROOT} - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library(BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library(BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(BROTLI_INCLUDE_DIR + NAMES brotli/decode.h + PATHS ${BROTLI_ROOT} + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} + NO_DEFAULT_PATH) else() find_package(PkgConfig QUIET) pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) @@ -83,41 +79,34 @@ else() list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlienc_LIBDIR}") list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlidec_LIBDIR}") - find_library( - BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library( - BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_library( - BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATHS ${BROTLI_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library(BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_library(BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATHS ${BROTLI_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) else() - find_library( - BROTLI_COMMON_LIBRARY - NAMES ${BROTLI_COMMON_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_library( - BROTLI_ENC_LIBRARY - NAMES ${BROTLI_ENC_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_library( - BROTLI_DEC_LIBRARY - NAMES ${BROTLI_DEC_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - BROTLI_INCLUDE_DIR - NAMES brotli/decode.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(BROTLI_COMMON_LIBRARY + NAMES ${BROTLI_COMMON_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library(BROTLI_ENC_LIBRARY + NAMES ${BROTLI_ENC_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library(BROTLI_DEC_LIBRARY + NAMES ${BROTLI_DEC_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(BROTLI_INCLUDE_DIR + NAMES brotli/decode.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() diff --git a/cpp/cmake_modules/FindClangTools.cmake b/cpp/cmake_modules/FindClangTools.cmake index 50c69dc7e89..52fc59895b8 100644 --- a/cpp/cmake_modules/FindClangTools.cmake +++ b/cpp/cmake_modules/FindClangTools.cmake @@ -47,24 +47,22 @@ endif() function(FIND_CLANG_TOOL NAME OUTPUT VERSION_CHECK_PATTERN) unset(CLANG_TOOL_BIN CACHE) - find_program( - CLANG_TOOL_BIN - NAMES ${NAME}-${ARROW_CLANG_TOOLS_VERSION} ${NAME}-${ARROW_CLANG_TOOLS_VERSION_MAJOR} - PATHS ${CLANG_TOOLS_SEARCH_PATHS} - NO_DEFAULT_PATH) + find_program(CLANG_TOOL_BIN + NAMES ${NAME}-${ARROW_CLANG_TOOLS_VERSION} + ${NAME}-${ARROW_CLANG_TOOLS_VERSION_MAJOR} + PATHS ${CLANG_TOOLS_SEARCH_PATHS} + NO_DEFAULT_PATH) if(NOT CLANG_TOOL_BIN) # try searching for non-versioned tool and check the version - find_program( - CLANG_TOOL_BIN - NAMES ${NAME} - PATHS ${CLANG_TOOLS_SEARCH_PATHS} - NO_DEFAULT_PATH) + find_program(CLANG_TOOL_BIN + NAMES ${NAME} + PATHS ${CLANG_TOOLS_SEARCH_PATHS} + NO_DEFAULT_PATH) if(CLANG_TOOL_BIN) unset(CLANG_TOOL_VERSION_MESSAGE) - execute_process( - COMMAND ${CLANG_TOOL_BIN} "-version" - OUTPUT_VARIABLE CLANG_TOOL_VERSION_MESSAGE - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CLANG_TOOL_BIN} "-version" + OUTPUT_VARIABLE CLANG_TOOL_VERSION_MESSAGE + OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT (${CLANG_TOOL_VERSION_MESSAGE} MATCHES ${VERSION_CHECK_PATTERN})) set(CLANG_TOOL_BIN "CLANG_TOOL_BIN-NOTFOUND") endif() diff --git a/cpp/cmake_modules/FindGLOG.cmake b/cpp/cmake_modules/FindGLOG.cmake index 65aa7c4fb57..78733e29cb3 100644 --- a/cpp/cmake_modules/FindGLOG.cmake +++ b/cpp/cmake_modules/FindGLOG.cmake @@ -22,33 +22,28 @@ pkg_check_modules(GLOG_PC libglog) if(GLOG_PC_FOUND) set(GLOG_INCLUDE_DIR "${GLOG_PC_INCLUDEDIR}") list(APPEND GLOG_PC_LIBRARY_DIRS "${GLOG_PC_LIBDIR}") - find_library( - GLOG_LIB glog - PATHS ${GLOG_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(GLOG_LIB glog + PATHS ${GLOG_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) elseif(GLOG_ROOT) - find_library( - GLOG_LIB - NAMES glog - PATHS ${GLOG_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - GLOG_INCLUDE_DIR - NAMES glog/logging.h - PATHS ${GLOG_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(GLOG_LIB + NAMES glog + PATHS ${GLOG_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(GLOG_INCLUDE_DIR + NAMES glog/logging.h + PATHS ${GLOG_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library( - GLOG_LIB - NAMES glog - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - GLOG_INCLUDE_DIR - NAMES glog/logging.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(GLOG_LIB + NAMES glog + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(GLOG_INCLUDE_DIR + NAMES glog/logging.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(GLOG REQUIRED_VARS GLOG_INCLUDE_DIR GLOG_LIB) diff --git a/cpp/cmake_modules/FindInferTools.cmake b/cpp/cmake_modules/FindInferTools.cmake index d63107b80ca..c4b65653ae9 100644 --- a/cpp/cmake_modules/FindInferTools.cmake +++ b/cpp/cmake_modules/FindInferTools.cmake @@ -28,16 +28,15 @@ # INFER_BIN, The path to the infer binary # INFER_FOUND, Whether infer was found -find_program( - INFER_BIN - NAMES infer - PATHS ${InferTools_PATH} - $ENV{INFER_TOOLS_PATH} - /usr/local/bin - /usr/bin - /usr/local/homebrew/bin - /opt/local/bin - NO_DEFAULT_PATH) +find_program(INFER_BIN + NAMES infer + PATHS ${InferTools_PATH} + $ENV{INFER_TOOLS_PATH} + /usr/local/bin + /usr/bin + /usr/local/homebrew/bin + /opt/local/bin + NO_DEFAULT_PATH) if("${INFER_BIN}" STREQUAL "INFER_BIN-NOTFOUND") set(INFER_FOUND 0) diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake index ca865745aaf..1ec58f852de 100644 --- a/cpp/cmake_modules/FindLLVMAlt.cmake +++ b/cpp/cmake_modules/FindLLVMAlt.cmake @@ -24,12 +24,11 @@ if(LLVM_BREW_PREFIX) list(APPEND LLVM_HINTS ${LLVM_BREW_PREFIX}) endif() foreach(ARROW_LLVM_VERSION ${ARROW_LLVM_VERSIONS}) - find_package( - LLVM - ${ARROW_LLVM_VERSION} - CONFIG - HINTS - ${LLVM_HINTS}) + find_package(LLVM + ${ARROW_LLVM_VERSION} + CONFIG + HINTS + ${LLVM_HINTS}) if(LLVM_FOUND) break() endif() @@ -51,11 +50,11 @@ if(LLVM_FOUND) find_program(LLVM_LINK_EXECUTABLE llvm-link HINTS ${LLVM_TOOLS_BINARY_DIR}) - find_program( - CLANG_EXECUTABLE - NAMES clang-${LLVM_PACKAGE_VERSION} clang-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} - clang-${LLVM_VERSION_MAJOR} clang - HINTS ${LLVM_TOOLS_BINARY_DIR}) + find_program(CLANG_EXECUTABLE + NAMES clang-${LLVM_PACKAGE_VERSION} + clang-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} + clang-${LLVM_VERSION_MAJOR} clang + HINTS ${LLVM_TOOLS_BINARY_DIR}) add_library(LLVM::LLVM_INTERFACE INTERFACE IMPORTED) diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake index e68bdd385f5..1c5c6240a0f 100644 --- a/cpp/cmake_modules/FindLz4.cmake +++ b/cpp/cmake_modules/FindLz4.cmake @@ -23,9 +23,10 @@ set(LZ4_LIB_NAME_BASE "${LZ4_MSVC_LIB_PREFIX}lz4") if(ARROW_LZ4_USE_SHARED) set(LZ4_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) - list( - APPEND LZ4_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}") + list(APPEND + LZ4_LIB_NAMES + "${CMAKE_IMPORT_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + ) endif() list(APPEND LZ4_LIB_NAMES "${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") @@ -39,18 +40,16 @@ else() endif() if(LZ4_ROOT) - find_library( - LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATHS ${LZ4_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - LZ4_INCLUDE_DIR - NAMES lz4.h - PATHS ${LZ4_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATHS ${LZ4_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(LZ4_INCLUDE_DIR + NAMES lz4.h + PATHS ${LZ4_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_package(PkgConfig QUIET) @@ -59,21 +58,18 @@ else() set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}") list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}") - find_library( - LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATHS ${LZ4_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library(LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATHS ${LZ4_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) else() - find_library( - LZ4_LIB - NAMES ${LZ4_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - LZ4_INCLUDE_DIR - NAMES lz4.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(LZ4_LIB + NAMES ${LZ4_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(LZ4_INCLUDE_DIR + NAMES lz4.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() diff --git a/cpp/cmake_modules/FindORC.cmake b/cpp/cmake_modules/FindORC.cmake index fc4c29c6d1b..572d46b9e52 100644 --- a/cpp/cmake_modules/FindORC.cmake +++ b/cpp/cmake_modules/FindORC.cmake @@ -22,27 +22,23 @@ # ORC_FOUND, whether orc has been found if(ORC_ROOT) - find_library( - ORC_STATIC_LIB - NAMES orc - PATHS ${ORC_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - ORC_INCLUDE_DIR - NAMES orc/orc-config.hh - PATHS ${ORC_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(ORC_STATIC_LIB + NAMES orc + PATHS ${ORC_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(ORC_INCLUDE_DIR + NAMES orc/orc-config.hh + PATHS ${ORC_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library( - ORC_STATIC_LIB - NAMES orc - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - ORC_INCLUDE_DIR - NAMES orc/orc-config.hh - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(ORC_STATIC_LIB + NAMES orc + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(ORC_INCLUDE_DIR + NAMES orc/orc-config.hh + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() if(ORC_STATIC_LIB AND ORC_INCLUDE_DIR) diff --git a/cpp/cmake_modules/FindPython3Alt.cmake b/cpp/cmake_modules/FindPython3Alt.cmake index 89b9fffc639..ab91c7be052 100644 --- a/cpp/cmake_modules/FindPython3Alt.cmake +++ b/cpp/cmake_modules/FindPython3Alt.cmake @@ -43,19 +43,17 @@ if(${CMAKE_VERSION} VERSION_LESS "3.18.0" OR ARROW_BUILD_TESTS) # the full "Development" component. Also ask for it on CMake < 3.18, # where "Development.Module" is not available. if(Python3Alt_FIND_REQUIRED) - find_package( - Python3 - COMPONENTS Interpreter Development NumPy - REQUIRED) + find_package(Python3 + COMPONENTS Interpreter Development NumPy + REQUIRED) else() find_package(Python3 COMPONENTS Interpreter Development NumPy) endif() else() if(Python3Alt_FIND_REQUIRED) - find_package( - Python3 - COMPONENTS Interpreter Development.Module NumPy - REQUIRED) + find_package(Python3 + COMPONENTS Interpreter Development.Module NumPy + REQUIRED) else() find_package(Python3 COMPONENTS Interpreter Development.Module NumPy) endif() @@ -75,12 +73,11 @@ get_target_property(NUMPY_INCLUDE_DIRS Python3::NumPy INTERFACE_INCLUDE_DIRECTOR # CMake's python3_add_library() doesn't apply the required extension suffix, # detect it ourselves. # (https://gitlab.kitware.com/cmake/cmake/issues/20408) -execute_process( - COMMAND "${PYTHON_EXECUTABLE}" "-c" - "from distutils import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" - RESULT_VARIABLE _PYTHON_RESULT - OUTPUT_VARIABLE _PYTHON_STDOUT - ERROR_VARIABLE _PYTHON_STDERR) +execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" + "from distutils import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" + RESULT_VARIABLE _PYTHON_RESULT + OUTPUT_VARIABLE _PYTHON_STDOUT + ERROR_VARIABLE _PYTHON_STDERR) if(NOT _PYTHON_RESULT MATCHES 0) if(Python3Alt_FIND_REQUIRED) diff --git a/cpp/cmake_modules/FindRapidJSONAlt.cmake b/cpp/cmake_modules/FindRapidJSONAlt.cmake index 4d51967c4eb..9a449a5280e 100644 --- a/cpp/cmake_modules/FindRapidJSONAlt.cmake +++ b/cpp/cmake_modules/FindRapidJSONAlt.cmake @@ -30,17 +30,15 @@ if(RapidJSON_FOUND) endif() if(RapidJSON_ROOT) - find_path( - RAPIDJSON_INCLUDE_DIR - NAMES rapidjson/rapidjson.h - PATHS ${RapidJSON_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES "include") + find_path(RAPIDJSON_INCLUDE_DIR + NAMES rapidjson/rapidjson.h + PATHS ${RapidJSON_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES "include") else() - find_path( - RAPIDJSON_INCLUDE_DIR - NAMES rapidjson/rapidjson.h - PATH_SUFFIXES "include") + find_path(RAPIDJSON_INCLUDE_DIR + NAMES rapidjson/rapidjson.h + PATH_SUFFIXES "include") endif() if(RAPIDJSON_INCLUDE_DIR) diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake index e7661e1ef82..08face8d22c 100644 --- a/cpp/cmake_modules/FindSnappy.cmake +++ b/cpp/cmake_modules/FindSnappy.cmake @@ -35,24 +35,21 @@ else() endif() if(Snappy_ROOT) - find_library( - Snappy_LIB - NAMES ${SNAPPY_LIB_NAMES} - PATHS ${Snappy_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - Snappy_INCLUDE_DIR - NAMES snappy.h - PATHS ${Snappy_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(Snappy_LIB + NAMES ${SNAPPY_LIB_NAMES} + PATHS ${Snappy_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(Snappy_INCLUDE_DIR + NAMES snappy.h + PATHS ${Snappy_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_library(Snappy_LIB NAMES ${SNAPPY_LIB_NAMES}) - find_path( - Snappy_INCLUDE_DIR - NAMES snappy.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path(Snappy_INCLUDE_DIR + NAMES snappy.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(Snappy REQUIRED_VARS Snappy_LIB Snappy_INCLUDE_DIR) diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake index dd1020ade36..4f29d0d2de8 100644 --- a/cpp/cmake_modules/FindThrift.cmake +++ b/cpp/cmake_modules/FindThrift.cmake @@ -57,15 +57,15 @@ set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}") if(ARROW_THRIFT_USE_SHARED) set(THRIFT_LIB_NAMES thrift) if(CMAKE_IMPORT_LIBRARY_SUFFIX) - list( - APPEND - THRIFT_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + list(APPEND + THRIFT_LIB_NAMES + "${CMAKE_IMPORT_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" ) endif() - list( - APPEND THRIFT_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + list(APPEND + THRIFT_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}" + ) else() set(THRIFT_LIB_NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${THRIFT_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}" @@ -73,19 +73,16 @@ else() endif() if(Thrift_ROOT) - find_library( - THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATHS ${Thrift_ROOT} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") - find_path( - THRIFT_INCLUDE_DIR thrift/Thrift.h - PATHS ${Thrift_ROOT} - PATH_SUFFIXES "include") - find_program( - THRIFT_COMPILER thrift - PATHS ${Thrift_ROOT} - PATH_SUFFIXES "bin") + find_library(THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "include") + find_program(THRIFT_COMPILER thrift + PATHS ${Thrift_ROOT} + PATH_SUFFIXES "bin") extract_thrift_version() else() # THRIFT-4760: The pkgconfig files are currently only installed when using autotools. @@ -97,22 +94,19 @@ else() list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}") - find_library( - THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATHS ${THRIFT_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH) - find_program( - THRIFT_COMPILER thrift - HINTS ${THRIFT_PC_PREFIX} - NO_DEFAULT_PATH - PATH_SUFFIXES "bin") + find_library(THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATHS ${THRIFT_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH) + find_program(THRIFT_COMPILER thrift + HINTS ${THRIFT_PC_PREFIX} + NO_DEFAULT_PATH + PATH_SUFFIXES "bin") set(THRIFT_VERSION ${THRIFT_PC_VERSION}) else() - find_library( - THRIFT_LIB - NAMES ${THRIFT_LIB_NAMES} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_library(THRIFT_LIB + NAMES ${THRIFT_LIB_NAMES} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include") find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin") extract_thrift_version() diff --git a/cpp/cmake_modules/Findc-aresAlt.cmake b/cpp/cmake_modules/Findc-aresAlt.cmake index 81f51e840e9..edc0d41eaf9 100644 --- a/cpp/cmake_modules/Findc-aresAlt.cmake +++ b/cpp/cmake_modules/Findc-aresAlt.cmake @@ -34,33 +34,30 @@ if(c-ares_PC_FOUND) set(c-ares_INCLUDE_DIR "${c-ares_PC_INCLUDEDIR}") list(APPEND c-ares_PC_LIBRARY_DIRS "${c-ares_PC_LIBDIR}") - find_library( - c-ares_LIB cares - PATHS ${c-ares_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(c-ares_LIB cares + PATHS ${c-ares_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) elseif(c-ares_ROOT) - find_library( - c-ares_LIB - NAMES cares "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATHS ${c-ares_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - c-ares_INCLUDE_DIR - NAMES ares.h - PATHS ${c-ares_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(c-ares_LIB + NAMES cares + "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATHS ${c-ares_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(c-ares_INCLUDE_DIR + NAMES ares.h + PATHS ${c-ares_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library( - c-ares_LIB - NAMES cares "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - c-ares_INCLUDE_DIR - NAMES ares.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(c-ares_LIB + NAMES cares + "${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(c-ares_INCLUDE_DIR + NAMES ares.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(c-aresAlt REQUIRED_VARS c-ares_LIB c-ares_INCLUDE_DIR) diff --git a/cpp/cmake_modules/FindgRPCAlt.cmake b/cpp/cmake_modules/FindgRPCAlt.cmake index 454452777e6..da66fe26e42 100644 --- a/cpp/cmake_modules/FindgRPCAlt.cmake +++ b/cpp/cmake_modules/FindgRPCAlt.cmake @@ -36,11 +36,9 @@ if(GRPCPP_PC_FOUND) else() set(GRPCPP_LINK_LIBRARIES) foreach(GRPCPP_LIBRARY_NAME ${GRPCPP_PC_STATIC_LIBRARIES}) - find_library( - GRPCPP_LIBRARY_${GRPCPP_LIBRARY_NAME} - NAMES - "${CMAKE_STATIC_LIBRARY_PREFIX}${GRPCPP_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" - HINTS ${GRPCPP_PC_STATIC_LIBRARY_DIRS}) + find_library(GRPCPP_LIBRARY_${GRPCPP_LIBRARY_NAME} + NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${GRPCPP_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" + HINTS ${GRPCPP_PC_STATIC_LIBRARY_DIRS}) list(APPEND GRPCPP_LINK_LIBRARIES "${GRPCPP_LIBRARY_${GRPCPP_LIBRARY_NAME}}") endforeach() set(GRPCPP_LINK_OPTIONS ${GRPCPP_PC_STATIC_LDFLAGS_OTHER}) @@ -48,11 +46,10 @@ if(GRPCPP_PC_FOUND) endif() list(GET GRPCPP_LINK_LIBRARIES 0 GRPCPP_IMPORTED_LOCATION) list(REMOVE_AT GRPCPP_LINK_LIBRARIES 0) - find_program( - GRPC_CPP_PLUGIN grpc_cpp_plugin - HINTS ${GRPCPP_PC_PREFIX} - NO_DEFAULT_PATH - PATH_SUFFIXES "bin") + find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin + HINTS ${GRPCPP_PC_PREFIX} + NO_DEFAULT_PATH + PATH_SUFFIXES "bin") set(gRPCAlt_FIND_PACKAGE_ARGS gRPCAlt REQUIRED_VARS GRPCPP_IMPORTED_LOCATION GRPC_CPP_PLUGIN) if(gRPCAlt_VERSION) diff --git a/cpp/cmake_modules/FindgflagsAlt.cmake b/cpp/cmake_modules/FindgflagsAlt.cmake index 954dff22e1f..7005ae1c703 100644 --- a/cpp/cmake_modules/FindgflagsAlt.cmake +++ b/cpp/cmake_modules/FindgflagsAlt.cmake @@ -31,24 +31,21 @@ endif() # TODO: Support version detection. if(gflags_ROOT) - find_library( - gflags_LIB - NAMES gflags - PATHS ${gflags_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - GFLAGS_INCLUDE_DIR - NAMES gflags/gflags.h - PATHS ${gflags_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(gflags_LIB + NAMES gflags + PATHS ${gflags_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(GFLAGS_INCLUDE_DIR + NAMES gflags/gflags.h + PATHS ${gflags_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() find_library(gflags_LIB NAMES gflags) - find_path( - GFLAGS_INCLUDE_DIR - NAMES gflags/gflags.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_path(GFLAGS_INCLUDE_DIR + NAMES gflags/gflags.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCLUDE_DIR) diff --git a/cpp/cmake_modules/Findjemalloc.cmake b/cpp/cmake_modules/Findjemalloc.cmake index 3ee020218fe..84bb81fcba2 100644 --- a/cpp/cmake_modules/Findjemalloc.cmake +++ b/cpp/cmake_modules/Findjemalloc.cmake @@ -41,24 +41,21 @@ set(LIBJEMALLOC_NAMES jemalloc libjemalloc.so.1 libjemalloc.so.2 libjemalloc.dyl # Try the parameterized roots, if they exist if(_jemalloc_roots) - find_path( - JEMALLOC_INCLUDE_DIR - NAMES jemalloc/jemalloc.h - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "include") - find_library( - JEMALLOC_SHARED_LIB - NAMES ${LIBJEMALLOC_NAMES} - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "lib") - find_library( - JEMALLOC_STATIC_LIB - NAMES jemalloc_pic - PATHS ${_jemalloc_roots} - NO_DEFAULT_PATH - PATH_SUFFIXES "lib") + find_path(JEMALLOC_INCLUDE_DIR + NAMES jemalloc/jemalloc.h + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "include") + find_library(JEMALLOC_SHARED_LIB + NAMES ${LIBJEMALLOC_NAMES} + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib") + find_library(JEMALLOC_STATIC_LIB + NAMES jemalloc_pic + PATHS ${_jemalloc_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib") else() find_path(JEMALLOC_INCLUDE_DIR NAMES jemalloc/jemalloc.h) message(STATUS ${JEMALLOC_INCLUDE_DIR}) diff --git a/cpp/cmake_modules/Findre2Alt.cmake b/cpp/cmake_modules/Findre2Alt.cmake index 8acc3838eeb..afd72478ce6 100644 --- a/cpp/cmake_modules/Findre2Alt.cmake +++ b/cpp/cmake_modules/Findre2Alt.cmake @@ -34,11 +34,10 @@ if(RE2_PC_FOUND) set(RE2_INCLUDE_DIR "${RE2_PC_INCLUDEDIR}") list(APPEND RE2_PC_LIBRARY_DIRS "${RE2_PC_LIBDIR}") - find_library( - RE2_LIB re2 - PATHS ${RE2_PC_LIBRARY_DIRS} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) + find_library(RE2_LIB re2 + PATHS ${RE2_PC_LIBRARY_DIRS} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) # On Fedora, the reported prefix is wrong. As users likely run into this, # workaround. @@ -51,35 +50,29 @@ if(RE2_PC_FOUND) endif() endif() elseif(RE2_ROOT) - find_library( - RE2_LIB - NAMES - re2_static - re2 - "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATHS ${RE2_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - RE2_INCLUDE_DIR - NAMES re2/re2.h - PATHS ${RE2_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(RE2_LIB + NAMES re2_static + re2 + "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATHS ${RE2_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(RE2_INCLUDE_DIR + NAMES re2/re2.h + PATHS ${RE2_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() - find_library( - RE2_LIB - NAMES - re2_static - re2 - "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - RE2_INCLUDE_DIR - NAMES re2/re2.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(RE2_LIB + NAMES re2_static + re2 + "${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" + "${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(RE2_INCLUDE_DIR + NAMES re2/re2.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() find_package_handle_standard_args(re2Alt REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR) diff --git a/cpp/cmake_modules/Findutf8proc.cmake b/cpp/cmake_modules/Findutf8proc.cmake index 3783ff49593..da1d7a4357c 100644 --- a/cpp/cmake_modules/Findutf8proc.cmake +++ b/cpp/cmake_modules/Findutf8proc.cmake @@ -61,28 +61,24 @@ else() endif() if(utf8proc_ROOT) - find_library( - utf8proc_LIB - NAMES ${utf8proc_LIB_NAMES} - PATHS ${utf8proc_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - utf8proc_INCLUDE_DIR - NAMES utf8proc.h - PATHS ${utf8proc_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(utf8proc_LIB + NAMES ${utf8proc_LIB_NAMES} + PATHS ${utf8proc_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(utf8proc_INCLUDE_DIR + NAMES utf8proc.h + PATHS ${utf8proc_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) extract_utf8proc_version() else() - find_library( - utf8proc_LIB - NAMES ${utf8proc_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - utf8proc_INCLUDE_DIR - NAMES utf8proc.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(utf8proc_LIB + NAMES ${utf8proc_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(utf8proc_INCLUDE_DIR + NAMES utf8proc.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) extract_utf8proc_version() endif() diff --git a/cpp/cmake_modules/Findzstd.cmake b/cpp/cmake_modules/Findzstd.cmake index c110750ef4c..d94a466a846 100644 --- a/cpp/cmake_modules/Findzstd.cmake +++ b/cpp/cmake_modules/Findzstd.cmake @@ -23,13 +23,14 @@ set(ZSTD_LIB_NAME_BASE "${ZSTD_MSVC_LIB_PREFIX}zstd") if(ARROW_ZSTD_USE_SHARED) set(ZSTD_LIB_NAMES) if(CMAKE_IMPORT_LIBRARY_SUFFIX) - list( - APPEND ZSTD_LIB_NAMES - "${CMAKE_IMPORT_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}") + list(APPEND + ZSTD_LIB_NAMES + "${CMAKE_IMPORT_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + ) endif() - list( - APPEND ZSTD_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + list(APPEND ZSTD_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}" + ) else() if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") @@ -43,18 +44,16 @@ endif() # First, find via if specified ZTD_ROOT if(ZSTD_ROOT) message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}") - find_library( - ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATHS ${ZSTD_ROOT} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} - NO_DEFAULT_PATH) - find_path( - ZSTD_INCLUDE_DIR - NAMES zstd.h - PATHS ${ZSTD_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATHS ${ZSTD_ROOT} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} + NO_DEFAULT_PATH) + find_path(ZSTD_INCLUDE_DIR + NAMES zstd.h + PATHS ${ZSTD_ROOT} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) else() # Second, find via pkg_check_modules @@ -64,22 +63,19 @@ else() set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") - find_library( - ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATHS ${ZSTD_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_library(ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATHS ${ZSTD_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) else() # Third, check all other CMake paths - find_library( - ZSTD_LIB - NAMES ${ZSTD_LIB_NAMES} - PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) - find_path( - ZSTD_INCLUDE_DIR - NAMES zstd.h - PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) + find_library(ZSTD_LIB + NAMES ${ZSTD_LIB_NAMES} + PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) + find_path(ZSTD_INCLUDE_DIR + NAMES zstd.h + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) endif() endif() diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake index 714c5299253..165097b8469 100644 --- a/cpp/cmake_modules/SetupCxxFlags.cmake +++ b/cpp/cmake_modules/SetupCxxFlags.cmake @@ -179,18 +179,17 @@ if(WIN32) set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd5105") if(ARROW_USE_STATIC_CRT) - foreach( - c_flag - CMAKE_CXX_FLAGS - CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_DEBUG - CMAKE_CXX_FLAGS_MINSIZEREL - CMAKE_CXX_FLAGS_RELWITHDEBINFO - CMAKE_C_FLAGS - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELWITHDEBINFO) + foreach(c_flag + CMAKE_CXX_FLAGS + CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_DEBUG + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO + CMAKE_C_FLAGS + CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_DEBUG + CMAKE_C_FLAGS_MINSIZEREL + CMAKE_C_FLAGS_RELWITHDEBINFO) string(REPLACE "/MD" "-MT" ${c_flag} "${${c_flag}}") endforeach() endif() @@ -318,10 +317,9 @@ else() # /wdnnnn disables a warning where "nnnn" is a warning number string(REPLACE "/W3" "" CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS}") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /W3") - elseif( - CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" + OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" + OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wall") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") if(WIN32) @@ -483,10 +481,9 @@ endif() # Any additional arguments are passed verbatim into the C++ compiler invocation. function(GET_GOLD_VERSION) # The gold linker is only for ELF binaries, which macOS doesn't use. - execute_process( - COMMAND ${CMAKE_CXX_COMPILER} "-Wl,--version" ${ARGN} - ERROR_QUIET - OUTPUT_VARIABLE LINKER_OUTPUT) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} "-Wl,--version" ${ARGN} + ERROR_QUIET + OUTPUT_VARIABLE LINKER_OUTPUT) # We're expecting LINKER_OUTPUT to look like one of these: # GNU gold (version 2.24) 1.11 # GNU gold (GNU Binutils for Ubuntu 2.30) 1.15 @@ -514,10 +511,9 @@ if(NOT WIN32 AND NOT APPLE) # We can't use the gold linker if it's inside devtoolset because the compiler # won't find it when invoked directly from make/ninja (which is typically # done outside devtoolset). - execute_process( - COMMAND which ld.gold - OUTPUT_VARIABLE GOLD_LOCATION - OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + execute_process(COMMAND which ld.gold + OUTPUT_VARIABLE GOLD_LOCATION + OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) if("${GOLD_LOCATION}" MATCHES "^/opt/rh/devtoolset") message("Skipping optional gold linker (version ${GOLD_VERSION}) because " "it's in devtoolset") @@ -596,8 +592,7 @@ set(CXX_FLAGS_PROFILE_GEN "${CXX_FLAGS_RELEASE} -fprofile-generate") set(CXX_FLAGS_PROFILE_BUILD "${CXX_FLAGS_RELEASE} -fprofile-use") # Set compile flags based on the build type. -message( - "Configured for ${CMAKE_BUILD_TYPE} build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})" +message("Configured for ${CMAKE_BUILD_TYPE} build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})" ) if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_FLAGS_DEBUG}") diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index ec1f6b6ed11..6249bfea518 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -340,45 +340,41 @@ endforeach() if(DEFINED ENV{ARROW_ABSL_URL}) set(ABSL_SOURCE_URL "$ENV{ARROW_ABSL_URL}") else() - set_urls( - ABSL_SOURCE_URL - "https://github.com/abseil/abseil-cpp/archive/${ARROW_ABSL_BUILD_VERSION}.tar.gz") + set_urls(ABSL_SOURCE_URL + "https://github.com/abseil/abseil-cpp/archive/${ARROW_ABSL_BUILD_VERSION}.tar.gz" + ) endif() if(DEFINED ENV{ARROW_AWS_C_COMMON_URL}) set(AWS_C_COMMON_SOURCE_URL "$ENV{ARROW_AWS_C_COMMON_URL}") else() - set_urls( - AWS_C_COMMON_SOURCE_URL - "https://github.com/awslabs/aws-c-common/archive/${ARROW_AWS_C_COMMON_BUILD_VERSION}.tar.gz" + set_urls(AWS_C_COMMON_SOURCE_URL + "https://github.com/awslabs/aws-c-common/archive/${ARROW_AWS_C_COMMON_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_AWS_CHECKSUMS_URL}) set(AWS_CHECKSUMS_SOURCE_URL "$ENV{ARROW_AWS_CHECKSUMS_URL}") else() - set_urls( - AWS_CHECKSUMS_SOURCE_URL - "https://github.com/awslabs/aws-checksums/archive/${ARROW_AWS_CHECKSUMS_BUILD_VERSION}.tar.gz" + set_urls(AWS_CHECKSUMS_SOURCE_URL + "https://github.com/awslabs/aws-checksums/archive/${ARROW_AWS_CHECKSUMS_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_AWS_C_EVENT_STREAM_URL}) set(AWS_C_EVENT_STREAM_SOURCE_URL "$ENV{ARROW_AWS_C_EVENT_STREAM_URL}") else() - set_urls( - AWS_C_EVENT_STREAM_SOURCE_URL - "https://github.com/awslabs/aws-c-event-stream/archive/${ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION}.tar.gz" + set_urls(AWS_C_EVENT_STREAM_SOURCE_URL + "https://github.com/awslabs/aws-c-event-stream/archive/${ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_AWSSDK_URL}) set(AWSSDK_SOURCE_URL "$ENV{ARROW_AWSSDK_URL}") else() - set_urls( - AWSSDK_SOURCE_URL - "https://github.com/aws/aws-sdk-cpp/archive/${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/aws-sdk-cpp-${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" + set_urls(AWSSDK_SOURCE_URL + "https://github.com/aws/aws-sdk-cpp/archive/${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/aws-sdk-cpp-${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" ) endif() @@ -387,136 +383,124 @@ if(DEFINED ENV{ARROW_BOOST_URL}) else() string(REPLACE "." "_" ARROW_BOOST_BUILD_VERSION_UNDERSCORES ${ARROW_BOOST_BUILD_VERSION}) - set_urls( - BOOST_SOURCE_URL - # These are trimmed boost bundles we maintain. - # See cpp/build-support/trim-boost.sh - # FIXME(ARROW-6407) automate uploading this archive to ensure it reflects - # our currently used packages and doesn't fall out of sync with - # ${ARROW_BOOST_BUILD_VERSION_UNDERSCORES} - "https://github.com/ursa-labs/thirdparty/releases/download/latest/boost_${ARROW_BOOST_BUILD_VERSION_UNDERSCORES}.tar.gz" - "https://sourceforge.net/projects/boost/files/boost/${ARROW_BOOST_BUILD_VERSION}/boost_${ARROW_BOOST_BUILD_VERSION_UNDERSCORES}.tar.gz" - "https://github.com/boostorg/boost/archive/boost-${ARROW_BOOST_BUILD_VERSION}.tar.gz") + set_urls(BOOST_SOURCE_URL + # These are trimmed boost bundles we maintain. + # See cpp/build-support/trim-boost.sh + # FIXME(ARROW-6407) automate uploading this archive to ensure it reflects + # our currently used packages and doesn't fall out of sync with + # ${ARROW_BOOST_BUILD_VERSION_UNDERSCORES} + "https://github.com/ursa-labs/thirdparty/releases/download/latest/boost_${ARROW_BOOST_BUILD_VERSION_UNDERSCORES}.tar.gz" + "https://sourceforge.net/projects/boost/files/boost/${ARROW_BOOST_BUILD_VERSION}/boost_${ARROW_BOOST_BUILD_VERSION_UNDERSCORES}.tar.gz" + "https://github.com/boostorg/boost/archive/boost-${ARROW_BOOST_BUILD_VERSION}.tar.gz" + ) endif() if(DEFINED ENV{ARROW_BROTLI_URL}) set(BROTLI_SOURCE_URL "$ENV{ARROW_BROTLI_URL}") else() - set_urls( - BROTLI_SOURCE_URL - "https://github.com/google/brotli/archive/${ARROW_BROTLI_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/brotli-${ARROW_BROTLI_BUILD_VERSION}.tar.gz" + set_urls(BROTLI_SOURCE_URL + "https://github.com/google/brotli/archive/${ARROW_BROTLI_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/brotli-${ARROW_BROTLI_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_BZIP2_URL}) set(ARROW_BZIP2_SOURCE_URL "$ENV{ARROW_BZIP2_URL}") else() - set_urls( - ARROW_BZIP2_SOURCE_URL - "https://sourceware.org/pub/bzip2/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" + set_urls(ARROW_BZIP2_SOURCE_URL + "https://sourceware.org/pub/bzip2/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_CARES_URL}) set(CARES_SOURCE_URL "$ENV{ARROW_CARES_URL}") else() - set_urls( - CARES_SOURCE_URL - "https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/cares-${ARROW_CARES_BUILD_VERSION}.tar.gz" + set_urls(CARES_SOURCE_URL + "https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/cares-${ARROW_CARES_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_GBENCHMARK_URL}) set(GBENCHMARK_SOURCE_URL "$ENV{ARROW_GBENCHMARK_URL}") else() - set_urls( - GBENCHMARK_SOURCE_URL - "https://github.com/google/benchmark/archive/${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/gbenchmark-${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" + set_urls(GBENCHMARK_SOURCE_URL + "https://github.com/google/benchmark/archive/${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/gbenchmark-${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_GFLAGS_URL}) set(GFLAGS_SOURCE_URL "$ENV{ARROW_GFLAGS_URL}") else() - set_urls( - GFLAGS_SOURCE_URL - "https://github.com/gflags/gflags/archive/${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/gflags-${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" + set_urls(GFLAGS_SOURCE_URL + "https://github.com/gflags/gflags/archive/${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/gflags-${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_GLOG_URL}) set(GLOG_SOURCE_URL "$ENV{ARROW_GLOG_URL}") else() - set_urls( - GLOG_SOURCE_URL - "https://github.com/google/glog/archive/${ARROW_GLOG_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/glog-${ARROW_GLOG_BUILD_VERSION}.tar.gz" + set_urls(GLOG_SOURCE_URL + "https://github.com/google/glog/archive/${ARROW_GLOG_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/glog-${ARROW_GLOG_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_GRPC_URL}) set(GRPC_SOURCE_URL "$ENV{ARROW_GRPC_URL}") else() - set_urls( - GRPC_SOURCE_URL - "https://github.com/grpc/grpc/archive/${ARROW_GRPC_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/grpc-${ARROW_GRPC_BUILD_VERSION}.tar.gz" + set_urls(GRPC_SOURCE_URL + "https://github.com/grpc/grpc/archive/${ARROW_GRPC_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/grpc-${ARROW_GRPC_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_GTEST_URL}) set(GTEST_SOURCE_URL "$ENV{ARROW_GTEST_URL}") else() - set_urls( - GTEST_SOURCE_URL - "https://github.com/google/googletest/archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" - "https://chromium.googlesource.com/external/github.com/google/googletest/+archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/gtest-${ARROW_GTEST_BUILD_VERSION}.tar.gz" + set_urls(GTEST_SOURCE_URL + "https://github.com/google/googletest/archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" + "https://chromium.googlesource.com/external/github.com/google/googletest/+archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/gtest-${ARROW_GTEST_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_JEMALLOC_URL}) set(JEMALLOC_SOURCE_URL "$ENV{ARROW_JEMALLOC_URL}") else() - set_urls( - JEMALLOC_SOURCE_URL - "https://github.com/jemalloc/jemalloc/releases/download/${ARROW_JEMALLOC_BUILD_VERSION}/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" + set_urls(JEMALLOC_SOURCE_URL + "https://github.com/jemalloc/jemalloc/releases/download/${ARROW_JEMALLOC_BUILD_VERSION}/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" ) endif() if(DEFINED ENV{ARROW_MIMALLOC_URL}) set(MIMALLOC_SOURCE_URL "$ENV{ARROW_MIMALLOC_URL}") else() - set_urls( - MIMALLOC_SOURCE_URL - "https://github.com/microsoft/mimalloc/archive/${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/mimalloc-${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" + set_urls(MIMALLOC_SOURCE_URL + "https://github.com/microsoft/mimalloc/archive/${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/mimalloc-${ARROW_MIMALLOC_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_LZ4_URL}) set(LZ4_SOURCE_URL "$ENV{ARROW_LZ4_URL}") else() - set_urls( - LZ4_SOURCE_URL - "https://github.com/lz4/lz4/archive/${ARROW_LZ4_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/lz4-${ARROW_LZ4_BUILD_VERSION}.tar.gz" + set_urls(LZ4_SOURCE_URL + "https://github.com/lz4/lz4/archive/${ARROW_LZ4_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/lz4-${ARROW_LZ4_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_ORC_URL}) set(ORC_SOURCE_URL "$ENV{ARROW_ORC_URL}") else() - set_urls( - ORC_SOURCE_URL - "https://github.com/apache/orc/archive/rel/release-${ARROW_ORC_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/orc-${ARROW_ORC_BUILD_VERSION}.tar.gz" + set_urls(ORC_SOURCE_URL + "https://github.com/apache/orc/archive/rel/release-${ARROW_ORC_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/orc-${ARROW_ORC_BUILD_VERSION}.tar.gz" ) endif() @@ -526,100 +510,92 @@ else() string(SUBSTRING ${ARROW_PROTOBUF_BUILD_VERSION} 1 -1 ARROW_PROTOBUF_STRIPPED_BUILD_VERSION) # strip the leading `v` - set_urls( - PROTOBUF_SOURCE_URL - "https://github.com/protocolbuffers/protobuf/releases/download/${ARROW_PROTOBUF_BUILD_VERSION}/protobuf-all-${ARROW_PROTOBUF_STRIPPED_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/protobuf-${ARROW_PROTOBUF_BUILD_VERSION}.tar.gz" + set_urls(PROTOBUF_SOURCE_URL + "https://github.com/protocolbuffers/protobuf/releases/download/${ARROW_PROTOBUF_BUILD_VERSION}/protobuf-all-${ARROW_PROTOBUF_STRIPPED_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/protobuf-${ARROW_PROTOBUF_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_RE2_URL}) set(RE2_SOURCE_URL "$ENV{ARROW_RE2_URL}") else() - set_urls( - RE2_SOURCE_URL - "https://github.com/google/re2/archive/${ARROW_RE2_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/re2-${ARROW_RE2_BUILD_VERSION}.tar.gz" + set_urls(RE2_SOURCE_URL + "https://github.com/google/re2/archive/${ARROW_RE2_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/re2-${ARROW_RE2_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_RAPIDJSON_URL}) set(RAPIDJSON_SOURCE_URL "$ENV{ARROW_RAPIDJSON_URL}") else() - set_urls( - RAPIDJSON_SOURCE_URL - "https://github.com/miloyip/rapidjson/archive/${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/rapidjson-${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" + set_urls(RAPIDJSON_SOURCE_URL + "https://github.com/miloyip/rapidjson/archive/${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/rapidjson-${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_SNAPPY_URL}) set(SNAPPY_SOURCE_URL "$ENV{ARROW_SNAPPY_URL}") else() - set_urls( - SNAPPY_SOURCE_URL - "https://github.com/google/snappy/archive/${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/snappy-${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" + set_urls(SNAPPY_SOURCE_URL + "https://github.com/google/snappy/archive/${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/snappy-${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_THRIFT_URL}) set(THRIFT_SOURCE_URL "$ENV{ARROW_THRIFT_URL}") else() - set_urls( - THRIFT_SOURCE_URL - "http://www.apache.org/dyn/closer.cgi?action=download&filename=/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://downloads.apache.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://github.com/apache/thrift/archive/v${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://apache.claz.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://apache.cs.utah.edu/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://apache.mirrors.lucidnetworks.net/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://apache.osuosl.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://ftp.wayne.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://mirror.olnevhost.net/pub/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://mirrors.gigenet.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://mirrors.koehn.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://mirrors.ocf.berkeley.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://mirrors.sonic.net/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://us.mirrors.quenda.co/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + set_urls(THRIFT_SOURCE_URL + "http://www.apache.org/dyn/closer.cgi?action=download&filename=/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://downloads.apache.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://github.com/apache/thrift/archive/v${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://apache.claz.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://apache.cs.utah.edu/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://apache.mirrors.lucidnetworks.net/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://apache.osuosl.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://ftp.wayne.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://mirror.olnevhost.net/pub/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://mirrors.gigenet.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://mirrors.koehn.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://mirrors.ocf.berkeley.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://mirrors.sonic.net/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://us.mirrors.quenda.co/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_UTF8PROC_URL}) set(ARROW_UTF8PROC_SOURCE_URL "$ENV{ARROW_UTF8PROC_URL}") else() - set_urls( - ARROW_UTF8PROC_SOURCE_URL - "https://github.com/JuliaStrings/utf8proc/archive/${ARROW_UTF8PROC_BUILD_VERSION}.tar.gz" + set_urls(ARROW_UTF8PROC_SOURCE_URL + "https://github.com/JuliaStrings/utf8proc/archive/${ARROW_UTF8PROC_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_XSIMD_URL}) set(XSIMD_SOURCE_URL "$ENV{ARROW_XSIMD_URL}") else() - set_urls( - XSIMD_SOURCE_URL - "https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz") + set_urls(XSIMD_SOURCE_URL + "https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz" + ) endif() if(DEFINED ENV{ARROW_ZLIB_URL}) set(ZLIB_SOURCE_URL "$ENV{ARROW_ZLIB_URL}") else() - set_urls( - ZLIB_SOURCE_URL - "https://zlib.net/fossils/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" + set_urls(ZLIB_SOURCE_URL + "https://zlib.net/fossils/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" ) endif() if(DEFINED ENV{ARROW_ZSTD_URL}) set(ZSTD_SOURCE_URL "$ENV{ARROW_ZSTD_URL}") else() - set_urls( - ZSTD_SOURCE_URL - "https://github.com/facebook/zstd/archive/${ARROW_ZSTD_BUILD_VERSION}.tar.gz" - "https://github.com/ursa-labs/thirdparty/releases/download/latest/zstd-${ARROW_ZSTD_BUILD_VERSION}.tar.gz" + set_urls(ZSTD_SOURCE_URL + "https://github.com/facebook/zstd/archive/${ARROW_ZSTD_BUILD_VERSION}.tar.gz" + "https://github.com/ursa-labs/thirdparty/releases/download/latest/zstd-${ARROW_ZSTD_BUILD_VERSION}.tar.gz" ) endif() @@ -752,11 +728,10 @@ macro(build_boost) endif() if(MSVC) - string( - REGEX - REPLACE "^([0-9]+)\\.([0-9]+)\\.[0-9]+$" "\\1_\\2" - ARROW_BOOST_BUILD_VERSION_NO_MICRO_UNDERSCORE - ${ARROW_BOOST_BUILD_VERSION}) + string(REGEX + REPLACE "^([0-9]+)\\.([0-9]+)\\.[0-9]+$" "\\1_\\2" + ARROW_BOOST_BUILD_VERSION_NO_MICRO_UNDERSCORE + ${ARROW_BOOST_BUILD_VERSION}) set(BOOST_LIBRARY_SUFFIX "-vc${MSVC_TOOLSET_VERSION}-mt") if(BOOST_BUILD_VARIANT STREQUAL "debug") set(BOOST_LIBRARY_SUFFIX "${BOOST_LIBRARY_SUFFIX}-gd") @@ -887,10 +862,9 @@ if(ARROW_BUILD_INTEGRATION OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)) set(ARROW_BOOST_REQUIRED TRUE) set(ARROW_BOOST_REQUIRE_LIBRARY TRUE) -elseif( - ARROW_GANDIVA - OR (ARROW_WITH_THRIFT AND THRIFT_REQUIRES_BOOST) - OR (NOT ARROW_USE_NATIVE_INT128)) +elseif(ARROW_GANDIVA + OR (ARROW_WITH_THRIFT AND THRIFT_REQUIRES_BOOST) + OR (NOT ARROW_USE_NATIVE_INT128)) set(ARROW_BOOST_REQUIRED TRUE) set(ARROW_BOOST_REQUIRE_LIBRARY FALSE) else() @@ -992,12 +966,11 @@ macro(build_brotli) 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} + 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) @@ -1022,12 +995,11 @@ macro(build_brotli) INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlidec brotli_ep) - list( - APPEND - ARROW_BUNDLED_STATIC_LIBS - Brotli::brotlicommon - Brotli::brotlienc - Brotli::brotlidec) + list(APPEND + ARROW_BUNDLED_STATIC_LIBS + Brotli::brotlicommon + Brotli::brotlienc + Brotli::brotlidec) endmacro() if(ARROW_WITH_BROTLI) @@ -1043,17 +1015,15 @@ if(PARQUET_REQUIRE_ENCRYPTION AND NOT ARROW_PARQUET) endif() set(ARROW_OPENSSL_REQUIRED_VERSION "1.0.2") if(BREW_BIN AND NOT OPENSSL_ROOT_DIR) - execute_process( - COMMAND ${BREW_BIN} --prefix "openssl@1.1" - OUTPUT_VARIABLE OPENSSL11_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix "openssl@1.1" + OUTPUT_VARIABLE OPENSSL11_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(OPENSSL11_BREW_PREFIX) set(OPENSSL_ROOT_DIR ${OPENSSL11_BREW_PREFIX}) else() - execute_process( - COMMAND ${BREW_BIN} --prefix "openssl" - OUTPUT_VARIABLE OPENSSL_BREW_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${BREW_BIN} --prefix "openssl" + OUTPUT_VARIABLE OPENSSL_BREW_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) if(OPENSSL_BREW_PREFIX) set(OPENSSL_ROOT_DIR ${OPENSSL_BREW_PREFIX}) endif() @@ -1093,9 +1063,7 @@ if(ARROW_USE_OPENSSL) include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) else() - message( - STATUS - "Building without OpenSSL support. Minimum OpenSSL version ${ARROW_OPENSSL_REQUIRED_VERSION} required." + message(STATUS "Building without OpenSSL support. Minimum OpenSSL version ${ARROW_OPENSSL_REQUIRED_VERSION} required." ) endif() @@ -1253,8 +1221,8 @@ endif() macro(build_thrift) if(CMAKE_VERSION VERSION_LESS 3.10) - message( - FATAL_ERROR "Building thrift using ExternalProject requires at least CMake 3.10") + message(FATAL_ERROR "Building thrift using ExternalProject requires at least CMake 3.10" + ) endif() message("Building Apache Thrift from source") set(THRIFT_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/thrift_ep-install") @@ -1519,21 +1487,20 @@ if(ARROW_JEMALLOC) if(CMAKE_OSX_SYSROOT) list(APPEND JEMALLOC_CONFIGURE_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() - list( - APPEND - JEMALLOC_CONFIGURE_COMMAND - "--prefix=${JEMALLOC_PREFIX}" - "--libdir=${JEMALLOC_LIB_DIR}" - "--with-jemalloc-prefix=je_arrow_" - "--with-private-namespace=je_arrow_private_" - "--without-export" - "--disable-shared" - # Don't override operator new() - "--disable-cxx" - "--disable-libdl" - # See https://github.com/jemalloc/jemalloc/issues/1237 - "--disable-initial-exec-tls" - ${EP_LOG_OPTIONS}) + list(APPEND + JEMALLOC_CONFIGURE_COMMAND + "--prefix=${JEMALLOC_PREFIX}" + "--libdir=${JEMALLOC_LIB_DIR}" + "--with-jemalloc-prefix=je_arrow_" + "--with-private-namespace=je_arrow_private_" + "--without-export" + "--disable-shared" + # Don't override operator new() + "--disable-cxx" + "--disable-libdl" + # See https://github.com/jemalloc/jemalloc/issues/1237 + "--disable-initial-exec-tls" + ${EP_LOG_OPTIONS}) set(JEMALLOC_BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS}) if(CMAKE_OSX_SYSROOT) list(APPEND JEMALLOC_BUILD_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") @@ -1541,9 +1508,8 @@ if(ARROW_JEMALLOC) externalproject_add( jemalloc_ep URL ${JEMALLOC_SOURCE_URL} - PATCH_COMMAND - touch doc/jemalloc.3 doc/jemalloc.html - # The prefix "je_arrow_" must be kept in sync with the value in memory_pool.cc + PATCH_COMMAND touch doc/jemalloc.3 doc/jemalloc.html + # The prefix "je_arrow_" must be kept in sync with the value in memory_pool.cc CONFIGURE_COMMAND ${JEMALLOC_CONFIGURE_COMMAND} BUILD_IN_SOURCE 1 BUILD_COMMAND ${JEMALLOC_BUILD_COMMAND} @@ -1711,9 +1677,8 @@ macro(build_gtest) "${_GTEST_RUNTIME_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_RUNTIME_SUFFIX}" ) if(CMAKE_VERSION VERSION_LESS 3.9) - message( - FATAL_ERROR - "Building GoogleTest from source on Windows requires at least CMake 3.9") + message(FATAL_ERROR "Building GoogleTest from source on Windows requires at least CMake 3.9" + ) endif() get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(_GENERATOR_IS_MULTI_CONFIG) @@ -2508,13 +2473,12 @@ macro(build_grpc) 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_STATIC_LIBRARY_UPB} - ${GRPC_CPP_PLUGIN} + BUILD_BYPRODUCTS ${GRPC_STATIC_LIBRARY_GPR} + ${GRPC_STATIC_LIBRARY_GRPC} + ${GRPC_STATIC_LIBRARY_GRPCPP} + ${GRPC_STATIC_LIBRARY_ADDRESS_SORTING} + ${GRPC_STATIC_LIBRARY_UPB} + ${GRPC_CPP_PLUGIN} CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} DEPENDS ${grpc_dependencies}) @@ -2593,15 +2557,14 @@ macro(build_grpc) add_custom_target(grpc_copy_grpc++ ALL DEPENDS "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") add_dependencies(gRPC::grpcpp_for_bundling grpc_copy_grpc++) - list( - APPEND - ARROW_BUNDLED_STATIC_LIBS - ${ABSL_LIBRARIES} - gRPC::address_sorting - gRPC::gpr - gRPC::grpc - gRPC::grpcpp_for_bundling - gRPC::upb) + list(APPEND + ARROW_BUNDLED_STATIC_LIBS + ${ABSL_LIBRARIES} + gRPC::address_sorting + gRPC::gpr + gRPC::grpc + gRPC::grpcpp_for_bundling + gRPC::upb) endmacro() if(ARROW_WITH_GRPC) @@ -2844,12 +2807,11 @@ macro(build_awssdk) ${EP_LOG_OPTIONS} URL ${AWSSDK_SOURCE_URL} CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} - BUILD_BYPRODUCTS - ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} - ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} - ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} - ${AWS_CPP_SDK_S3_STATIC_LIBRARY} - ${AWS_CPP_SDK_STS_STATIC_LIBRARY} + BUILD_BYPRODUCTS ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} + ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} + ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} + ${AWS_CPP_SDK_S3_STATIC_LIBRARY} + ${AWS_CPP_SDK_STS_STATIC_LIBRARY} DEPENDS aws_c_event_stream_ep) add_dependencies(toolchain awssdk_ep) foreach(_AWSSDK_LIB ${_AWSSDK_LIBS}) @@ -2871,19 +2833,16 @@ macro(build_awssdk) CURL::libcurl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}" IMPORTED_LOCATION "${CURL_LIBRARIES}") endif() - set_property( - TARGET aws-cpp-sdk-core - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl) - set_property( - TARGET CURL::libcurl - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::SSL) + set_property(TARGET aws-cpp-sdk-core + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl) + set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::SSL) if(TARGET zlib_ep) - set_property( - TARGET aws-cpp-sdk-core - APPEND - PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) + set_property(TARGET aws-cpp-sdk-core + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) add_dependencies(awssdk_ep zlib_ep) endif() endif() @@ -2907,26 +2866,24 @@ if(ARROW_S3) # Need to customize the find_package() call, so cannot call resolve_dependency() if(AWSSDK_SOURCE STREQUAL "AUTO") - find_package( - AWSSDK - COMPONENTS config - s3 - transfer - identity-management - sts) + find_package(AWSSDK + COMPONENTS config + s3 + transfer + identity-management + sts) if(NOT AWSSDK_FOUND) build_awssdk() endif() elseif(AWSSDK_SOURCE STREQUAL "BUNDLED") build_awssdk() elseif(AWSSDK_SOURCE STREQUAL "SYSTEM") - find_package( - AWSSDK REQUIRED - COMPONENTS config - s3 - transfer - identity-management - sts) + find_package(AWSSDK REQUIRED + COMPONENTS config + s3 + transfer + identity-management + sts) endif() # Restore previous value of BUILD_SHARED_LIBS diff --git a/cpp/cmake_modules/Usevcpkg.cmake b/cpp/cmake_modules/Usevcpkg.cmake index fdfe2241316..7d228f59f03 100644 --- a/cpp/cmake_modules/Usevcpkg.cmake +++ b/cpp/cmake_modules/Usevcpkg.cmake @@ -22,10 +22,9 @@ message(STATUS "Using vcpkg to find dependencies") # macro to list subdirectirectories (non-recursive) macro(list_subdirs SUBDIRS DIR) - file( - GLOB children_ - RELATIVE ${DIR} - ${DIR}/*) + file(GLOB children_ + RELATIVE ${DIR} + ${DIR}/*) set(subdirs_ "") foreach(child_ ${children_}) if(IS_DIRECTORY "${DIR}/${child_}") @@ -47,30 +46,27 @@ if(DEFINED CMAKE_TOOLCHAIN_FILE) get_filename_component(_VCPKG_BUILDSYSTEMS_DIR "${CMAKE_TOOLCHAIN_FILE}" DIRECTORY) get_filename_component(VCPKG_ROOT "${_VCPKG_BUILDSYSTEMS_DIR}/../.." ABSOLUTE) else() - message( - FATAL_ERROR - "vcpkg toolchain file not found at path specified in -DCMAKE_TOOLCHAIN_FILE") + message(FATAL_ERROR "vcpkg toolchain file not found at path specified in -DCMAKE_TOOLCHAIN_FILE" + ) endif() else() if(DEFINED VCPKG_ROOT) # Get it from the CMake variable VCPKG_ROOT - find_program( - _VCPKG_BIN vcpkg - PATHS "${VCPKG_ROOT}" - NO_DEFAULT_PATH) + find_program(_VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) message(FATAL_ERROR "vcpkg not found in directory specified in -DVCPKG_ROOT") endif() elseif(DEFINED ENV{VCPKG_ROOT}) # Get it from the environment variable VCPKG_ROOT set(VCPKG_ROOT $ENV{VCPKG_ROOT}) - find_program( - _VCPKG_BIN vcpkg - PATHS "${VCPKG_ROOT}" - NO_DEFAULT_PATH) + find_program(_VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) - message( - FATAL_ERROR "vcpkg not found in directory in environment variable VCPKG_ROOT") + message(FATAL_ERROR "vcpkg not found in directory in environment variable VCPKG_ROOT" + ) endif() else() # Get it from the file vcpkg.path.txt @@ -87,15 +83,13 @@ else() if(EXISTS "${_VCPKG_PATH_TXT}") file(READ "${_VCPKG_PATH_TXT}" VCPKG_ROOT) else() - message( - FATAL_ERROR - "vcpkg not found. Install vcpkg if not installed, " - "then run vcpkg integrate install or set environment variable VCPKG_ROOT.") + message(FATAL_ERROR "vcpkg not found. Install vcpkg if not installed, " + "then run vcpkg integrate install or set environment variable VCPKG_ROOT." + ) endif() - find_program( - _VCPKG_BIN vcpkg - PATHS "${VCPKG_ROOT}" - NO_DEFAULT_PATH) + find_program(_VCPKG_BIN vcpkg + PATHS "${VCPKG_ROOT}" + NO_DEFAULT_PATH) if(NOT _VCPKG_BIN) message(FATAL_ERROR "vcpkg not found. Re-run vcpkg integrate install " "or set environment variable VCPKG_ROOT.") @@ -166,10 +160,8 @@ if(NOT DEFINED VCPKG_TARGET_TRIPLET) message(FATAL_ERROR "Could not infer VCPKG_TARGET_TRIPLET. " "Specify triplet with -DVCPKG_TARGET_TRIPLET.") elseif(NOT DEFINED _VCPKG_INSTALLED_DIR) - message( - FATAL_ERROR - "Could not find installed vcpkg packages for triplet ${VCPKG_TARGET_TRIPLET}. " - "Install packages with vcpkg before executing cmake.") + message(FATAL_ERROR "Could not find installed vcpkg packages for triplet ${VCPKG_TARGET_TRIPLET}. " + "Install packages with vcpkg before executing cmake.") endif() set(VCPKG_TARGET_TRIPLET diff --git a/cpp/cmake_modules/san-config.cmake b/cpp/cmake_modules/san-config.cmake index 42d7098ca11..bde9af23e57 100644 --- a/cpp/cmake_modules/san-config.cmake +++ b/cpp/cmake_modules/san-config.cmake @@ -94,8 +94,7 @@ endif() if(${ARROW_USE_COVERAGE}) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - add_definitions( - "-fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep" + add_definitions("-fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep" ) set(CMAKE_CXX_FLAGS @@ -117,9 +116,7 @@ if("${ARROW_USE_UBSAN}" "${CMAKE_CXX_FLAGS} -fsanitize-blacklist=${BUILD_SUPPORT_DIR}/sanitizer-disallowed-entries.txt" ) else() - message( - WARNING - "GCC does not support specifying a sanitizer disallowed entries list. Known sanitizer check failures will not be suppressed." + message(WARNING "GCC does not support specifying a sanitizer disallowed entries list. Known sanitizer check failures will not be suppressed." ) endif() endif() diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index 30d431d25ba..70ebbb2743c 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -61,14 +61,13 @@ function(ADD_ARROW_TEST REL_TEST_NAME) set(PCH_ARGS PRECOMPILED_HEADER_LIB "arrow-array-test") endif() - add_test_case( - ${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${PCH_ARGS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${PCH_ARGS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) @@ -93,13 +92,12 @@ function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS arrow_shared) endif() - add_fuzz_target( - ${REL_FUZZING_NAME} - PREFIX - ${PREFIX} - LINK_LIBS - ${LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_fuzz_target(${REL_FUZZING_NAME} + PREFIX + ${PREFIX} + LINK_LIBS + ${LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_ARROW_BENCHMARK REL_TEST_NAME) @@ -117,13 +115,12 @@ function(ADD_ARROW_BENCHMARK REL_TEST_NAME) else() set(PREFIX "arrow") endif() - add_benchmark( - ${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - "arrow-benchmarks" - ${ARG_UNPARSED_ARGUMENTS}) + add_benchmark(${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + "arrow-benchmarks" + ${ARG_UNPARSED_ARGUMENTS}) endfunction() macro(append_avx2_src SRC) @@ -341,10 +338,9 @@ endif() unset(_allocator_dependencies) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property( - SOURCE util/io_util.cc - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-unused-macros ") + set_property(SOURCE util/io_util.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-unused-macros ") endif() # @@ -352,16 +348,15 @@ endif() # if(ARROW_CSV) - list( - APPEND - ARROW_SRCS - csv/converter.cc - csv/chunker.cc - csv/column_builder.cc - csv/column_decoder.cc - csv/options.cc - csv/parser.cc - csv/reader.cc) + list(APPEND + ARROW_SRCS + csv/converter.cc + csv/chunker.cc + csv/column_builder.cc + csv/column_decoder.cc + csv/options.cc + csv/parser.cc + csv/reader.cc) if(ARROW_COMPUTE) list(APPEND ARROW_SRCS csv/writer.cc) endif() @@ -370,52 +365,51 @@ if(ARROW_CSV) endif() if(ARROW_COMPUTE) - list( - APPEND - ARROW_SRCS - compute/api_aggregate.cc - compute/api_scalar.cc - compute/api_vector.cc - compute/cast.cc - compute/exec.cc - compute/exec/exec_plan.cc - compute/exec/expression.cc - compute/function.cc - compute/kernel.cc - compute/registry.cc - compute/kernels/aggregate_basic.cc - compute/kernels/aggregate_mode.cc - compute/kernels/aggregate_quantile.cc - compute/kernels/aggregate_tdigest.cc - compute/kernels/aggregate_var_std.cc - compute/kernels/codegen_internal.cc - compute/kernels/hash_aggregate.cc - compute/kernels/scalar_arithmetic.cc - compute/kernels/scalar_boolean.cc - compute/kernels/scalar_cast_boolean.cc - compute/kernels/scalar_cast_internal.cc - compute/kernels/scalar_cast_nested.cc - compute/kernels/scalar_cast_numeric.cc - compute/kernels/scalar_cast_string.cc - compute/kernels/scalar_cast_temporal.cc - compute/kernels/scalar_compare.cc - compute/kernels/scalar_nested.cc - compute/kernels/scalar_set_lookup.cc - compute/kernels/scalar_string.cc - compute/kernels/scalar_temporal.cc - compute/kernels/scalar_validity.cc - compute/kernels/scalar_fill_null.cc - compute/kernels/scalar_if_else.cc - compute/kernels/util_internal.cc - compute/kernels/vector_hash.cc - compute/kernels/vector_nested.cc - compute/kernels/vector_selection.cc - compute/kernels/vector_sort.cc - compute/exec/key_hash.cc - compute/exec/key_map.cc - compute/exec/key_compare.cc - compute/exec/key_encode.cc - compute/exec/util.cc) + list(APPEND + ARROW_SRCS + compute/api_aggregate.cc + compute/api_scalar.cc + compute/api_vector.cc + compute/cast.cc + compute/exec.cc + compute/exec/exec_plan.cc + compute/exec/expression.cc + compute/function.cc + compute/kernel.cc + compute/registry.cc + compute/kernels/aggregate_basic.cc + compute/kernels/aggregate_mode.cc + compute/kernels/aggregate_quantile.cc + compute/kernels/aggregate_tdigest.cc + compute/kernels/aggregate_var_std.cc + compute/kernels/codegen_internal.cc + compute/kernels/hash_aggregate.cc + compute/kernels/scalar_arithmetic.cc + compute/kernels/scalar_boolean.cc + compute/kernels/scalar_cast_boolean.cc + compute/kernels/scalar_cast_internal.cc + compute/kernels/scalar_cast_nested.cc + compute/kernels/scalar_cast_numeric.cc + compute/kernels/scalar_cast_string.cc + compute/kernels/scalar_cast_temporal.cc + compute/kernels/scalar_compare.cc + compute/kernels/scalar_nested.cc + compute/kernels/scalar_set_lookup.cc + compute/kernels/scalar_string.cc + compute/kernels/scalar_temporal.cc + compute/kernels/scalar_validity.cc + compute/kernels/scalar_fill_null.cc + compute/kernels/scalar_if_else.cc + compute/kernels/util_internal.cc + compute/kernels/vector_hash.cc + compute/kernels/vector_nested.cc + compute/kernels/vector_selection.cc + compute/kernels/vector_sort.cc + compute/exec/key_hash.cc + compute/exec/key_map.cc + compute/exec/key_compare.cc + compute/exec/key_encode.cc + compute/exec/util.cc) append_avx2_src(compute/kernels/aggregate_basic_avx2.cc) append_avx512_src(compute/kernels/aggregate_basic_avx512.cc) @@ -434,14 +428,13 @@ if(ARROW_FILESYSTEM) add_definitions(-DARROW_HDFS) endif() - list( - APPEND - ARROW_SRCS - filesystem/filesystem.cc - filesystem/localfs.cc - filesystem/mockfs.cc - filesystem/path_util.cc - filesystem/util_internal.cc) + list(APPEND + ARROW_SRCS + filesystem/filesystem.cc + filesystem/localfs.cc + filesystem/mockfs.cc + filesystem/path_util.cc + filesystem/util_internal.cc) if(ARROW_HDFS) list(APPEND ARROW_SRCS filesystem/hdfs.cc) @@ -457,16 +450,15 @@ if(ARROW_FILESYSTEM) endif() if(ARROW_IPC) - list( - APPEND - ARROW_SRCS - ipc/dictionary.cc - ipc/feather.cc - ipc/message.cc - ipc/metadata_internal.cc - ipc/options.cc - ipc/reader.cc - ipc/writer.cc) + list(APPEND + ARROW_SRCS + ipc/dictionary.cc + ipc/feather.cc + ipc/message.cc + ipc/metadata_internal.cc + ipc/options.cc + ipc/reader.cc + ipc/writer.cc) if(ARROW_JSON) list(APPEND ARROW_SRCS ipc/json_simple.cc) @@ -474,17 +466,16 @@ if(ARROW_IPC) endif() if(ARROW_JSON) - list( - APPEND - ARROW_SRCS - json/options.cc - json/chunked_builder.cc - json/chunker.cc - json/converter.cc - json/object_parser.cc - json/object_writer.cc - json/parser.cc - json/reader.cc) + list(APPEND + ARROW_SRCS + json/options.cc + json/chunked_builder.cc + json/chunker.cc + json/converter.cc + json/object_parser.cc + json/object_writer.cc + json/parser.cc + json/reader.cc) endif() if(ARROW_ORC) @@ -502,32 +493,31 @@ endif() set(ARROW_ALL_SRCS ${ARROW_SRCS} ${ARROW_C_SRCS}) -add_arrow_lib( - arrow - CMAKE_PACKAGE_NAME - Arrow - PKG_CONFIG_NAME - arrow - SOURCES - ${ARROW_ALL_SRCS} - OUTPUTS - ARROW_LIBRARIES - PRECOMPILED_HEADERS - "$<$:arrow/pch.h>" - DEPENDENCIES - arrow_dependencies - SHARED_LINK_FLAGS - ${ARROW_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${ARROW_LINK_LIBS} - SHARED_PRIVATE_LINK_LIBS - ${ARROW_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${ARROW_STATIC_LINK_LIBS} - SHARED_INSTALL_INTERFACE_LIBS - ${ARROW_SHARED_INSTALL_INTERFACE_LIBS} - STATIC_INSTALL_INTERFACE_LIBS - ${ARROW_STATIC_INSTALL_INTERFACE_LIBS}) +add_arrow_lib(arrow + CMAKE_PACKAGE_NAME + Arrow + PKG_CONFIG_NAME + arrow + SOURCES + ${ARROW_ALL_SRCS} + OUTPUTS + ARROW_LIBRARIES + PRECOMPILED_HEADERS + "$<$:arrow/pch.h>" + DEPENDENCIES + arrow_dependencies + SHARED_LINK_FLAGS + ${ARROW_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${ARROW_LINK_LIBS} + SHARED_PRIVATE_LINK_LIBS + ${ARROW_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${ARROW_STATIC_LINK_LIBS} + SHARED_INSTALL_INTERFACE_LIBS + ${ARROW_SHARED_INSTALL_INTERFACE_LIBS} + STATIC_INSTALL_INTERFACE_LIBS + ${ARROW_STATIC_INSTALL_INTERFACE_LIBS}) add_dependencies(arrow ${ARROW_LIBRARIES}) @@ -564,25 +554,24 @@ endif() if(ARROW_TESTING) # that depend on gtest - add_arrow_lib( - arrow_testing - CMAKE_PACKAGE_NAME - ArrowTesting - PKG_CONFIG_NAME - arrow-testing - SOURCES - ${ARROW_TESTING_SRCS} - OUTPUTS - ARROW_TESTING_LIBRARIES - PRECOMPILED_HEADERS - "$<$:arrow/pch.h>" - DEPENDENCIES - arrow_test_dependencies - SHARED_LINK_LIBS - arrow_shared - GTest::gtest - STATIC_LINK_LIBS - arrow_static) + add_arrow_lib(arrow_testing + CMAKE_PACKAGE_NAME + ArrowTesting + PKG_CONFIG_NAME + arrow-testing + SOURCES + ${ARROW_TESTING_SRCS} + OUTPUTS + ARROW_TESTING_LIBRARIES + PRECOMPILED_HEADERS + "$<$:arrow/pch.h>" + DEPENDENCIES + arrow_test_dependencies + SHARED_LINK_LIBS + arrow_shared + GTest::gtest + STATIC_LINK_LIBS + arrow_static) add_custom_target(arrow_testing) add_dependencies(arrow_testing ${ARROW_TESTING_LIBRARIES}) @@ -609,18 +598,17 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/arrow-config.cmake # # Unit tests # -add_arrow_test( - array_test - SOURCES - array/array_test.cc - array/array_binary_test.cc - array/array_dict_test.cc - array/array_list_test.cc - array/array_struct_test.cc - array/array_union_test.cc - array/array_view_test.cc - PRECOMPILED_HEADERS - "$<$:arrow/testing/pch.h>") +add_arrow_test(array_test + SOURCES + array/array_test.cc + array/array_binary_test.cc + array/array_dict_test.cc + array/array_list_test.cc + array/array_struct_test.cc + array/array_union_test.cc + array/array_view_test.cc + PRECOMPILED_HEADERS + "$<$:arrow/testing/pch.h>") add_arrow_test(buffer_test) @@ -629,14 +617,13 @@ if(ARROW_IPC) add_arrow_test(extension_type_test) endif() -add_arrow_test( - misc_test - SOURCES - datum_test.cc - memory_pool_test.cc - result_test.cc - pretty_print_test.cc - status_test.cc) +add_arrow_test(misc_test + SOURCES + datum_test.cc + memory_pool_test.cc + result_test.cc + pretty_print_test.cc + status_test.cc) add_arrow_test(public_api_test) @@ -646,13 +633,12 @@ set_source_files_properties(public_api_test.cc PROPERTIES SKIP_PRECOMPILE_HEADER add_arrow_test(scalar_test) add_arrow_test(type_test) -add_arrow_test( - table_test - SOURCES - chunked_array_test.cc - record_batch_test.cc - table_test.cc - table_builder_test.cc) +add_arrow_test(table_test + SOURCES + chunked_array_test.cc + record_batch_test.cc + table_test.cc + table_builder_test.cc) add_arrow_test(tensor_test) add_arrow_test(sparse_tensor_test) diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt index 260561ed915..ca901b07dfd 100644 --- a/cpp/src/arrow/adapters/orc/CMakeLists.txt +++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt @@ -47,12 +47,11 @@ endif() set(ORC_STATIC_TEST_LINK_LIBS orc::liborc ${ARROW_LIBRARIES_FOR_STATIC_TESTS} ${ORC_MIN_TEST_LIBS}) -add_arrow_test( - adapter_test - PREFIX - "arrow-orc" - STATIC_LINK_LIBS - ${ORC_STATIC_TEST_LINK_LIBS}) +add_arrow_test(adapter_test + PREFIX + "arrow-orc" + STATIC_LINK_LIBS + ${ORC_STATIC_TEST_LINK_LIBS}) set_source_files_properties(adapter_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION ON) diff --git a/cpp/src/arrow/compute/CMakeLists.txt b/cpp/src/arrow/compute/CMakeLists.txt index 1b462b3ac26..fa4a0cd71c4 100644 --- a/cpp/src/arrow/compute/CMakeLists.txt +++ b/cpp/src/arrow/compute/CMakeLists.txt @@ -49,15 +49,14 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) set(LABELS "arrow_compute") endif() - add_arrow_test( - ${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test(${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_compute_test( diff --git a/cpp/src/arrow/dataset/CMakeLists.txt b/cpp/src/arrow/dataset/CMakeLists.txt index 716bf3076b7..7cdf62a7b18 100644 --- a/cpp/src/arrow/dataset/CMakeLists.txt +++ b/cpp/src/arrow/dataset/CMakeLists.txt @@ -42,26 +42,25 @@ if(ARROW_PARQUET) set(ARROW_DATASET_PRIVATE_INCLUDES ${PROJECT_SOURCE_DIR}/src/parquet) endif() -add_arrow_lib( - arrow_dataset - CMAKE_PACKAGE_NAME - ArrowDataset - PKG_CONFIG_NAME - arrow-dataset - OUTPUTS - ARROW_DATASET_LIBRARIES - SOURCES - ${ARROW_DATASET_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/dataset/pch.h>" - DEPENDENCIES - toolchain - PRIVATE_INCLUDES - ${ARROW_DATASET_PRIVATE_INCLUDES} - SHARED_LINK_LIBS - ${ARROW_DATASET_LINK_SHARED} - STATIC_LINK_LIBS - ${ARROW_DATASET_LINK_STATIC}) +add_arrow_lib(arrow_dataset + CMAKE_PACKAGE_NAME + ArrowDataset + PKG_CONFIG_NAME + arrow-dataset + OUTPUTS + ARROW_DATASET_LIBRARIES + SOURCES + ${ARROW_DATASET_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/dataset/pch.h>" + DEPENDENCIES + toolchain + PRIVATE_INCLUDES + ${ARROW_DATASET_PRIVATE_INCLUDES} + SHARED_LINK_LIBS + ${ARROW_DATASET_LINK_SHARED} + STATIC_LINK_LIBS + ${ARROW_DATASET_LINK_STATIC}) if(ARROW_TEST_LINKAGE STREQUAL "static") set(ARROW_DATASET_TEST_LINK_LIBS arrow_dataset_static ${ARROW_TEST_STATIC_LINK_LIBS}) @@ -97,15 +96,14 @@ function(ADD_ARROW_DATASET_TEST REL_TEST_NAME) set(LABELS "arrow_dataset") endif() - add_arrow_test( - ${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - LABELS - ${LABELS} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test(${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + LABELS + ${LABELS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_dataset_test(dataset_test) diff --git a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt index 58c60becb5f..dd20a8d1f35 100644 --- a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt @@ -76,18 +76,17 @@ set_target_properties( arrow_hiveserver2_thrift PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${BUILD_OUTPUT_ROOT_DIRECTORY}") -add_arrow_lib( - arrow_hiveserver2 - SOURCES - ${ARROW_HIVESERVER2_SRCS} - OUTPUTS - ARROW_HIVESERVER2_LIBRARIES - DEPENDENCIES - arrow_hiveserver2_thrift - SHARED_LINK_FLAGS - "" - SHARED_LINK_LIBS - ${ARROW_PYTHON_SHARED_LINK_LIBS}) +add_arrow_lib(arrow_hiveserver2 + SOURCES + ${ARROW_HIVESERVER2_SRCS} + OUTPUTS + ARROW_HIVESERVER2_LIBRARIES + DEPENDENCIES + arrow_hiveserver2_thrift + SHARED_LINK_FLAGS + "" + SHARED_LINK_LIBS + ${ARROW_PYTHON_SHARED_LINK_LIBS}) add_dependencies(arrow_hiveserver2 ${ARROW_HIVESERVER2_LIBRARIES}) @@ -95,25 +94,22 @@ foreach(LIB_TARGET ${ARROW_HIVESERVER2_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_EXPORTING) endforeach() -set_property( - SOURCE ${ARROW_HIVESERVER2_SRCS} - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-shadow-field") +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) if(ARROW_BUILD_TESTS) - add_test_case( - hiveserver2_test - STATIC_LINK_LIBS - "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" - LABELS - "arrow_hiveserver2-tests") + add_test_case(hiveserver2_test + STATIC_LINK_LIBS + "${ARROW_HIVESERVER2_TEST_LINK_LIBS}" + LABELS + "arrow_hiveserver2-tests") if(TARGET arrow-hiveserver2-test) - set_property( - TARGET arrow-hiveserver2-test - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-shadow-field") + set_property(TARGET arrow-hiveserver2-test + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-shadow-field") endif() endif(ARROW_BUILD_TESTS) diff --git a/cpp/src/arrow/filesystem/CMakeLists.txt b/cpp/src/arrow/filesystem/CMakeLists.txt index b535a9607ae..c917db3b99c 100644 --- a/cpp/src/arrow/filesystem/CMakeLists.txt +++ b/cpp/src/arrow/filesystem/CMakeLists.txt @@ -21,13 +21,12 @@ arrow_install_all_headers("arrow/filesystem") # pkg-config support arrow_add_pkg_config("arrow-filesystem") -add_arrow_test( - filesystem-test - SOURCES - filesystem_test.cc - localfs_test.cc - EXTRA_LABELS - filesystem) +add_arrow_test(filesystem-test + SOURCES + filesystem_test.cc + localfs_test.cc + EXTRA_LABELS + filesystem) if(ARROW_S3) add_arrow_test(s3fs_test EXTRA_LABELS filesystem) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 2a1ef549801..e3b5f5251e9 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -51,10 +51,10 @@ add_custom_command( COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" DEPENDS ${PROTO_DEPENDS} ARGS - COMMAND - ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" - "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" - "--plugin=protoc-gen-grpc=$" "${FLIGHT_PROTO}") + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" + "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" + "--plugin=protoc-gen-grpc=$" + "${FLIGHT_PROTO}") set_source_files_properties(${FLIGHT_GENERATED_PROTO_FILES} PROPERTIES GENERATED TRUE) @@ -70,26 +70,22 @@ string(REPLACE "-Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # verification when using TLS. function(test_grpc_version DST_VAR DETECT_VERSION TEST_FILE) if(NOT DEFINED ${DST_VAR}) - message( - STATUS "Checking support for TlsCredentialsOptions (gRPC >= ${DETECT_VERSION})...") - get_property( - CURRENT_INCLUDE_DIRECTORIES - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PROPERTY INCLUDE_DIRECTORIES) - try_compile( - HAS_GRPC_VERSION ${CMAKE_CURRENT_BINARY_DIR}/try_compile - SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/${TEST_FILE}" - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" - LINK_LIBRARIES gRPC::grpc++ - OUTPUT_VARIABLE TLS_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) + message(STATUS "Checking support for TlsCredentialsOptions (gRPC >= ${DETECT_VERSION})..." + ) + get_property(CURRENT_INCLUDE_DIRECTORIES + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + PROPERTY INCLUDE_DIRECTORIES) + try_compile(HAS_GRPC_VERSION ${CMAKE_CURRENT_BINARY_DIR}/try_compile + SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/${TEST_FILE}" + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" + LINK_LIBRARIES gRPC::grpc++ + OUTPUT_VARIABLE TLS_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) if(HAS_GRPC_VERSION) set(${DST_VAR} "${DETECT_VERSION}" CACHE INTERNAL "The detected (approximate) gRPC version.") else() - message( - STATUS - "TlsCredentialsOptions (for gRPC ${DETECT_VERSION}) not found in grpc::experimental." + message(STATUS "TlsCredentialsOptions (for gRPC ${DETECT_VERSION}) not found in grpc::experimental." ) message(DEBUG "Build output:") list(APPEND CMAKE_MESSAGE_INDENT "${TEST_FILE}: ") @@ -107,9 +103,7 @@ else() test_grpc_version(GRPC_VERSION "1.34" "check_tls_opts_134.cc") test_grpc_version(GRPC_VERSION "1.32" "check_tls_opts_132.cc") test_grpc_version(GRPC_VERSION "1.27" "check_tls_opts_127.cc") - message( - STATUS - "Found approximate gRPC version: ${GRPC_VERSION} (ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS=${ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS})" + message(STATUS "Found approximate gRPC version: ${GRPC_VERSION} (ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS=${ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS})" ) endif() if(GRPC_VERSION EQUAL "1.27") @@ -117,25 +111,19 @@ if(GRPC_VERSION EQUAL "1.27") elseif(GRPC_VERSION EQUAL "1.32") add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) elseif(GRPC_VERSION EQUAL "1.34" OR GRPC_VERSION EQUAL "1.35") - add_definitions( - -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS - -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS_ROOT_CERTS - -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) + add_definitions(-DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS + -DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS_ROOT_CERTS + -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) elseif(GRPC_VERSION EQUAL "1.36") add_definitions(-DGRPC_USE_TLS_CHANNEL_CREDENTIALS_OPTIONS -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) else() - message( - STATUS - "A proper version of gRPC could not be found to support TlsCredentialsOptions in Arrow Flight." + message(STATUS "A proper version of gRPC could not be found to support TlsCredentialsOptions in Arrow Flight." ) - message( - STATUS - "You may need a newer version of gRPC (>= 1.27), or the gRPC API has changed and Flight must be updated to match." + message(STATUS "You may need a newer version of gRPC (>= 1.27), or the gRPC API has changed and Flight must be updated to match." ) if(ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS) - message( - FATAL_ERROR "Halting build since ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS is set." + message(FATAL_ERROR "Halting build since ARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS is set." ) endif() endif() @@ -158,28 +146,27 @@ set(ARROW_FLIGHT_SRCS server_auth.cc types.cc) -add_arrow_lib( - arrow_flight - CMAKE_PACKAGE_NAME - ArrowFlight - PKG_CONFIG_NAME - arrow-flight - OUTPUTS - ARROW_FLIGHT_LIBRARIES - SOURCES - ${ARROW_FLIGHT_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/flight/pch.h>" - DEPENDENCIES - flight_grpc_gen - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_shared - ${ARROW_FLIGHT_LINK_LIBS} - STATIC_LINK_LIBS - arrow_static - ${ARROW_FLIGHT_LINK_LIBS}) +add_arrow_lib(arrow_flight + CMAKE_PACKAGE_NAME + ArrowFlight + PKG_CONFIG_NAME + arrow-flight + OUTPUTS + ARROW_FLIGHT_LIBRARIES + SOURCES + ${ARROW_FLIGHT_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/flight/pch.h>" + DEPENDENCIES + flight_grpc_gen + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_shared + ${ARROW_FLIGHT_LINK_LIBS} + STATIC_LINK_LIBS + arrow_static + ${ARROW_FLIGHT_LINK_LIBS}) foreach(LIB_TARGET ${ARROW_FLIGHT_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_FLIGHT_EXPORTING) @@ -187,32 +174,31 @@ endforeach() # Define arrow_flight_testing library if(ARROW_TESTING) - add_arrow_lib( - arrow_flight_testing - CMAKE_PACKAGE_NAME - ArrowFlightTesting - PKG_CONFIG_NAME - arrow-flight-testing - OUTPUTS - ARROW_FLIGHT_TESTING_LIBRARIES - SOURCES - test_integration.cc - test_util.cc - DEPENDENCIES - GTest::gtest - flight_grpc_gen - arrow_dependencies - SHARED_LINK_LIBS - arrow_shared - arrow_flight_shared - arrow_testing_shared - ${BOOST_FILESYSTEM_LIBRARY} - ${BOOST_SYSTEM_LIBRARY} - GTest::gtest - STATIC_LINK_LIBS - arrow_static - arrow_flight_static - arrow_testing_static) + add_arrow_lib(arrow_flight_testing + CMAKE_PACKAGE_NAME + ArrowFlightTesting + PKG_CONFIG_NAME + arrow-flight-testing + OUTPUTS + ARROW_FLIGHT_TESTING_LIBRARIES + SOURCES + test_integration.cc + test_util.cc + DEPENDENCIES + GTest::gtest + flight_grpc_gen + arrow_dependencies + SHARED_LINK_LIBS + arrow_shared + arrow_flight_shared + arrow_testing_shared + ${BOOST_FILESYSTEM_LIBRARY} + ${BOOST_SYSTEM_LIBRARY} + GTest::gtest + STATIC_LINK_LIBS + arrow_static + arrow_flight_static + arrow_testing_static) endif() foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES}) @@ -221,12 +207,11 @@ foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES}) ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) endforeach() -add_arrow_test( - flight_test - STATIC_LINK_LIBS - ${ARROW_FLIGHT_TEST_LINK_LIBS} - LABELS - "arrow_flight") +add_arrow_test(flight_test + STATIC_LINK_LIBS + ${ARROW_FLIGHT_TEST_LINK_LIBS} + LABELS + "arrow_flight") # Build test server for unit tests or benchmarks if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS) diff --git a/cpp/src/arrow/gpu/CMakeLists.txt b/cpp/src/arrow/gpu/CMakeLists.txt index f99d82b78f4..a1c182a58bb 100644 --- a/cpp/src/arrow/gpu/CMakeLists.txt +++ b/cpp/src/arrow/gpu/CMakeLists.txt @@ -36,24 +36,23 @@ set(ARROW_CUDA_SRCS cuda_arrow_ipc.cc cuda_context.cc cuda_internal.cc cuda_memo set(ARROW_CUDA_SHARED_LINK_LIBS ${CUDA_CUDA_LIBRARY}) -add_arrow_lib( - arrow_cuda - CMAKE_PACKAGE_NAME - ArrowCUDA - PKG_CONFIG_NAME - arrow-cuda - SOURCES - ${ARROW_CUDA_SRCS} - OUTPUTS - ARROW_CUDA_LIBRARIES - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_shared - ${ARROW_CUDA_SHARED_LINK_LIBS} - # Static arrow_cuda must also link against CUDA shared libs - STATIC_LINK_LIBS - ${ARROW_CUDA_SHARED_LINK_LIBS}) +add_arrow_lib(arrow_cuda + CMAKE_PACKAGE_NAME + ArrowCUDA + PKG_CONFIG_NAME + arrow-cuda + SOURCES + ${ARROW_CUDA_SRCS} + OUTPUTS + ARROW_CUDA_LIBRARIES + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_shared + ${ARROW_CUDA_SHARED_LINK_LIBS} + # Static arrow_cuda must also link against CUDA shared libs + STATIC_LINK_LIBS + ${ARROW_CUDA_SHARED_LINK_LIBS}) add_dependencies(arrow_cuda ${ARROW_CUDA_LIBRARIES}) diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt index 2d4a240673d..909015257a0 100644 --- a/cpp/src/arrow/ipc/CMakeLists.txt +++ b/cpp/src/arrow/ipc/CMakeLists.txt @@ -37,13 +37,12 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(PREFIX "arrow-ipc") endif() - add_arrow_test( - ${REL_TEST_NAME} - EXTRA_LINK_LIBS - ${ARROW_DATASET_TEST_LINK_LIBS} - PREFIX - ${PREFIX} - ${ARG_UNPARSED_ARGUMENTS}) + add_arrow_test(${REL_TEST_NAME} + EXTRA_LINK_LIBS + ${ARROW_DATASET_TEST_LINK_LIBS} + PREFIX + ${PREFIX} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() add_arrow_test(feather_test) diff --git a/cpp/src/arrow/json/CMakeLists.txt b/cpp/src/arrow/json/CMakeLists.txt index a93cf831aa7..f09b15ce51c 100644 --- a/cpp/src/arrow/json/CMakeLists.txt +++ b/cpp/src/arrow/json/CMakeLists.txt @@ -15,16 +15,15 @@ # specific language governing permissions and limitations # under the License. -add_arrow_test( - test - SOURCES - chunked_builder_test.cc - chunker_test.cc - converter_test.cc - parser_test.cc - reader_test.cc - PREFIX - "arrow-json") +add_arrow_test(test + SOURCES + chunked_builder_test.cc + chunker_test.cc + converter_test.cc + parser_test.cc + reader_test.cc + PREFIX + "arrow-json") add_arrow_benchmark(parser_benchmark PREFIX "arrow-json") arrow_install_all_headers("arrow/json") diff --git a/cpp/src/arrow/python/CMakeLists.txt b/cpp/src/arrow/python/CMakeLists.txt index ca9879a5da3..40f351b56a5 100644 --- a/cpp/src/arrow/python/CMakeLists.txt +++ b/cpp/src/arrow/python/CMakeLists.txt @@ -55,10 +55,9 @@ endif() set(ARROW_PYTHON_DEPENDENCIES arrow_dependencies) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property( - SOURCE pyarrow.cc - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-cast-qual ") + set_property(SOURCE pyarrow.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-cast-qual ") endif() set(ARROW_PYTHON_SHARED_LINK_LIBS arrow_shared) @@ -68,28 +67,27 @@ endif() set(ARROW_PYTHON_INCLUDES ${NUMPY_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS}) -add_arrow_lib( - arrow_python - CMAKE_PACKAGE_NAME - ArrowPython - PKG_CONFIG_NAME - arrow-python - SOURCES - ${ARROW_PYTHON_SRCS} - PRECOMPILED_HEADERS - "$<$:arrow/python/pch.h>" - OUTPUTS - ARROW_PYTHON_LIBRARIES - DEPENDENCIES - ${ARROW_PYTHON_DEPENDENCIES} - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - ${ARROW_PYTHON_SHARED_LINK_LIBS} - STATIC_LINK_LIBS - ${PYTHON_OTHER_LIBS} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}") +add_arrow_lib(arrow_python + CMAKE_PACKAGE_NAME + ArrowPython + PKG_CONFIG_NAME + arrow-python + SOURCES + ${ARROW_PYTHON_SRCS} + PRECOMPILED_HEADERS + "$<$:arrow/python/pch.h>" + OUTPUTS + ARROW_PYTHON_LIBRARIES + DEPENDENCIES + ${ARROW_PYTHON_DEPENDENCIES} + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + ${ARROW_PYTHON_SHARED_LINK_LIBS} + STATIC_LINK_LIBS + ${PYTHON_OTHER_LIBS} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}") add_dependencies(arrow_python ${ARROW_PYTHON_LIBRARIES}) @@ -107,27 +105,26 @@ if(ARROW_FLIGHT AND ARROW_BUILD_SHARED) # fail with weird errors due to multiple copies of global static state (The # other solution is to link gRPC shared everywhere instead of statically only # in Flight) - add_arrow_lib( - arrow_python_flight - CMAKE_PACKAGE_NAME - ArrowPythonFlight - PKG_CONFIG_NAME - arrow-python-flight - SOURCES - flight.cc - OUTPUTS - ARROW_PYFLIGHT_LIBRARIES - DEPENDENCIES - flight_grpc_gen - SHARED_LINK_FLAGS - ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_LINK_LIBS - arrow_python_shared - arrow_flight_shared - STATIC_LINK_LIBS - ${PYTHON_OTHER_LIBS} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}") + add_arrow_lib(arrow_python_flight + CMAKE_PACKAGE_NAME + ArrowPythonFlight + PKG_CONFIG_NAME + arrow-python-flight + SOURCES + flight.cc + OUTPUTS + ARROW_PYFLIGHT_LIBRARIES + DEPENDENCIES + flight_grpc_gen + SHARED_LINK_FLAGS + ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_LINK_LIBS + arrow_python_shared + arrow_flight_shared + STATIC_LINK_LIBS + ${PYTHON_OTHER_LIBS} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}") add_dependencies(arrow_python ${ARROW_PYFLIGHT_LIBRARIES}) @@ -142,10 +139,9 @@ endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # Clang, be quiet. Python C API has lots of macros - set_property( - SOURCE ${ARROW_PYTHON_SRCS} - APPEND_STRING - PROPERTY COMPILE_FLAGS -Wno-parentheses-equality) + set_property(SOURCE ${ARROW_PYTHON_SRCS} + APPEND_STRING + PROPERTY COMPILE_FLAGS -Wno-parentheses-equality) endif() arrow_install_all_headers("arrow/python") @@ -175,15 +171,14 @@ if(ARROW_BUILD_TESTS) arrow_testing_static arrow_static) endif() - add_arrow_test( - python_test - STATIC_LINK_LIBS - "${ARROW_PYTHON_TEST_LINK_LIBS}" - EXTRA_LINK_LIBS - ${PYTHON_LIBRARIES} - EXTRA_INCLUDES - "${ARROW_PYTHON_INCLUDES}" - LABELS - "arrow_python-tests" - NO_VALGRIND) + add_arrow_test(python_test + STATIC_LINK_LIBS + "${ARROW_PYTHON_TEST_LINK_LIBS}" + EXTRA_LINK_LIBS + ${PYTHON_LIBRARIES} + EXTRA_INCLUDES + "${ARROW_PYTHON_INCLUDES}" + LABELS + "arrow_python-tests" + NO_VALGRIND) endif() diff --git a/cpp/src/arrow/util/CMakeLists.txt b/cpp/src/arrow/util/CMakeLists.txt index 65be20d367f..e26a17120cd 100644 --- a/cpp/src/arrow/util/CMakeLists.txt +++ b/cpp/src/arrow/util/CMakeLists.txt @@ -38,46 +38,44 @@ else() set(IO_UTIL_TEST_SOURCES io_util_test.cc) endif() -add_arrow_test( - utility-test - SOURCES - align_util_test.cc - async_generator_test.cc - bit_block_counter_test.cc - bit_util_test.cc - cache_test.cc - checked_cast_test.cc - compression_test.cc - decimal_test.cc - formatting_util_test.cc - key_value_metadata_test.cc - hashing_test.cc - int_util_test.cc - ${IO_UTIL_TEST_SOURCES} - iterator_test.cc - logging_test.cc - queue_test.cc - range_test.cc - reflection_test.cc - rle_encoding_test.cc - stl_util_test.cc - string_test.cc - tdigest_test.cc - test_common.cc - time_test.cc - trie_test.cc - uri_test.cc - utf8_util_test.cc - value_parsing_test.cc - variant_test.cc) +add_arrow_test(utility-test + SOURCES + align_util_test.cc + async_generator_test.cc + bit_block_counter_test.cc + bit_util_test.cc + cache_test.cc + checked_cast_test.cc + compression_test.cc + decimal_test.cc + formatting_util_test.cc + key_value_metadata_test.cc + hashing_test.cc + int_util_test.cc + ${IO_UTIL_TEST_SOURCES} + iterator_test.cc + logging_test.cc + queue_test.cc + range_test.cc + reflection_test.cc + rle_encoding_test.cc + stl_util_test.cc + string_test.cc + tdigest_test.cc + test_common.cc + time_test.cc + trie_test.cc + uri_test.cc + utf8_util_test.cc + value_parsing_test.cc + variant_test.cc) -add_arrow_test( - threading-utility-test - SOURCES - cancel_test.cc - future_test.cc - task_group_test.cc - thread_pool_test.cc) +add_arrow_test(threading-utility-test + SOURCES + cancel_test.cc + future_test.cc + task_group_test.cc + thread_pool_test.cc) add_arrow_benchmark(bit_block_counter_benchmark) add_arrow_benchmark(bit_util_benchmark) diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt index 5af6d5a37d3..942b4f4c117 100644 --- a/cpp/src/gandiva/CMakeLists.txt +++ b/cpp/src/gandiva/CMakeLists.txt @@ -121,33 +121,32 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "${GANDIVA_SHARED_LINK_FLAGS} ${GANDIVA_VERSION_SCRIPT_FLAGS}") endif() -add_arrow_lib( - gandiva - CMAKE_PACKAGE_NAME - Gandiva - PKG_CONFIG_NAME - gandiva - SOURCES - ${SRC_FILES} - PRECOMPILED_HEADERS - "$<$:gandiva/pch.h>" - OUTPUTS - GANDIVA_LIBRARIES - DEPENDENCIES - arrow_dependencies - precompiled - EXTRA_INCLUDES - $ - ${GANDIVA_OPENSSL_INCLUDE_DIR} - ${UTF8PROC_INCLUDE_DIR} - SHARED_LINK_FLAGS - ${GANDIVA_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - arrow_shared - SHARED_PRIVATE_LINK_LIBS - ${GANDIVA_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${GANDIVA_STATIC_LINK_LIBS}) +add_arrow_lib(gandiva + CMAKE_PACKAGE_NAME + Gandiva + PKG_CONFIG_NAME + gandiva + SOURCES + ${SRC_FILES} + PRECOMPILED_HEADERS + "$<$:gandiva/pch.h>" + OUTPUTS + GANDIVA_LIBRARIES + DEPENDENCIES + arrow_dependencies + precompiled + EXTRA_INCLUDES + $ + ${GANDIVA_OPENSSL_INCLUDE_DIR} + ${UTF8PROC_INCLUDE_DIR} + SHARED_LINK_FLAGS + ${GANDIVA_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + arrow_shared + SHARED_PRIVATE_LINK_LIBS + ${GANDIVA_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${GANDIVA_STATIC_LINK_LIBS}) foreach(LIB_TARGET ${GANDIVA_LIBRARIES}) target_compile_definitions(${LIB_TARGET} PRIVATE GANDIVA_EXPORTING) @@ -192,19 +191,17 @@ function(ADD_GANDIVA_TEST REL_TEST_NAME) # and uses less disk space, but in some cases we need to force static # linking (see rationale below). if(ARG_USE_STATIC_LINKING OR ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case( - ${REL_TEST_NAME} - ${TEST_ARGUMENTS} - STATIC_LINK_LIBS - ${GANDIVA_STATIC_TEST_LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + ${TEST_ARGUMENTS} + STATIC_LINK_LIBS + ${GANDIVA_STATIC_TEST_LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case( - ${REL_TEST_NAME} - ${TEST_ARGUMENTS} - STATIC_LINK_LIBS - ${GANDIVA_SHARED_TEST_LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + ${TEST_ARGUMENTS} + STATIC_LINK_LIBS + ${GANDIVA_SHARED_TEST_LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endif() set(TEST_NAME gandiva-${REL_TEST_NAME}) @@ -214,12 +211,11 @@ endfunction() set(GANDIVA_INTERNALS_TEST_ARGUMENTS) if(WIN32) - list( - APPEND - GANDIVA_INTERNALS_TEST_ARGUMENTS - EXTRA_LINK_LIBS - LLVM::LLVM_INTERFACE - ${GANDIVA_OPENSSL_LIBS}) + list(APPEND + GANDIVA_INTERNALS_TEST_ARGUMENTS + EXTRA_LINK_LIBS + LLVM::LLVM_INTERFACE + ${GANDIVA_OPENSSL_LIBS}) endif() add_gandiva_test( internals-test diff --git a/cpp/src/gandiva/jni/CMakeLists.txt b/cpp/src/gandiva/jni/CMakeLists.txt index b6d5a3b6543..f5bf7145062 100644 --- a/cpp/src/gandiva/jni/CMakeLists.txt +++ b/cpp/src/gandiva/jni/CMakeLists.txt @@ -70,28 +70,27 @@ set(GANDIVA_JNI_SOURCES # cpp/include during build # For building gandiva_jni library itself, include-dir (in addition to above) is : # cpp/src -add_arrow_lib( - gandiva_jni - SOURCES - ${GANDIVA_JNI_SOURCES} - OUTPUTS - GANDIVA_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - ${GANDIVA_LINK_LIBS} - STATIC_LINK_LIBS - ${GANDIVA_LINK_LIBS} - DEPENDENCIES - ${GANDIVA_LINK_LIBS} - gandiva_java - gandiva_jni_headers - gandiva_jni_proto - EXTRA_INCLUDES - $ - $ - $ - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR}) +add_arrow_lib(gandiva_jni + SOURCES + ${GANDIVA_JNI_SOURCES} + OUTPUTS + GANDIVA_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + ${GANDIVA_LINK_LIBS} + STATIC_LINK_LIBS + ${GANDIVA_LINK_LIBS} + DEPENDENCIES + ${GANDIVA_LINK_LIBS} + gandiva_java + gandiva_jni_headers + gandiva_jni_proto + EXTRA_INCLUDES + $ + $ + $ + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(gandiva ${GANDIVA_JNI_LIBRARIES}) diff --git a/cpp/src/gandiva/precompiled/CMakeLists.txt b/cpp/src/gandiva/precompiled/CMakeLists.txt index 0d2ed9cd44d..d949cdb56d6 100644 --- a/cpp/src/gandiva/precompiled/CMakeLists.txt +++ b/cpp/src/gandiva/precompiled/CMakeLists.txt @@ -53,33 +53,31 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) set(BC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${SRC_BASE}.bc) set(PRECOMPILE_COMMAND) if(CMAKE_OSX_SYSROOT) - list( - APPEND - PRECOMPILE_COMMAND - ${CMAKE_COMMAND} - -E - env - SDKROOT=${CMAKE_OSX_SYSROOT}) + list(APPEND + PRECOMPILE_COMMAND + ${CMAKE_COMMAND} + -E + env + SDKROOT=${CMAKE_OSX_SYSROOT}) endif() - list( - APPEND - PRECOMPILE_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 - -DGANDIVA_STATIC # Do not set __declspec(dllimport) on MSVC on Gandiva symbols - -fno-use-cxa-atexit # Workaround for unresolved __dso_handle - -emit-llvm - -O3 - -c - ${ABSOLUTE_SRC} - -o - ${BC_FILE} - ${ARROW_GANDIVA_PC_CXX_FLAGS} - -I${CMAKE_SOURCE_DIR}/src - -I${ARROW_BINARY_DIR}/src) + list(APPEND + PRECOMPILE_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 + -DGANDIVA_STATIC # Do not set __declspec(dllimport) on MSVC on Gandiva symbols + -fno-use-cxa-atexit # Workaround for unresolved __dso_handle + -emit-llvm + -O3 + -c + ${ABSOLUTE_SRC} + -o + ${BC_FILE} + ${ARROW_GANDIVA_PC_CXX_FLAGS} + -I${CMAKE_SOURCE_DIR}/src + -I${ARROW_BINARY_DIR}/src) if(NOT ARROW_USE_NATIVE_INT128) list(APPEND PRECOMPILE_COMMAND -I${Boost_INCLUDE_DIR}) @@ -100,10 +98,10 @@ add_custom_command( # turn the bitcode file into a C++ static data variable. add_custom_command( OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} - COMMAND - ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" - ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH} - ${GANDIVA_PRECOMPILED_CC_PATH} + COMMAND ${PYTHON_EXECUTABLE} + "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" + ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH} + ${GANDIVA_PRECOMPILED_CC_PATH} DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH}) add_custom_target(precompiled ALL DEPENDS ${GANDIVA_PRECOMPILED_BC_PATH} @@ -111,38 +109,36 @@ add_custom_target(precompiled ALL DEPENDS ${GANDIVA_PRECOMPILED_BC_PATH} # testing if(ARROW_BUILD_TESTS) - add_executable( - gandiva-precompiled-test - ../context_helper.cc - bitmap_test.cc - bitmap.cc - epoch_time_point_test.cc - time_test.cc - time.cc - timestamp_arithmetic.cc - ../cast_time.cc - ../../arrow/vendored/datetime/tz.cpp - hash_test.cc - hash.cc - string_ops_test.cc - string_ops.cc - arithmetic_ops_test.cc - arithmetic_ops.cc - extended_math_ops_test.cc - extended_math_ops.cc - decimal_ops_test.cc - decimal_ops.cc - ../decimal_type_util.cc - ../decimal_xlarge.cc) + add_executable(gandiva-precompiled-test + ../context_helper.cc + bitmap_test.cc + bitmap.cc + epoch_time_point_test.cc + time_test.cc + time.cc + timestamp_arithmetic.cc + ../cast_time.cc + ../../arrow/vendored/datetime/tz.cpp + hash_test.cc + hash.cc + string_ops_test.cc + string_ops.cc + arithmetic_ops_test.cc + arithmetic_ops.cc + extended_math_ops_test.cc + extended_math_ops.cc + decimal_ops_test.cc + decimal_ops.cc + ../decimal_type_util.cc + ../decimal_xlarge.cc) target_include_directories(gandiva-precompiled-test PRIVATE ${CMAKE_SOURCE_DIR}/src) target_link_libraries(gandiva-precompiled-test PRIVATE ${ARROW_TEST_LINK_LIBS}) target_compile_definitions(gandiva-precompiled-test PRIVATE GANDIVA_UNIT_TEST=1 ARROW_STATIC GANDIVA_STATIC) set(TEST_PATH "${EXECUTABLE_OUTPUT_PATH}/gandiva-precompiled-test") add_test(gandiva-precompiled-test ${TEST_PATH}) - set_property( - TEST gandiva-precompiled-test - APPEND - PROPERTY LABELS "unittest;gandiva-tests") + set_property(TEST gandiva-precompiled-test + APPEND + PROPERTY LABELS "unittest;gandiva-tests") add_dependencies(gandiva-tests gandiva-precompiled-test) endif() diff --git a/cpp/src/jni/dataset/CMakeLists.txt b/cpp/src/jni/dataset/CMakeLists.txt index 5bfd222768e..f3e309b614a 100644 --- a/cpp/src/jni/dataset/CMakeLists.txt +++ b/cpp/src/jni/dataset/CMakeLists.txt @@ -37,31 +37,29 @@ set(ARROW_DATASET_JNI_LIBS arrow_dataset_static) set(ARROW_DATASET_JNI_SOURCES jni_wrapper.cc jni_util.cc) -add_arrow_lib( - arrow_dataset_jni - BUILD_SHARED - SOURCES - ${ARROW_DATASET_JNI_SOURCES} - OUTPUTS - ARROW_DATASET_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - ${ARROW_DATASET_JNI_LIBS} - STATIC_LINK_LIBS - ${ARROW_DATASET_JNI_LIBS} - EXTRA_INCLUDES - ${JNI_HEADERS_DIR} - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - DEPENDENCIES - arrow_static - arrow_dataset_java) +add_arrow_lib(arrow_dataset_jni + BUILD_SHARED + SOURCES + ${ARROW_DATASET_JNI_SOURCES} + OUTPUTS + ARROW_DATASET_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + ${ARROW_DATASET_JNI_LIBS} + STATIC_LINK_LIBS + ${ARROW_DATASET_JNI_LIBS} + EXTRA_INCLUDES + ${JNI_HEADERS_DIR} + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + DEPENDENCIES + arrow_static + arrow_dataset_java) add_dependencies(arrow_dataset_jni ${ARROW_DATASET_JNI_LIBRARIES}) -add_arrow_test( - dataset_jni_test - SOURCES - jni_util_test.cc - jni_util.cc - EXTRA_INCLUDES - ${JNI_INCLUDE_DIRS}) +add_arrow_test(dataset_jni_test + SOURCES + jni_util_test.cc + jni_util.cc + EXTRA_INCLUDES + ${JNI_INCLUDE_DIRS}) diff --git a/cpp/src/jni/orc/CMakeLists.txt b/cpp/src/jni/orc/CMakeLists.txt index d8e6de5c142..eceda529494 100644 --- a/cpp/src/jni/orc/CMakeLists.txt +++ b/cpp/src/jni/orc/CMakeLists.txt @@ -31,24 +31,23 @@ set(JNI_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") add_subdirectory(../../../../java/adapter/orc ./java) -add_arrow_lib( - arrow_orc_jni - BUILD_SHARED - ON - BUILD_STATIC - OFF - SOURCES - jni_wrapper.cpp - OUTPUTS - ARROW_ORC_JNI_LIBRARIES - SHARED_PRIVATE_LINK_LIBS - arrow_static - EXTRA_INCLUDES - ${JNI_HEADERS_DIR} - PRIVATE_INCLUDES - ${JNI_INCLUDE_DIRS} - DEPENDENCIES - arrow_static - arrow_orc_java) +add_arrow_lib(arrow_orc_jni + BUILD_SHARED + ON + BUILD_STATIC + OFF + SOURCES + jni_wrapper.cpp + OUTPUTS + ARROW_ORC_JNI_LIBRARIES + SHARED_PRIVATE_LINK_LIBS + arrow_static + EXTRA_INCLUDES + ${JNI_HEADERS_DIR} + PRIVATE_INCLUDES + ${JNI_INCLUDE_DIRS} + DEPENDENCIES + arrow_static + arrow_orc_java) add_dependencies(arrow_orc_jni ${ARROW_ORC_JNI_LIBRARIES}) diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index 2498942c403..f75908d7bc1 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -34,19 +34,17 @@ function(ADD_PARQUET_TEST REL_TEST_NAME) set(TEST_ARGUMENTS PREFIX "parquet" LABELS "parquet-tests") if(ARROW_TEST_LINKAGE STREQUAL "static") - add_test_case( - ${REL_TEST_NAME} - STATIC_LINK_LIBS - ${PARQUET_STATIC_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + STATIC_LINK_LIBS + ${PARQUET_STATIC_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} + ${ARG_UNPARSED_ARGUMENTS}) else() - add_test_case( - ${REL_TEST_NAME} - STATIC_LINK_LIBS - ${PARQUET_SHARED_TEST_LINK_LIBS} - ${TEST_ARGUMENTS} - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + STATIC_LINK_LIBS + ${PARQUET_SHARED_TEST_LINK_LIBS} + ${TEST_ARGUMENTS} + ${ARG_UNPARSED_ARGUMENTS}) endif() endfunction() @@ -72,13 +70,12 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) else() set(LINK_LIBS parquet_shared) endif() - add_fuzz_target( - ${REL_FUZZING_NAME} - PREFIX - ${PREFIX} - LINK_LIBS - ${LINK_LIBS} - ${ARG_UNPARSED_ARGUMENTS}) + add_fuzz_target(${REL_FUZZING_NAME} + PREFIX + ${PREFIX} + LINK_LIBS + ${LINK_LIBS} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() function(ADD_PARQUET_BENCHMARK REL_TEST_NAME) @@ -96,14 +93,13 @@ function(ADD_PARQUET_BENCHMARK REL_TEST_NAME) else() set(PREFIX "parquet") endif() - add_benchmark( - ${REL_TEST_NAME} - PREFIX - ${PREFIX} - LABELS - "parquet-benchmarks" - ${PARQUET_BENCHMARK_LINK_OPTION} - ${ARG_UNPARSED_ARGUMENTS}) + add_benchmark(${REL_TEST_NAME} + PREFIX + ${PREFIX} + LABELS + "parquet-benchmarks" + ${PARQUET_BENCHMARK_LINK_OPTION} + ${ARG_UNPARSED_ARGUMENTS}) endfunction() # ---------------------------------------------------------------------- @@ -246,33 +242,32 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map") endif() -add_arrow_lib( - parquet - CMAKE_PACKAGE_NAME - Parquet - PKG_CONFIG_NAME - parquet - SOURCES - ${PARQUET_SRCS} - PRECOMPILED_HEADERS - "$<$:parquet/pch.h>" - OUTPUTS - PARQUET_LIBRARIES - DEPENDENCIES - ${PARQUET_DEPENDENCIES} - SHARED_LINK_FLAGS - ${PARQUET_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${PARQUET_SHARED_LINK_LIBS} - SHARED_PRIVATE_LINK_LIBS - ${PARQUET_SHARED_PRIVATE_LINK_LIBS} - STATIC_LINK_LIBS - ${PARQUET_STATIC_LINK_LIBS}) +add_arrow_lib(parquet + CMAKE_PACKAGE_NAME + Parquet + PKG_CONFIG_NAME + parquet + SOURCES + ${PARQUET_SRCS} + PRECOMPILED_HEADERS + "$<$:parquet/pch.h>" + OUTPUTS + PARQUET_LIBRARIES + DEPENDENCIES + ${PARQUET_DEPENDENCIES} + SHARED_LINK_FLAGS + ${PARQUET_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${PARQUET_SHARED_LINK_LIBS} + SHARED_PRIVATE_LINK_LIBS + ${PARQUET_SHARED_PRIVATE_LINK_LIBS} + STATIC_LINK_LIBS + ${PARQUET_STATIC_LINK_LIBS}) if(WIN32 AND NOT (ARROW_TEST_LINKAGE STREQUAL "static")) - add_library( - parquet_test_support STATIC "${ARROW_SOURCE_DIR}/src/generated/parquet_constants.cpp" - "${ARROW_SOURCE_DIR}/src/generated/parquet_types.cpp") + add_library(parquet_test_support STATIC + "${ARROW_SOURCE_DIR}/src/generated/parquet_constants.cpp" + "${ARROW_SOURCE_DIR}/src/generated/parquet_types.cpp") add_dependencies(parquet_test_support thrift::thrift) set(PARQUET_SHARED_TEST_LINK_LIBS ${PARQUET_SHARED_TEST_LINK_LIBS} parquet_test_support) set(PARQUET_LIBRARIES ${PARQUET_LIBRARIES} parquet_test_support) diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index d47abd0a933..e276c968f92 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -69,22 +69,21 @@ if(NOT APPLE AND NOT MSVC_TOOLCHAIN) "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map") endif() -add_arrow_lib( - plasma - CMAKE_PACKAGE_NAME - Plasma - PKG_CONFIG_NAME - plasma - SOURCES - ${PLASMA_SRCS} - OUTPUTS - PLASMA_LIBRARIES - SHARED_LINK_FLAGS - ${PLASMA_SHARED_LINK_FLAGS} - SHARED_LINK_LIBS - ${PLASMA_LINK_LIBS} - STATIC_LINK_LIBS - ${PLASMA_STATIC_LINK_LIBS}) +add_arrow_lib(plasma + CMAKE_PACKAGE_NAME + Plasma + PKG_CONFIG_NAME + plasma + SOURCES + ${PLASMA_SRCS} + OUTPUTS + PLASMA_LIBRARIES + SHARED_LINK_FLAGS + ${PLASMA_SHARED_LINK_FLAGS} + SHARED_LINK_LIBS + ${PLASMA_LINK_LIBS} + STATIC_LINK_LIBS + ${PLASMA_STATIC_LINK_LIBS}) add_dependencies(plasma ${PLASMA_LIBRARIES}) @@ -97,22 +96,19 @@ endforeach() set_source_files_properties(dlmalloc.cc PROPERTIES COMPILE_FLAGS "-O3") if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set_property( - SOURCE dlmalloc.cc - APPEND_STRING - PROPERTY - COMPILE_FLAGS - " -Wno-parentheses-equality \ + set_property(SOURCE dlmalloc.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS + " -Wno-parentheses-equality \ -Wno-null-pointer-arithmetic \ -Wno-shorten-64-to-32 \ -Wno-unused-macros") endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set_property( - SOURCE dlmalloc.cc - APPEND_STRING - PROPERTY COMPILE_FLAGS " -Wno-conversion") + set_property(SOURCE dlmalloc.cc + APPEND_STRING + PROPERTY COMPILE_FLAGS " -Wno-conversion") endif() list(APPEND PLASMA_EXTERNAL_STORE_SOURCES "external_store.cc" "hash_table_store.cc") @@ -152,13 +148,12 @@ elseif(APPLE) endif() endif() -install( - FILES common.h - compat.h - client.h - events.h - test_util.h - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/plasma") +install(FILES common.h + compat.h + client.h + events.h + test_util.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/plasma") # Plasma store set_target_properties(plasma-store-server PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) @@ -219,13 +214,12 @@ function(ADD_PLASMA_TEST REL_TEST_NAME) "${one_value_args}" "${multi_value_args}" ${ARGN}) - add_test_case( - ${REL_TEST_NAME} - PREFIX - "plasma" - LABELS - "plasma-tests" - ${ARG_UNPARSED_ARGUMENTS}) + add_test_case(${REL_TEST_NAME} + PREFIX + "plasma" + LABELS + "plasma-tests" + ${ARG_UNPARSED_ARGUMENTS}) endfunction() if(ARROW_BUILD_SHARED) @@ -235,15 +229,13 @@ else() endif() add_plasma_test(test/serialization_tests EXTRA_LINK_LIBS ${PLASMA_TEST_LIBS}) -add_plasma_test( - test/client_tests - EXTRA_LINK_LIBS - ${PLASMA_TEST_LIBS} - EXTRA_DEPENDENCIES - plasma-store-server) -add_plasma_test( - test/external_store_tests - EXTRA_LINK_LIBS - ${PLASMA_TEST_LIBS} - EXTRA_DEPENDENCIES - plasma-store-server) +add_plasma_test(test/client_tests + EXTRA_LINK_LIBS + ${PLASMA_TEST_LIBS} + EXTRA_DEPENDENCIES + plasma-store-server) +add_plasma_test(test/external_store_tests + EXTRA_LINK_LIBS + ${PLASMA_TEST_LIBS} + EXTRA_DEPENDENCIES + plasma-store-server) diff --git a/java/adapter/orc/CMakeLists.txt b/java/adapter/orc/CMakeLists.txt index 23110a0760d..e2d4655d79e 100644 --- a/java/adapter/orc/CMakeLists.txt +++ b/java/adapter/orc/CMakeLists.txt @@ -30,15 +30,14 @@ include(FindJNI) message("generating headers to ${JNI_HEADERS_DIR}") -add_jar( - arrow_orc_java - src/main/java/org/apache/arrow/adapter/orc/OrcReaderJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcStripeReaderJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcMemoryJniWrapper.java - src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java - src/main/java/org/apache/arrow/adapter/orc/OrcRecordBatch.java - src/main/java/org/apache/arrow/adapter/orc/OrcFieldNode.java - GENERATE_NATIVE_HEADERS - arrow_orc_java-native - DESTINATION - ${JNI_HEADERS_DIR}) +add_jar(arrow_orc_java + src/main/java/org/apache/arrow/adapter/orc/OrcReaderJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcStripeReaderJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcMemoryJniWrapper.java + src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java + src/main/java/org/apache/arrow/adapter/orc/OrcRecordBatch.java + src/main/java/org/apache/arrow/adapter/orc/OrcFieldNode.java + GENERATE_NATIVE_HEADERS + arrow_orc_java-native + DESTINATION + ${JNI_HEADERS_DIR}) diff --git a/java/dataset/CMakeLists.txt b/java/dataset/CMakeLists.txt index 822104be228..07e2d0ae8fc 100644 --- a/java/dataset/CMakeLists.txt +++ b/java/dataset/CMakeLists.txt @@ -30,15 +30,14 @@ include(FindJNI) message("generating headers to ${JNI_HEADERS_DIR}") -add_jar( - arrow_dataset_java - src/main/java/org/apache/arrow/dataset/jni/JniLoader.java - src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java - src/main/java/org/apache/arrow/dataset/jni/NativeRecordBatchHandle.java - src/main/java/org/apache/arrow/dataset/file/JniWrapper.java - src/main/java/org/apache/arrow/dataset/jni/NativeMemoryPool.java - src/main/java/org/apache/arrow/dataset/jni/ReservationListener.java - GENERATE_NATIVE_HEADERS - arrow_dataset_java-native - DESTINATION - ${JNI_HEADERS_DIR}) +add_jar(arrow_dataset_java + src/main/java/org/apache/arrow/dataset/jni/JniLoader.java + src/main/java/org/apache/arrow/dataset/jni/JniWrapper.java + src/main/java/org/apache/arrow/dataset/jni/NativeRecordBatchHandle.java + src/main/java/org/apache/arrow/dataset/file/JniWrapper.java + src/main/java/org/apache/arrow/dataset/jni/NativeMemoryPool.java + src/main/java/org/apache/arrow/dataset/jni/ReservationListener.java + GENERATE_NATIVE_HEADERS + arrow_dataset_java-native + DESTINATION + ${JNI_HEADERS_DIR}) diff --git a/java/gandiva/CMakeLists.txt b/java/gandiva/CMakeLists.txt index d14a11f29bf..5010daf7996 100644 --- a/java/gandiva/CMakeLists.txt +++ b/java/gandiva/CMakeLists.txt @@ -28,31 +28,28 @@ message("generating headers to ${JNI_HEADERS_DIR}/jni") # centos5 does not have java8 images, so supporting java 7 too. # unfortunately create_javah does not work in java8 correctly. if(ARROW_GANDIVA_JAVA7) - add_jar( - gandiva_java - src/main/java/org/apache/arrow/gandiva/evaluator/ConfigurationBuilder.java - src/main/java/org/apache/arrow/gandiva/evaluator/JniWrapper.java - src/main/java/org/apache/arrow/gandiva/evaluator/ExpressionRegistryJniHelper.java - src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java) + add_jar(gandiva_java + src/main/java/org/apache/arrow/gandiva/evaluator/ConfigurationBuilder.java + src/main/java/org/apache/arrow/gandiva/evaluator/JniWrapper.java + src/main/java/org/apache/arrow/gandiva/evaluator/ExpressionRegistryJniHelper.java + src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java) - create_javah( - TARGET gandiva_jni_headers - CLASSES org.apache.arrow.gandiva.evaluator.ConfigurationBuilder - org.apache.arrow.gandiva.evaluator.JniWrapper - org.apache.arrow.gandiva.evaluator.ExpressionRegistryJniHelper - org.apache.arrow.gandiva.exceptions.GandivaException - DEPENDS gandiva_java - CLASSPATH gandiva_java - OUTPUT_DIR ${JNI_HEADERS_DIR}/jni) + create_javah(TARGET gandiva_jni_headers + CLASSES org.apache.arrow.gandiva.evaluator.ConfigurationBuilder + org.apache.arrow.gandiva.evaluator.JniWrapper + org.apache.arrow.gandiva.evaluator.ExpressionRegistryJniHelper + org.apache.arrow.gandiva.exceptions.GandivaException + DEPENDS gandiva_java + CLASSPATH gandiva_java + OUTPUT_DIR ${JNI_HEADERS_DIR}/jni) else() - add_jar( - gandiva_java - src/main/java/org/apache/arrow/gandiva/evaluator/ConfigurationBuilder.java - src/main/java/org/apache/arrow/gandiva/evaluator/JniWrapper.java - src/main/java/org/apache/arrow/gandiva/evaluator/ExpressionRegistryJniHelper.java - src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java - GENERATE_NATIVE_HEADERS - gandiva_jni_headers - DESTINATION - ${JNI_HEADERS_DIR}/jni) + add_jar(gandiva_java + src/main/java/org/apache/arrow/gandiva/evaluator/ConfigurationBuilder.java + src/main/java/org/apache/arrow/gandiva/evaluator/JniWrapper.java + src/main/java/org/apache/arrow/gandiva/evaluator/ExpressionRegistryJniHelper.java + src/main/java/org/apache/arrow/gandiva/exceptions/GandivaException.java + GENERATE_NATIVE_HEADERS + gandiva_jni_headers + DESTINATION + ${JNI_HEADERS_DIR}/jni) endif() diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt index fed3ee9713e..09c8839aaf0 100644 --- a/matlab/CMakeLists.txt +++ b/matlab/CMakeLists.txt @@ -37,16 +37,14 @@ set(MATLAB_ADDITIONAL_VERSIONS "R2018a=9.4") find_package(Matlab REQUIRED MX_LIBRARY) # Build featherread mex file based on the arrow shared library -matlab_add_mex( - NAME featherreadmex - SRC src/featherreadmex.cc src/feather_reader.cc src/util/handle_status.cc - src/util/unicode_conversion.cc - LINK_TO ${ARROW_SHARED_LIB}) +matlab_add_mex(NAME featherreadmex + SRC src/featherreadmex.cc src/feather_reader.cc src/util/handle_status.cc + src/util/unicode_conversion.cc + LINK_TO ${ARROW_SHARED_LIB}) target_include_directories(featherreadmex PRIVATE ${ARROW_INCLUDE_DIR}) # Build featherwrite mex file based on the arrow shared library -matlab_add_mex( - NAME featherwritemex - SRC src/featherwritemex.cc src/feather_writer.cc src/util/handle_status.cc - LINK_TO ${ARROW_SHARED_LIB}) +matlab_add_mex(NAME featherwritemex + SRC src/featherwritemex.cc src/feather_writer.cc src/util/handle_status.cc + LINK_TO ${ARROW_SHARED_LIB}) target_include_directories(featherwritemex PRIVATE ${ARROW_INCLUDE_DIR}) From c0684df9e26bcab66bbb55c1593a18b94da44d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 17:30:09 +0200 Subject: [PATCH 5/8] Update archery installation --- .dockerignore | 2 +- ci/docker/linux-apt-lint.dockerfile | 8 ++------ dev/archery/archery/utils/lint.py | 6 +++--- dev/archery/requirements-lint.txt | 3 --- docker-compose.yml | 5 +---- docs/source/developers/python.rst | 3 +-- 6 files changed, 8 insertions(+), 19 deletions(-) delete mode 100644 dev/archery/requirements-lint.txt diff --git a/.dockerignore b/.dockerignore index eb71138c679..a369d7d59a6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -27,7 +27,7 @@ # include explicitly !ci/** !c_glib/Gemfile -!dev/archery/requirements*.txt +!dev/archery/setup.py !python/requirements*.txt !python/manylinux1/** !python/manylinux2010/** diff --git a/ci/docker/linux-apt-lint.dockerfile b/ci/docker/linux-apt-lint.dockerfile index c711c4c883c..2f4bf0010bc 100644 --- a/ci/docker/linux-apt-lint.dockerfile +++ b/ci/docker/linux-apt-lint.dockerfile @@ -49,12 +49,8 @@ RUN arrow/ci/scripts/install_iwyu.sh /tmp/iwyu /usr/local ${clang_tools} RUN ln -s /usr/bin/python3 /usr/local/bin/python && \ ln -s /usr/bin/pip3 /usr/local/bin/pip -COPY dev/archery/requirements.txt \ - dev/archery/requirements-lint.txt \ - /arrow/dev/archery/ -RUN pip install \ - -r arrow/dev/archery/requirements.txt \ - -r arrow/dev/archery/requirements-lint.txt +COPY dev/archery/setup.py /arrow/dev/archery/ +RUN pip install -e arrow/dev/archery[lint] ENV LC_ALL=C.UTF-8 \ LANG=C.UTF-8 diff --git a/dev/archery/archery/utils/lint.py b/dev/archery/archery/utils/lint.py index 789b8058e8c..46e3df9de4f 100644 --- a/dev/archery/archery/utils/lint.py +++ b/dev/archery/archery/utils/lint.py @@ -92,7 +92,6 @@ def cpp_linter(src, build_dir, clang_format=True, cpplint=True, class CMakeFormat(Command): - # TODO(kszucs): check cmake_format version def __init__(self, paths, cmake_format_bin=None): self.check_version() self.bin = default_bin(cmake_format_bin, "cmake-format") @@ -149,6 +148,7 @@ def cmake_linter(src, fix=False): 'go/**/CMakeLists.txt', 'java/**/CMakeLists.txt', 'matlab/**/CMakeLists.txt', + 'python/CMakeLists.txt', ], exclude_patterns=[ 'cpp/cmake_modules/FindNumPy.cmake', @@ -174,7 +174,7 @@ def python_linter(src, fix=False): if not autopep8.available: logger.error( "Python formatter requested but autopep8 binary not found. " - "Please run `pip install -r dev/archery/requirements-lint.txt`") + "Please reinstall archery with `pip install dev/archery[lint]`") return # Gather files for autopep8 @@ -213,7 +213,7 @@ def python_linter(src, fix=False): if not flake8.available: logger.error( "Python linter requested but flake8 binary not found. " - "Please run `pip install -r dev/archery/requirements-lint.txt`") + "Please reinstall archery with `pip install dev/archery[lint]`") return flake8_exclude = ['.venv*'] diff --git a/dev/archery/requirements-lint.txt b/dev/archery/requirements-lint.txt deleted file mode 100644 index fc7f339ed4d..00000000000 --- a/dev/archery/requirements-lint.txt +++ /dev/null @@ -1,3 +0,0 @@ -autopep8 -flake8 -cmake_format==0.5.2 diff --git a/docker-compose.yml b/docker-compose.yml index fa0f0a28ad1..79618a1cfed 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1332,10 +1332,7 @@ services: environment: <<: *ccache volumes: *ubuntu-volumes - command: > - /bin/bash -c " - pip install -e /arrow/dev/archery && - archery lint --all --no-clang-tidy --no-iwyu --no-numpydoc" + command: archery lint --all --no-clang-tidy --no-iwyu --no-numpydoc ######################### Integration Tests ################################# diff --git a/docs/source/developers/python.rst b/docs/source/developers/python.rst index d1fe086cb15..f2fbb927ac9 100644 --- a/docs/source/developers/python.rst +++ b/docs/source/developers/python.rst @@ -34,8 +34,7 @@ We follow a similar PEP8-like coding style to the `pandas project .. code-block:: shell - pip install -e arrow/dev/archery - pip install -r arrow/dev/archery/requirements-lint.txt + pip install -e arrow/dev/archery[lint] .. code-block:: shell From f7584ff3efad61eae325a14ce7ab1429ab861dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 17:32:06 +0200 Subject: [PATCH 6/8] Format python/CMakeList.txt --- python/CMakeLists.txt | 81 +++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 42 deletions(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 52220767854..5dc6ccc8bc4 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -81,7 +81,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PYARROW_BUNDLE_ARROW_CPP "Bundle the Arrow C++ libraries" OFF) option(PYARROW_BUNDLE_BOOST "Bundle the Boost libraries when we bundle Arrow C++" OFF) option(PYARROW_GENERATE_COVERAGE "Build with Cython code coverage enabled" OFF) - set(PYARROW_CXXFLAGS "" CACHE STRING "Compiler flags to append when compiling Arrow") + set(PYARROW_CXXFLAGS + "" + CACHE STRING "Compiler flags to append when compiling Arrow") endif() find_program(CCACHE_FOUND ccache) @@ -132,8 +134,8 @@ else() # Suppress Cython warnings set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-variable -Wno-maybe-uninitialized") - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" - OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL + "Clang") # Cython warnings in clang set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses-equality") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-constant-logical-operand") @@ -172,10 +174,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) if(NOT APPLE) set(MORE_ARGS "-T") endif() - execute_process(COMMAND ln - ${MORE_ARGS} - -sf - ${BUILD_OUTPUT_ROOT_DIRECTORY} + execute_process(COMMAND ln ${MORE_ARGS} -sf ${BUILD_OUTPUT_ROOT_DIRECTORY} ${CMAKE_CURRENT_BINARY_DIR}/build/latest) else() set(BUILD_OUTPUT_ROOT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${BUILD_SUBDIR_NAME}") @@ -222,11 +221,12 @@ function(bundle_arrow_lib library_path) set(options) set(one_value_args SO_VERSION) set(multi_value_args) - cmake_parse_arguments(ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments( + ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -237,20 +237,17 @@ function(bundle_arrow_lib library_path) # Only copy the shared library with ABI version on Linux and macOS if(MSVC) - configure_file( - ${${library_path}} - ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} - COPYONLY) + configure_file(${${library_path}} + ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} + COPYONLY) elseif(APPLE) - configure_file( - ${LIBRARY_DIR}/${LIBRARY_NAME}.${ARG_SO_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX} - ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}.${ARG_SO_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX} - COPYONLY) + configure_file(${LIBRARY_DIR}/${LIBRARY_NAME}.${ARG_SO_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX} + ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}.${ARG_SO_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX} + COPYONLY) else() - configure_file( - ${${library_path}}.${ARG_SO_VERSION} - ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ARG_SO_VERSION} - COPYONLY) + configure_file(${${library_path}}.${ARG_SO_VERSION} + ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ARG_SO_VERSION} + COPYONLY) endif() endfunction(bundle_arrow_lib) @@ -270,15 +267,13 @@ function(bundle_boost_lib library_path) set(Boost_SO_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") if(APPLE) - configure_file( - ${${library_path}} - ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME_WE}${CMAKE_SHARED_LIBRARY_SUFFIX} - COPYONLY) + configure_file(${${library_path}} + ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME_WE}${CMAKE_SHARED_LIBRARY_SUFFIX} + COPYONLY) else() - configure_file( - ${${library_path}} - ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME_WE}${CMAKE_SHARED_LIBRARY_SUFFIX}.${Boost_SO_VERSION} - COPYONLY) + configure_file(${${library_path}} + ${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME_WE}${CMAKE_SHARED_LIBRARY_SUFFIX}.${Boost_SO_VERSION} + COPYONLY) endif() endfunction() @@ -320,9 +315,8 @@ function(bundle_arrow_dependency library_name) if(SHARED_LIB_PATH) get_filename_component(SHARED_LIB_REALPATH ${SHARED_LIB_PATH} REALPATH) get_filename_component(SHARED_LIB_NAME ${SHARED_LIB_PATH} NAME) - message( - STATUS - "Bundle dependency ${library_name}: ${SHARED_LIB_REALPATH} as ${SHARED_LIB_NAME}") + message(STATUS "Bundle dependency ${library_name}: ${SHARED_LIB_REALPATH} as ${SHARED_LIB_NAME}" + ) configure_file(${SHARED_LIB_REALPATH} ${BUILD_OUTPUT_ROOT_DIRECTORY}/${SHARED_LIB_NAME} COPYONLY) else() @@ -367,7 +361,9 @@ if(PYARROW_BUNDLE_ARROW_CPP) # disable autolinking in boost add_definitions(-DBOOST_ALL_NO_LIB) endif() - find_package(Boost COMPONENTS regex REQUIRED) + find_package(Boost + COMPONENTS regex + REQUIRED) bundle_boost_lib(Boost_REGEX_LIBRARY) endif() @@ -461,7 +457,9 @@ if(PYARROW_BUILD_PARQUET) else() set(Boost_USE_STATIC_LIBS ON) endif() - find_package(Boost COMPONENTS regex REQUIRED) + find_package(Boost + COMPONENTS regex + REQUIRED) add_thirdparty_lib(boost_regex STATIC_LIB ${Boost_REGEX_LIBRARY_RELEASE}) add_thirdparty_lib(thrift STATIC_LIB ${THRIFT_STATIC_LIB}) set(PARQUET_LINK_LIBS parquet_static thrift_static boost_regex_static) @@ -556,8 +554,8 @@ foreach(module ${CYTHON_EXTENSIONS}) if(directories) string(REPLACE ";" "/" module_output_directory ${directories}) - set_target_properties(${module_name} - PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${module_output_directory}) + set_target_properties(${module_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY + ${module_output_directory}) endif() if(PYARROW_BUNDLE_ARROW_CPP) @@ -585,9 +583,8 @@ foreach(module ${CYTHON_EXTENSIONS}) endif() if(PYARROW_GENERATE_COVERAGE) - set_target_properties(${module_name} - PROPERTIES COMPILE_DEFINITIONS - "CYTHON_TRACE=1;CYTHON_TRACE_NOGIL=1") + set_target_properties(${module_name} PROPERTIES COMPILE_DEFINITIONS + "CYTHON_TRACE=1;CYTHON_TRACE_NOGIL=1") endif() target_link_libraries(${module_name} PRIVATE ${LINK_LIBS}) From dcca09db1bae8bf3c3f9e60eed5c5582ee156fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Tue, 22 Jun 2021 17:42:18 +0200 Subject: [PATCH 7/8] Recommend installing in editable mode --- dev/archery/archery/utils/lint.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/dev/archery/archery/utils/lint.py b/dev/archery/archery/utils/lint.py index 46e3df9de4f..d95bfeea309 100644 --- a/dev/archery/archery/utils/lint.py +++ b/dev/archery/archery/utils/lint.py @@ -32,6 +32,11 @@ from .tmpdir import tmpdir +_archery_install_msg = ( + "Please install archery using: `pip install -e dev/archery[lint]`. " +) + + class LintValidationException(Exception): pass @@ -116,13 +121,13 @@ def check_version(): import cmakelang except ImportError: raise ImportError( - "Please install archery using: `pip install dev/archery[lint]`" + ) # pin a specific version of cmake_format, must be updated in setup.py if cmakelang.__version__ != "0.6.13": raise LintValidationException( - "Wrong version of cmake_format is detected. " - "Please reinstall it using `pip install dev/archery[lint]`" + f"Wrong version of cmake_format is detected. " + f"{_archery_install_msg}" ) def check(self): @@ -174,7 +179,7 @@ def python_linter(src, fix=False): if not autopep8.available: logger.error( "Python formatter requested but autopep8 binary not found. " - "Please reinstall archery with `pip install dev/archery[lint]`") + f"{_archery_install_msg}") return # Gather files for autopep8 @@ -213,7 +218,7 @@ def python_linter(src, fix=False): if not flake8.available: logger.error( "Python linter requested but flake8 binary not found. " - "Please reinstall archery with `pip install dev/archery[lint]`") + f"{_archery_install_msg}") return flake8_exclude = ['.venv*'] From ad2f15a9dd538e82439ce8c92ccc7eb73f9579a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Wed, 23 Jun 2021 12:49:25 +0200 Subject: [PATCH 8/8] Reformat using min_prefix_chars = 32 --- cmake-format.py | 2 +- cpp/CMakeLists.txt | 249 +++--- cpp/cmake_modules/BuildUtils.cmake | 168 ++-- cpp/cmake_modules/DefineOptions.cmake | 91 +-- cpp/cmake_modules/FindArrow.cmake | 61 +- cpp/cmake_modules/FindArrowCUDA.cmake | 32 +- cpp/cmake_modules/FindArrowDataset.cmake | 32 +- cpp/cmake_modules/FindArrowFlight.cmake | 32 +- .../FindArrowFlightTesting.cmake | 32 +- cpp/cmake_modules/FindArrowPython.cmake | 32 +- cpp/cmake_modules/FindArrowPythonFlight.cmake | 32 +- cpp/cmake_modules/FindArrowTesting.cmake | 32 +- cpp/cmake_modules/FindBrotli.cmake | 18 +- cpp/cmake_modules/FindGLOG.cmake | 6 +- cpp/cmake_modules/FindGandiva.cmake | 36 +- cpp/cmake_modules/FindLLVMAlt.cmake | 30 +- cpp/cmake_modules/FindLz4.cmake | 6 +- cpp/cmake_modules/FindORC.cmake | 6 +- cpp/cmake_modules/FindParquet.cmake | 34 +- cpp/cmake_modules/FindPlasma.cmake | 38 +- cpp/cmake_modules/FindSnappy.cmake | 6 +- cpp/cmake_modules/FindThrift.cmake | 6 +- cpp/cmake_modules/Findc-aresAlt.cmake | 7 +- cpp/cmake_modules/FindgRPCAlt.cmake | 14 +- cpp/cmake_modules/FindgflagsAlt.cmake | 6 +- cpp/cmake_modules/Findre2Alt.cmake | 6 +- cpp/cmake_modules/Findutf8proc.cmake | 7 +- cpp/cmake_modules/Findzstd.cmake | 6 +- cpp/cmake_modules/SetupCxxFlags.cmake | 5 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 741 +++++++++--------- cpp/src/arrow/CMakeLists.txt | 71 +- cpp/src/arrow/compute/CMakeLists.txt | 24 +- cpp/src/arrow/compute/kernels/CMakeLists.txt | 55 +- cpp/src/arrow/dataset/CMakeLists.txt | 11 +- cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt | 13 +- .../dbi/hiveserver2/thrift/CMakeLists.txt | 27 +- cpp/src/arrow/flight/CMakeLists.txt | 32 +- cpp/src/arrow/ipc/CMakeLists.txt | 11 +- cpp/src/gandiva/CMakeLists.txt | 70 +- cpp/src/gandiva/jni/CMakeLists.txt | 23 +- cpp/src/gandiva/precompiled/CMakeLists.txt | 29 +- cpp/src/gandiva/tests/CMakeLists.txt | 11 +- cpp/src/parquet/CMakeLists.txt | 178 ++--- cpp/src/plasma/CMakeLists.txt | 31 +- python/CMakeLists.txt | 11 +- 45 files changed, 1131 insertions(+), 1239 deletions(-) diff --git a/cmake-format.py b/cmake-format.py index a8548ec59da..3e77733f4d1 100644 --- a/cmake-format.py +++ b/cmake-format.py @@ -38,7 +38,7 @@ # This value only comes into play when considering whether or not to nest # arguments below their parent. If the number of characters in the parent # is less than this value, we will not nest. - min_prefix_chars = 16 + min_prefix_chars = 32 # If true, separate flow control names from their parentheses with a space separate_ctrl_name_with_space = False diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 0d563087484..91b3528bf70 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -232,48 +232,45 @@ find_program(CPPLINT_BIN HINTS ${BUILD_SUPPORT_DIR}) message(STATUS "Found cpplint executable at ${CPPLINT_BIN}") -add_custom_target( - lint - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_cpplint.py - --cpplint_binary - ${CPPLINT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) +add_custom_target(lint + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_cpplint.py + --cpplint_binary + ${CPPLINT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) # # "make format" and "make check-format" targets # if(${CLANG_FORMAT_FOUND}) # runs clang format and updates files in place. - add_custom_target( - format - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_format.py - --clang_format_binary - ${CLANG_FORMAT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - --fix - ${ARROW_LINT_QUIET}) + add_custom_target(format + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_format.py + --clang_format_binary + ${CLANG_FORMAT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + --fix + ${ARROW_LINT_QUIET}) # runs clang format and exits with a non-zero exit code if any files need to be reformatted - add_custom_target( - check-format - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_format.py - --clang_format_binary - ${CLANG_FORMAT_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) + add_custom_target(check-format + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_format.py + --clang_format_binary + ${CLANG_FORMAT_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) endif() add_custom_target(lint_cpp_cli ${PYTHON_EXECUTABLE} ${BUILD_SUPPORT_DIR}/lint_cpp_cli.py @@ -291,35 +288,33 @@ if(${CLANG_TIDY_FOUND}) # TODO check to make sure .clang-tidy is being respected # runs clang-tidy and attempts to fix any warning automatically - add_custom_target( - clang-tidy - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_tidy.py - --clang_tidy_binary - ${CLANG_TIDY_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --compile_commands - ${CMAKE_BINARY_DIR}/compile_commands.json - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - --fix - ${ARROW_LINT_QUIET}) + add_custom_target(clang-tidy + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_tidy.py + --clang_tidy_binary + ${CLANG_TIDY_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --compile_commands + ${CMAKE_BINARY_DIR}/compile_commands.json + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + --fix + ${ARROW_LINT_QUIET}) # runs clang-tidy and exits with a non-zero exit code if any errors are found. - add_custom_target( - check-clang-tidy - ${PYTHON_EXECUTABLE} - ${BUILD_SUPPORT_DIR}/run_clang_tidy.py - --clang_tidy_binary - ${CLANG_TIDY_BIN} - --exclude_globs - ${LINT_EXCLUSIONS_FILE} - --compile_commands - ${CMAKE_BINARY_DIR}/compile_commands.json - --source_dir - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${ARROW_LINT_QUIET}) + add_custom_target(check-clang-tidy + ${PYTHON_EXECUTABLE} + ${BUILD_SUPPORT_DIR}/run_clang_tidy.py + --clang_tidy_binary + ${CLANG_TIDY_BIN} + --exclude_globs + ${LINT_EXCLUSIONS_FILE} + --compile_commands + ${CMAKE_BINARY_DIR}/compile_commands.json + --source_dir + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${ARROW_LINT_QUIET}) endif() if(UNIX) @@ -400,13 +395,12 @@ if(NOT ARROW_BUILD_TESTS) set(NO_TESTS 1) else() add_custom_target(all-tests) - add_custom_target( - unittest - ctest - -j4 - -L - unittest - --output-on-failure) + add_custom_target(unittest + ctest + -j4 + -L + unittest + --output-on-failure) add_dependencies(unittest all-tests) endif() @@ -555,11 +549,10 @@ include_directories(src/generated) # Visibility # if(PARQUET_BUILD_SHARED) - set_target_properties( - arrow_shared - PROPERTIES C_VISIBILITY_PRESET hidden - CXX_VISIBILITY_PRESET hidden - VISIBILITY_INLINES_HIDDEN 1) + set_target_properties(arrow_shared + PROPERTIES C_VISIBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN 1) endif() # @@ -573,30 +566,29 @@ endif(UNIX) # "make etags" target # if(UNIX) - add_custom_target( - tags - etags - --members - --declarations - `find - ${CMAKE_CURRENT_SOURCE_DIR}/src - -name - \\*.cc - -or - -name - \\*.hh - -or - -name - \\*.cpp - -or - -name - \\*.h - -or - -name - \\*.c - -or - -name - \\*.f`) + add_custom_target(tags + etags + --members + --declarations + `find + ${CMAKE_CURRENT_SOURCE_DIR}/src + -name + \\*.cc + -or + -name + \\*.hh + -or + -name + \\*.cpp + -or + -name + \\*.h + -or + -name + \\*.c + -or + -name + \\*.f`) add_custom_target(etags DEPENDS tags) endif(UNIX) @@ -604,38 +596,37 @@ endif(UNIX) # "make cscope" target # if(UNIX) - add_custom_target( - cscope - find - ${CMAKE_CURRENT_SOURCE_DIR} - (-name - \\*.cc - -or - -name - \\*.hh - -or - -name - \\*.cpp - -or - -name - \\*.h - -or - -name - \\*.c - -or - -name - \\*.f) - -exec - echo - \"{}\" - \; - > - cscope.files - && - cscope - -q - -b - VERBATIM) + add_custom_target(cscope + find + ${CMAKE_CURRENT_SOURCE_DIR} + (-name + \\*.cc + -or + -name + \\*.hh + -or + -name + \\*.cpp + -or + -name + \\*.h + -or + -name + \\*.c + -or + -name + \\*.f) + -exec + echo + \"{}\" + \; + > + cscope.files + && + cscope + -q + -b + VERBATIM) endif(UNIX) # diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 74b46b7eb4a..cd8290d1bbb 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -50,12 +50,11 @@ function(ADD_THIRDPARTY_LIB LIB_NAME) set(options) set(one_value_args SHARED_LIB STATIC_LIB) set(multi_value_args DEPS INCLUDE_DIRECTORIES) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -147,12 +146,11 @@ function(create_merged_static_lib output_target) set(options) set(one_value_args NAME ROOT) set(multi_value_args TO_MERGE) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -207,11 +205,10 @@ function(create_merged_static_lib output_target) message(FATAL_ERROR "Unknown bundle scenario!") endif() - add_custom_command( - COMMAND ${BUNDLE_COMMAND} - OUTPUT ${output_lib_path} - COMMENT "Bundling ${output_lib_path}" - VERBATIM) + add_custom_command(COMMAND ${BUNDLE_COMMAND} + OUTPUT ${output_lib_path} + COMMENT "Bundling ${output_lib_path}" + VERBATIM) message(STATUS "Creating bundled static library target ${output_target} at ${output_lib_path}" ) @@ -244,12 +241,11 @@ function(ADD_ARROW_LIB LIB_NAME) SHARED_INSTALL_INTERFACE_LIBS STATIC_INSTALL_INTERFACE_LIBS OUTPUT_PATH) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -363,23 +359,21 @@ function(ADD_ARROW_LIB LIB_NAME) set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup ${ARG_SHARED_LINK_FLAGS}") endif() - set_target_properties( - ${LIB_NAME}_shared - PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" - RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_PATH}" - PDB_OUTPUT_DIRECTORY "${OUTPUT_PATH}" - LINK_FLAGS "${ARG_SHARED_LINK_FLAGS}" - OUTPUT_NAME ${LIB_NAME} - VERSION "${ARROW_FULL_SO_VERSION}" - SOVERSION "${ARROW_SO_VERSION}") - - target_link_libraries( - ${LIB_NAME}_shared - LINK_PUBLIC - "$" - "$" - LINK_PRIVATE - ${ARG_SHARED_PRIVATE_LINK_LIBS}) + set_target_properties(${LIB_NAME}_shared + PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + PDB_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + LINK_FLAGS "${ARG_SHARED_LINK_FLAGS}" + OUTPUT_NAME ${LIB_NAME} + VERSION "${ARROW_FULL_SO_VERSION}" + SOVERSION "${ARROW_SO_VERSION}") + + target_link_libraries(${LIB_NAME}_shared + LINK_PUBLIC + "$" + "$" + LINK_PRIVATE + ${ARG_SHARED_PRIVATE_LINK_LIBS}) if(ARROW_RPATH_ORIGIN) if(APPLE) @@ -397,9 +391,9 @@ function(ADD_ARROW_LIB LIB_NAME) else() set(_lib_install_name "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") endif() - set_target_properties( - ${LIB_NAME}_shared PROPERTIES BUILD_WITH_INSTALL_RPATH ON INSTALL_NAME_DIR - "${_lib_install_name}") + set_target_properties(${LIB_NAME}_shared + PROPERTIES BUILD_WITH_INSTALL_RPATH ON INSTALL_NAME_DIR + "${_lib_install_name}") endif() install(TARGETS ${LIB_NAME}_shared ${INSTALL_IS_OPTIONAL} @@ -443,9 +437,9 @@ function(ADD_ARROW_LIB LIB_NAME) target_compile_definitions(${LIB_NAME}_static PUBLIC ARROW_STATIC) endif() - set_target_properties( - ${LIB_NAME}_static PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" - OUTPUT_NAME ${LIB_NAME_STATIC}) + set_target_properties(${LIB_NAME}_static + PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}" + OUTPUT_NAME ${LIB_NAME_STATIC}) if(ARG_STATIC_INSTALL_INTERFACE_LIBS) target_link_libraries(${LIB_NAME}_static LINK_PUBLIC @@ -535,12 +529,11 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) DEPENDENCIES PREFIX LABELS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -586,11 +579,11 @@ function(ADD_BENCHMARK REL_BENCHMARK_NAME) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties( - ${BENCHMARK_NAME} - PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH_USE_LINK_PATH TRUE - INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib;${EXECUTABLE_OUTPUT_PATH}") + set_target_properties(${BENCHMARK_NAME} + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH + "$ENV{CONDA_PREFIX}/lib;${EXECUTABLE_OUTPUT_PATH}") endif() # Add test as dependency of relevant label targets @@ -660,12 +653,11 @@ function(ADD_TEST_CASE REL_TEST_NAME) LABELS EXTRA_LABELS PREFIX) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -697,11 +689,11 @@ function(ADD_TEST_CASE REL_TEST_NAME) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties( - ${TEST_NAME} - PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH_USE_LINK_PATH TRUE - INSTALL_RPATH "${EXECUTABLE_OUTPUT_PATH};$ENV{CONDA_PREFIX}/lib") + set_target_properties(${TEST_NAME} + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH + "${EXECUTABLE_OUTPUT_PATH};$ENV{CONDA_PREFIX}/lib") endif() if(ARG_STATIC_LINK_LIBS) @@ -770,10 +762,9 @@ function(ADD_TEST_CASE REL_TEST_NAME) # ensure there is a cmake target which exercises tests with this LABEL set(LABEL_TEST_NAME "test-${LABEL}") if(NOT TARGET ${LABEL_TEST_NAME}) - add_custom_target( - ${LABEL_TEST_NAME} - ctest -L "${LABEL}" --output-on-failure - USES_TERMINAL) + add_custom_target(${LABEL_TEST_NAME} + ctest -L "${LABEL}" --output-on-failure + USES_TERMINAL) endif() # ensure the test is (re)built before the LABEL test runs add_dependencies(${LABEL_TEST_NAME} ${TEST_NAME}) @@ -808,12 +799,11 @@ function(ADD_ARROW_EXAMPLE REL_EXAMPLE_NAME) set(options) set(one_value_args) set(multi_value_args EXTRA_LINK_LIBS DEPENDENCIES PREFIX) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -862,12 +852,11 @@ function(ADD_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LINK_LIBS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -904,12 +893,11 @@ function(ARROW_INSTALL_ALL_HEADERS PATH) set(options) set(one_value_args) set(multi_value_args PATTERN) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(NOT ARG_PATTERN) # The .hpp extension is used by some vendored libraries set(ARG_PATTERN "*.h" "*.hpp") diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake index f0abfff0e26..e2a85a4aa55 100644 --- a/cpp/cmake_modules/DefineOptions.cmake +++ b/cpp/cmake_modules/DefineOptions.cmake @@ -92,8 +92,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_BUILD_SHARED "Build shared libraries" ON) - define_option_string( - ARROW_PACKAGE_KIND "Arbitrary string that identifies the kind of package;\ + define_option_string(ARROW_PACKAGE_KIND + "Arbitrary string that identifies the kind of package;\ (for informational purposes)" "") define_option_string(ARROW_GIT_ID "The Arrow git commit id (if any)" "") @@ -110,36 +110,33 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") define_option(ARROW_USE_PRECOMPILED_HEADERS "Use precompiled headers when compiling" OFF) - define_option_string( - ARROW_SIMD_LEVEL - "Compile-time SIMD optimization level" - "SSE4_2" # default to SSE4.2 - "NONE" - "SSE4_2" - "AVX2" - "AVX512") - - define_option_string( - ARROW_RUNTIME_SIMD_LEVEL - "Max runtime SIMD optimization level" - "MAX" # default to max supported by compiler - "NONE" - "SSE4_2" - "AVX2" - "AVX512" - "MAX") + define_option_string(ARROW_SIMD_LEVEL + "Compile-time SIMD optimization level" + "SSE4_2" # default to SSE4.2 + "NONE" + "SSE4_2" + "AVX2" + "AVX512") + + define_option_string(ARROW_RUNTIME_SIMD_LEVEL + "Max runtime SIMD optimization level" + "MAX" # default to max supported by compiler + "NONE" + "SSE4_2" + "AVX2" + "AVX512" + "MAX") # Arm64 architectures and extensions can lead to exploding combinations. # So set it directly through cmake command line. # # If you change this, you need to change the definition in # python/CMakeLists.txt too. - define_option_string( - ARROW_ARMV8_ARCH - "Arm64 arch and extensions" - "armv8-a" # Default - "armv8-a" - "armv8-a+crc+crypto") + define_option_string(ARROW_ARMV8_ARCH + "Arm64 arch and extensions" + "armv8-a" # Default + "armv8-a" + "armv8-a+crc+crypto") define_option(ARROW_ALTIVEC "Build with Altivec if compiler has support" ON) @@ -175,12 +172,11 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") set(ARROW_TEST_LINKAGE_DEFAULT "static") endif() - define_option_string( - ARROW_TEST_LINKAGE - "Linkage of Arrow libraries with unit tests executables." - "${ARROW_TEST_LINKAGE_DEFAULT}" - "shared" - "static") + define_option_string(ARROW_TEST_LINKAGE + "Linkage of Arrow libraries with unit tests executables." + "${ARROW_TEST_LINKAGE_DEFAULT}" + "shared" + "static") define_option(ARROW_FUZZING "Build Arrow Fuzzing executables" OFF) @@ -297,16 +293,15 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") else() set(ARROW_DEPENDENCY_SOURCE_DEFAULT "AUTO") endif() - define_option_string( - ARROW_DEPENDENCY_SOURCE - "Method to use for acquiring arrow's build dependencies" - "${ARROW_DEPENDENCY_SOURCE_DEFAULT}" - "AUTO" - "BUNDLED" - "SYSTEM" - "CONDA" - "VCPKG" - "BREW") + define_option_string(ARROW_DEPENDENCY_SOURCE + "Method to use for acquiring arrow's build dependencies" + "${ARROW_DEPENDENCY_SOURCE_DEFAULT}" + "AUTO" + "BUNDLED" + "SYSTEM" + "CONDA" + "VCPKG" + "BREW") define_option(ARROW_VERBOSE_THIRDPARTY_BUILD "Show output from ExternalProjects rather than just logging to files" OFF) @@ -406,9 +401,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") else() set(SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT "") endif() - define_option_string( - SNAPPY_MSVC_STATIC_LIB_SUFFIX "Snappy static lib suffix used on Windows with MSVC" - "${SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT}") + define_option_string(SNAPPY_MSVC_STATIC_LIB_SUFFIX + "Snappy static lib suffix used on Windows with MSVC" + "${SNAPPY_MSVC_STATIC_LIB_SUFFIX_DEFAULT}") define_option_string(LZ4_MSVC_STATIC_LIB_SUFFIX "Lz4 static lib suffix used on Windows with MSVC" "_static") @@ -446,9 +441,9 @@ Always OFF if building binaries" OFF) "Include -static-libstdc++ -static-libgcc when linking with;Gandiva static libraries" OFF) - define_option_string( - ARROW_GANDIVA_PC_CXX_FLAGS - "Compiler flags to append when pre-compiling Gandiva operations" "") + define_option_string(ARROW_GANDIVA_PC_CXX_FLAGS + "Compiler flags to append when pre-compiling Gandiva operations" + "") #---------------------------------------------------------------------- set_option_category("Advanced developer") diff --git a/cpp/cmake_modules/FindArrow.cmake b/cpp/cmake_modules/FindArrow.cmake index c8271f10b56..68024cc2760 100644 --- a/cpp/cmake_modules/FindArrow.cmake +++ b/cpp/cmake_modules/FindArrow.cmake @@ -298,11 +298,10 @@ macro(arrow_find_package_pkg_config) PARENT_SCOPE) add_library(${target_shared} SHARED IMPORTED) - set_target_properties( - ${target_shared} - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" - INTERFACE_LINK_LIBRARIES "${rest_shared_lib_paths}" - IMPORTED_LOCATION "${first_shared_lib_path}") + set_target_properties(${target_shared} + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" + INTERFACE_LINK_LIBRARIES "${rest_shared_lib_paths}" + IMPORTED_LOCATION "${first_shared_lib_path}") get_target_property(shared_lib ${target_shared} IMPORTED_LOCATION) find_library(${prefix}_static_lib @@ -315,9 +314,9 @@ macro(arrow_find_package_pkg_config) PARENT_SCOPE) if(static_lib) add_library(${target_static} STATIC IMPORTED) - set_target_properties( - ${target_static} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" - IMPORTED_LOCATION "${static_lib}") + set_target_properties(${target_static} + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dir}" + IMPORTED_LOCATION "${static_lib}") endif() endif() endmacro() @@ -387,13 +386,12 @@ endfunction() if(NOT "$ENV{ARROW_HOME}" STREQUAL "") file(TO_CMAKE_PATH "$ENV{ARROW_HOME}" ARROW_HOME) endif() -arrow_find_package( - ARROW - "${ARROW_HOME}" - arrow - arrow/api.h - Arrow - arrow) +arrow_find_package(ARROW + "${ARROW_HOME}" + arrow + arrow/api.h + Arrow + arrow) if(ARROW_HOME) if(ARROW_INCLUDE_DIR) @@ -432,23 +430,22 @@ endif() set(ARROW_ABI_VERSION ${ARROW_SO_VERSION}) -mark_as_advanced( - ARROW_ABI_VERSION - ARROW_CONFIG_SUFFIXES - ARROW_FULL_SO_VERSION - ARROW_IMPORT_LIB - ARROW_INCLUDE_DIR - ARROW_LIBS - ARROW_LIB_DIR - ARROW_SEARCH_LIB_PATH_SUFFIXES - ARROW_SHARED_IMP_LIB - ARROW_SHARED_LIB - ARROW_SO_VERSION - ARROW_STATIC_LIB - ARROW_VERSION - ARROW_VERSION_MAJOR - ARROW_VERSION_MINOR - ARROW_VERSION_PATCH) +mark_as_advanced(ARROW_ABI_VERSION + ARROW_CONFIG_SUFFIXES + ARROW_FULL_SO_VERSION + ARROW_IMPORT_LIB + ARROW_INCLUDE_DIR + ARROW_LIBS + ARROW_LIB_DIR + ARROW_SEARCH_LIB_PATH_SUFFIXES + ARROW_SHARED_IMP_LIB + ARROW_SHARED_LIB + ARROW_SO_VERSION + ARROW_STATIC_LIB + ARROW_VERSION + ARROW_VERSION_MAJOR + ARROW_VERSION_MINOR + ARROW_VERSION_PATCH) find_package_handle_standard_args( Arrow diff --git a/cpp/cmake_modules/FindArrowCUDA.cmake b/cpp/cmake_modules/FindArrowCUDA.cmake index c2d59750d78..014386f3012 100644 --- a/cpp/cmake_modules/FindArrowCUDA.cmake +++ b/cpp/cmake_modules/FindArrowCUDA.cmake @@ -47,13 +47,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - ARROW_CUDA - "${ARROW_HOME}" - arrow_cuda - arrow/gpu/cuda_api.h - ArrowCUDA - arrow-cuda) + arrow_find_package(ARROW_CUDA + "${ARROW_HOME}" + arrow_cuda + arrow/gpu/cuda_api.h + ArrowCUDA + arrow-cuda) if(NOT ARROW_CUDA_VERSION) set(ARROW_CUDA_VERSION "${ARROW_VERSION}") endif() @@ -65,16 +64,15 @@ else() set(ARROW_CUDA_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_CUDA_IMPORT_LIB - ARROW_CUDA_INCLUDE_DIR - ARROW_CUDA_LIBS - ARROW_CUDA_LIB_DIR - ARROW_CUDA_SHARED_IMP_LIB - ARROW_CUDA_SHARED_LIB - ARROW_CUDA_STATIC_LIB - ARROW_CUDA_VERSION - ARROW_CUDA_VERSION_MATCH) +mark_as_advanced(ARROW_CUDA_IMPORT_LIB + ARROW_CUDA_INCLUDE_DIR + ARROW_CUDA_LIBS + ARROW_CUDA_LIB_DIR + ARROW_CUDA_SHARED_IMP_LIB + ARROW_CUDA_SHARED_LIB + ARROW_CUDA_STATIC_LIB + ARROW_CUDA_VERSION + ARROW_CUDA_VERSION_MATCH) find_package_handle_standard_args( ArrowCUDA diff --git a/cpp/cmake_modules/FindArrowDataset.cmake b/cpp/cmake_modules/FindArrowDataset.cmake index fedd185a222..fe74f247fc3 100644 --- a/cpp/cmake_modules/FindArrowDataset.cmake +++ b/cpp/cmake_modules/FindArrowDataset.cmake @@ -47,13 +47,12 @@ find_package(Arrow ${find_package_arguments}) find_package(Parquet ${find_package_arguments}) if(ARROW_FOUND AND PARQUET_FOUND) - arrow_find_package( - ARROW_DATASET - "${ARROW_HOME}" - arrow_dataset - arrow/dataset/api.h - ArrowDataset - arrow-dataset) + arrow_find_package(ARROW_DATASET + "${ARROW_HOME}" + arrow_dataset + arrow/dataset/api.h + ArrowDataset + arrow-dataset) if(NOT ARROW_DATASET_VERSION) set(ARROW_DATASET_VERSION "${ARROW_VERSION}") endif() @@ -65,16 +64,15 @@ else() set(ARROW_DATASET_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_DATASET_IMPORT_LIB - ARROW_DATASET_INCLUDE_DIR - ARROW_DATASET_LIBS - ARROW_DATASET_LIB_DIR - ARROW_DATASET_SHARED_IMP_LIB - ARROW_DATASET_SHARED_LIB - ARROW_DATASET_STATIC_LIB - ARROW_DATASET_VERSION - ARROW_DATASET_VERSION_MATCH) +mark_as_advanced(ARROW_DATASET_IMPORT_LIB + ARROW_DATASET_INCLUDE_DIR + ARROW_DATASET_LIBS + ARROW_DATASET_LIB_DIR + ARROW_DATASET_SHARED_IMP_LIB + ARROW_DATASET_SHARED_LIB + ARROW_DATASET_STATIC_LIB + ARROW_DATASET_VERSION + ARROW_DATASET_VERSION_MATCH) find_package_handle_standard_args( ArrowDataset diff --git a/cpp/cmake_modules/FindArrowFlight.cmake b/cpp/cmake_modules/FindArrowFlight.cmake index b22f9bbb5c6..805a4ff3803 100644 --- a/cpp/cmake_modules/FindArrowFlight.cmake +++ b/cpp/cmake_modules/FindArrowFlight.cmake @@ -48,13 +48,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - ARROW_FLIGHT - "${ARROW_HOME}" - arrow_flight - arrow/flight/api.h - ArrowFlight - arrow-flight) + arrow_find_package(ARROW_FLIGHT + "${ARROW_HOME}" + arrow_flight + arrow/flight/api.h + ArrowFlight + arrow-flight) if(NOT ARROW_FLIGHT_VERSION) set(ARROW_FLIGHT_VERSION "${ARROW_VERSION}") endif() @@ -66,16 +65,15 @@ else() set(ARROW_FLIGHT_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_FLIGHT_IMPORT_LIB - ARROW_FLIGHT_INCLUDE_DIR - ARROW_FLIGHT_LIBS - ARROW_FLIGHT_LIB_DIR - ARROW_FLIGHT_SHARED_IMP_LIB - ARROW_FLIGHT_SHARED_LIB - ARROW_FLIGHT_STATIC_LIB - ARROW_FLIGHT_VERSION - ARROW_FLIGHT_VERSION_MATCH) +mark_as_advanced(ARROW_FLIGHT_IMPORT_LIB + ARROW_FLIGHT_INCLUDE_DIR + ARROW_FLIGHT_LIBS + ARROW_FLIGHT_LIB_DIR + ARROW_FLIGHT_SHARED_IMP_LIB + ARROW_FLIGHT_SHARED_LIB + ARROW_FLIGHT_STATIC_LIB + ARROW_FLIGHT_VERSION + ARROW_FLIGHT_VERSION_MATCH) find_package_handle_standard_args( ArrowFlight diff --git a/cpp/cmake_modules/FindArrowFlightTesting.cmake b/cpp/cmake_modules/FindArrowFlightTesting.cmake index e039cf0f9e1..c0756cf637c 100644 --- a/cpp/cmake_modules/FindArrowFlightTesting.cmake +++ b/cpp/cmake_modules/FindArrowFlightTesting.cmake @@ -52,13 +52,12 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowTesting ${find_package_arguments}) if(ARROW_TESTING_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package( - ARROW_FLIGHT_TESTING - "${ARROW_HOME}" - arrow_flight_testing - arrow/flight/test_util.h - ArrowFlightTesting - arrow-flight-testing) + arrow_find_package(ARROW_FLIGHT_TESTING + "${ARROW_HOME}" + arrow_flight_testing + arrow/flight/test_util.h + ArrowFlightTesting + arrow-flight-testing) if(NOT ARROW_FLIGHT_TESTING_VERSION) set(ARROW_FLIGHT_TESTING_VERSION "${ARROW_VERSION}") endif() @@ -70,16 +69,15 @@ else() set(ARROW_FLIGHT_TESTING_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_FLIGHT_TESTING_IMPORT_LIB - ARROW_FLIGHT_TESTING_INCLUDE_DIR - ARROW_FLIGHT_TESTING_LIBS - ARROW_FLIGHT_TESTING_LIB_DIR - ARROW_FLIGHT_TESTING_SHARED_IMP_LIB - ARROW_FLIGHT_TESTING_SHARED_LIB - ARROW_FLIGHT_TESTING_STATIC_LIB - ARROW_FLIGHT_TESTING_VERSION - ARROW_FLIGHT_TESTING_VERSION_MATCH) +mark_as_advanced(ARROW_FLIGHT_TESTING_IMPORT_LIB + ARROW_FLIGHT_TESTING_INCLUDE_DIR + ARROW_FLIGHT_TESTING_LIBS + ARROW_FLIGHT_TESTING_LIB_DIR + ARROW_FLIGHT_TESTING_SHARED_IMP_LIB + ARROW_FLIGHT_TESTING_SHARED_LIB + ARROW_FLIGHT_TESTING_STATIC_LIB + ARROW_FLIGHT_TESTING_VERSION + ARROW_FLIGHT_TESTING_VERSION_MATCH) find_package_handle_standard_args( ArrowFlightTesting diff --git a/cpp/cmake_modules/FindArrowPython.cmake b/cpp/cmake_modules/FindArrowPython.cmake index 5030177bfcb..b503e6a9e02 100644 --- a/cpp/cmake_modules/FindArrowPython.cmake +++ b/cpp/cmake_modules/FindArrowPython.cmake @@ -46,13 +46,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - ARROW_PYTHON - "${ARROW_HOME}" - arrow_python - arrow/python/api.h - ArrowPython - arrow-python) + arrow_find_package(ARROW_PYTHON + "${ARROW_HOME}" + arrow_python + arrow/python/api.h + ArrowPython + arrow-python) if(NOT ARROW_PYTHON_VERSION) set(ARROW_PYTHON_VERSION "${ARROW_VERSION}") endif() @@ -64,16 +63,15 @@ else() set(ARROW_PYTHON_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_PYTHON_IMPORT_LIB - ARROW_PYTHON_INCLUDE_DIR - ARROW_PYTHON_LIBS - ARROW_PYTHON_LIB_DIR - ARROW_PYTHON_SHARED_IMP_LIB - ARROW_PYTHON_SHARED_LIB - ARROW_PYTHON_STATIC_LIB - ARROW_PYTHON_VERSION - ARROW_PYTHON_VERSION_MATCH) +mark_as_advanced(ARROW_PYTHON_IMPORT_LIB + ARROW_PYTHON_INCLUDE_DIR + ARROW_PYTHON_LIBS + ARROW_PYTHON_LIB_DIR + ARROW_PYTHON_SHARED_IMP_LIB + ARROW_PYTHON_SHARED_LIB + ARROW_PYTHON_STATIC_LIB + ARROW_PYTHON_VERSION + ARROW_PYTHON_VERSION_MATCH) find_package_handle_standard_args( ArrowPython diff --git a/cpp/cmake_modules/FindArrowPythonFlight.cmake b/cpp/cmake_modules/FindArrowPythonFlight.cmake index f88d5a81c87..3a639928ce5 100644 --- a/cpp/cmake_modules/FindArrowPythonFlight.cmake +++ b/cpp/cmake_modules/FindArrowPythonFlight.cmake @@ -49,13 +49,12 @@ find_package(ArrowFlight ${find_package_arguments}) find_package(ArrowPython ${find_package_arguments}) if(ARROW_PYTHON_FOUND AND ARROW_FLIGHT_FOUND) - arrow_find_package( - ARROW_PYTHON_FLIGHT - "${ARROW_HOME}" - arrow_python_flight - arrow/python/flight.h - ArrowPythonFlight - arrow-python-flight) + arrow_find_package(ARROW_PYTHON_FLIGHT + "${ARROW_HOME}" + arrow_python_flight + arrow/python/flight.h + ArrowPythonFlight + arrow-python-flight) if(NOT ARROW_PYTHON_FLIGHT_VERSION) set(ARROW_PYTHON_FLIGHT_VERSION "${ARROW_VERSION}") endif() @@ -67,16 +66,15 @@ else() set(ARROW_PYTHON_FLIGHT_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_PYTHON_FLIGHT_IMPORT_LIB - ARROW_PYTHON_FLIGHT_INCLUDE_DIR - ARROW_PYTHON_FLIGHT_LIBS - ARROW_PYTHON_FLIGHT_LIB_DIR - ARROW_PYTHON_FLIGHT_SHARED_IMP_LIB - ARROW_PYTHON_FLIGHT_SHARED_LIB - ARROW_PYTHON_FLIGHT_STATIC_LIB - ARROW_PYTHON_FLIGHT_VERSION - ARROW_PYTHON_FLIGHT_VERSION_MATCH) +mark_as_advanced(ARROW_PYTHON_FLIGHT_IMPORT_LIB + ARROW_PYTHON_FLIGHT_INCLUDE_DIR + ARROW_PYTHON_FLIGHT_LIBS + ARROW_PYTHON_FLIGHT_LIB_DIR + ARROW_PYTHON_FLIGHT_SHARED_IMP_LIB + ARROW_PYTHON_FLIGHT_SHARED_LIB + ARROW_PYTHON_FLIGHT_STATIC_LIB + ARROW_PYTHON_FLIGHT_VERSION + ARROW_PYTHON_FLIGHT_VERSION_MATCH) find_package_handle_standard_args( ArrowPythonFlight diff --git a/cpp/cmake_modules/FindArrowTesting.cmake b/cpp/cmake_modules/FindArrowTesting.cmake index 8ee9fa04adb..c405003ad70 100644 --- a/cpp/cmake_modules/FindArrowTesting.cmake +++ b/cpp/cmake_modules/FindArrowTesting.cmake @@ -47,13 +47,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - ARROW_TESTING - "${ARROW_HOME}" - arrow_testing - arrow/testing/util.h - ArrowTesting - arrow-testing) + arrow_find_package(ARROW_TESTING + "${ARROW_HOME}" + arrow_testing + arrow/testing/util.h + ArrowTesting + arrow-testing) if(NOT ARROW_TESTING_VERSION) set(ARROW_TESTING_VERSION "${ARROW_VERSION}") endif() @@ -65,16 +64,15 @@ else() set(ARROW_TESTING_VERSION_MATCH FALSE) endif() -mark_as_advanced( - ARROW_TESTING_IMPORT_LIB - ARROW_TESTING_INCLUDE_DIR - ARROW_TESTING_LIBS - ARROW_TESTING_LIB_DIR - ARROW_TESTING_SHARED_IMP_LIB - ARROW_TESTING_SHARED_LIB - ARROW_TESTING_STATIC_LIB - ARROW_TESTING_VERSION - ARROW_TESTING_VERSION_MATCH) +mark_as_advanced(ARROW_TESTING_IMPORT_LIB + ARROW_TESTING_INCLUDE_DIR + ARROW_TESTING_LIBS + ARROW_TESTING_LIB_DIR + ARROW_TESTING_SHARED_IMP_LIB + ARROW_TESTING_SHARED_LIB + ARROW_TESTING_STATIC_LIB + ARROW_TESTING_VERSION + ARROW_TESTING_VERSION_MATCH) find_package_handle_standard_args( ArrowTesting diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake index 1b007b17b17..e2670b51a9e 100644 --- a/cpp/cmake_modules/FindBrotli.cmake +++ b/cpp/cmake_modules/FindBrotli.cmake @@ -116,15 +116,15 @@ find_package_handle_standard_args( if(Brotli_FOUND OR BROTLI_FOUND) set(Brotli_FOUND TRUE) add_library(Brotli::brotlicommon UNKNOWN IMPORTED) - set_target_properties( - Brotli::brotlicommon PROPERTIES IMPORTED_LOCATION "${BROTLI_COMMON_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlicommon + PROPERTIES IMPORTED_LOCATION "${BROTLI_COMMON_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlienc UNKNOWN IMPORTED) - set_target_properties( - Brotli::brotlienc PROPERTIES IMPORTED_LOCATION "${BROTLI_ENC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlienc + PROPERTIES IMPORTED_LOCATION "${BROTLI_ENC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlidec UNKNOWN IMPORTED) - set_target_properties( - Brotli::brotlidec PROPERTIES IMPORTED_LOCATION "${BROTLI_DEC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlidec + PROPERTIES IMPORTED_LOCATION "${BROTLI_DEC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindGLOG.cmake b/cpp/cmake_modules/FindGLOG.cmake index 78733e29cb3..d67eb005621 100644 --- a/cpp/cmake_modules/FindGLOG.cmake +++ b/cpp/cmake_modules/FindGLOG.cmake @@ -50,7 +50,7 @@ find_package_handle_standard_args(GLOG REQUIRED_VARS GLOG_INCLUDE_DIR GLOG_LIB) if(GLOG_FOUND) add_library(glog::glog UNKNOWN IMPORTED) - set_target_properties( - glog::glog PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${GLOG_INCLUDE_DIR}") + set_target_properties(glog::glog + PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindGandiva.cmake b/cpp/cmake_modules/FindGandiva.cmake index d690eed1d91..c533abed733 100644 --- a/cpp/cmake_modules/FindGandiva.cmake +++ b/cpp/cmake_modules/FindGandiva.cmake @@ -48,13 +48,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - GANDIVA - "${ARROW_HOME}" - gandiva - gandiva/arrow.h - Gandiva - gandiva) + arrow_find_package(GANDIVA + "${ARROW_HOME}" + gandiva + gandiva/arrow.h + Gandiva + gandiva) if(NOT GANDIVA_VERSION) set(GANDIVA_VERSION "${ARROW_VERSION}") endif() @@ -68,18 +67,17 @@ else() set(GANDIVA_VERSION_MATCH FALSE) endif() -mark_as_advanced( - GANDIVA_ABI_VERSION - GANDIVA_IMPORT_LIB - GANDIVA_INCLUDE_DIR - GANDIVA_LIBS - GANDIVA_LIB_DIR - GANDIVA_SHARED_IMP_LIB - GANDIVA_SHARED_LIB - GANDIVA_SO_VERSION - GANDIVA_STATIC_LIB - GANDIVA_VERSION - GANDIVA_VERSION_MATCH) +mark_as_advanced(GANDIVA_ABI_VERSION + GANDIVA_IMPORT_LIB + GANDIVA_INCLUDE_DIR + GANDIVA_LIBS + GANDIVA_LIB_DIR + GANDIVA_SHARED_IMP_LIB + GANDIVA_SHARED_LIB + GANDIVA_SO_VERSION + GANDIVA_STATIC_LIB + GANDIVA_VERSION + GANDIVA_VERSION_MATCH) find_package_handle_standard_args( Gandiva diff --git a/cpp/cmake_modules/FindLLVMAlt.cmake b/cpp/cmake_modules/FindLLVMAlt.cmake index 1ec58f852de..380f2d47c72 100644 --- a/cpp/cmake_modules/FindLLVMAlt.cmake +++ b/cpp/cmake_modules/FindLLVMAlt.cmake @@ -36,17 +36,16 @@ endforeach() if(LLVM_FOUND) # Find the libraries that correspond to the LLVM components - llvm_map_components_to_libnames( - LLVM_LIBS - core - mcjit - native - ipo - bitreader - target - linker - analysis - debuginfodwarf) + llvm_map_components_to_libnames(LLVM_LIBS + core + mcjit + native + ipo + bitreader + target + linker + analysis + debuginfodwarf) find_program(LLVM_LINK_EXECUTABLE llvm-link HINTS ${LLVM_TOOLS_BINARY_DIR}) @@ -58,11 +57,10 @@ if(LLVM_FOUND) add_library(LLVM::LLVM_INTERFACE INTERFACE IMPORTED) - set_target_properties( - LLVM::LLVM_INTERFACE - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIRS}" - INTERFACE_COMPILE_FLAGS "${LLVM_DEFINITIONS}" - INTERFACE_LINK_LIBRARIES "${LLVM_LIBS}") + set_target_properties(LLVM::LLVM_INTERFACE + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIRS}" + INTERFACE_COMPILE_FLAGS "${LLVM_DEFINITIONS}" + INTERFACE_LINK_LIBRARIES "${LLVM_LIBS}") endif() mark_as_advanced(CLANG_EXECUTABLE LLVM_LINK_EXECUTABLE) diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake index 1c5c6240a0f..bc8051fe9c5 100644 --- a/cpp/cmake_modules/FindLz4.cmake +++ b/cpp/cmake_modules/FindLz4.cmake @@ -78,7 +78,7 @@ find_package_handle_standard_args(Lz4 REQUIRED_VARS LZ4_LIB LZ4_INCLUDE_DIR) if(Lz4_FOUND) set(Lz4_FOUND TRUE) add_library(LZ4::lz4 UNKNOWN IMPORTED) - set_target_properties( - LZ4::lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${LZ4_INCLUDE_DIR}") + set_target_properties(LZ4::lz4 + PROPERTIES IMPORTED_LOCATION "${LZ4_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindORC.cmake b/cpp/cmake_modules/FindORC.cmake index 572d46b9e52..d45b1607833 100644 --- a/cpp/cmake_modules/FindORC.cmake +++ b/cpp/cmake_modules/FindORC.cmake @@ -44,9 +44,9 @@ endif() if(ORC_STATIC_LIB AND ORC_INCLUDE_DIR) set(ORC_FOUND TRUE) add_library(orc::liborc STATIC IMPORTED) - set_target_properties( - orc::liborc PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") + set_target_properties(orc::liborc + PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") else() if(ORC_FIND_REQUIRED) message(FATAL_ERROR "ORC library was required in toolchain and unable to locate") diff --git a/cpp/cmake_modules/FindParquet.cmake b/cpp/cmake_modules/FindParquet.cmake index 7f574cbc938..e071fc822b6 100644 --- a/cpp/cmake_modules/FindParquet.cmake +++ b/cpp/cmake_modules/FindParquet.cmake @@ -56,13 +56,12 @@ if((NOT PARQUET_HOME) AND ARROW_HOME) endif() if(ARROW_FOUND) - arrow_find_package( - PARQUET - "${PARQUET_HOME}" - parquet - parquet/api/reader.h - Parquet - parquet) + arrow_find_package(PARQUET + "${PARQUET_HOME}" + parquet + parquet/api/reader.h + Parquet + parquet) if(PARQUET_HOME) if(PARQUET_INCLUDE_DIR) file(READ "${PARQUET_INCLUDE_DIR}/parquet/parquet_version.h" @@ -102,17 +101,16 @@ if(ARROW_FOUND) set(PARQUET_ABI_VERSION "${PARQUET_SO_VERSION}") endif() -mark_as_advanced( - PARQUET_ABI_VERSION - PARQUET_IMPORT_LIB - PARQUET_INCLUDE_DIR - PARQUET_LIBS - PARQUET_LIB_DIR - PARQUET_SHARED_IMP_LIB - PARQUET_SHARED_LIB - PARQUET_SO_VERSION - PARQUET_STATIC_LIB - PARQUET_VERSION) +mark_as_advanced(PARQUET_ABI_VERSION + PARQUET_IMPORT_LIB + PARQUET_INCLUDE_DIR + PARQUET_LIBS + PARQUET_LIB_DIR + PARQUET_SHARED_IMP_LIB + PARQUET_SHARED_LIB + PARQUET_SO_VERSION + PARQUET_STATIC_LIB + PARQUET_VERSION) find_package_handle_standard_args( Parquet diff --git a/cpp/cmake_modules/FindPlasma.cmake b/cpp/cmake_modules/FindPlasma.cmake index 99bcb96efde..2e634844c59 100644 --- a/cpp/cmake_modules/FindPlasma.cmake +++ b/cpp/cmake_modules/FindPlasma.cmake @@ -50,13 +50,12 @@ endif() find_package(Arrow ${find_package_arguments}) if(ARROW_FOUND) - arrow_find_package( - PLASMA - "${ARROW_HOME}" - plasma - plasma/client.h - Plasma - plasma) + arrow_find_package(PLASMA + "${ARROW_HOME}" + plasma + plasma/client.h + Plasma + plasma) if(ARROW_HOME) set(PLASMA_STORE_SERVER ${ARROW_HOME}/bin/plasma-store-server${CMAKE_EXECUTABLE_SUFFIX}) @@ -75,19 +74,18 @@ if(ARROW_FOUND) set(PLASMA_LIBS "${PLASMA_LIB_DIR}") endif() -mark_as_advanced( - PLASMA_ABI_VERSION - PLASMA_EXECUTABLE - PLASMA_IMPORT_LIB - PLASMA_INCLUDE_DIR - PLASMA_LIBS - PLASMA_LIB_DIR - PLASMA_SHARED_IMP_LIB - PLASMA_SHARED_LIB - PLASMA_SO_VERSION - PLASMA_STATIC_LIB - PLASMA_STORE_SERVER - PLASMA_VERSION) +mark_as_advanced(PLASMA_ABI_VERSION + PLASMA_EXECUTABLE + PLASMA_IMPORT_LIB + PLASMA_INCLUDE_DIR + PLASMA_LIBS + PLASMA_LIB_DIR + PLASMA_SHARED_IMP_LIB + PLASMA_SHARED_LIB + PLASMA_SO_VERSION + PLASMA_STATIC_LIB + PLASMA_STORE_SERVER + PLASMA_VERSION) find_package_handle_standard_args( Plasma diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake index 08face8d22c..747df31854d 100644 --- a/cpp/cmake_modules/FindSnappy.cmake +++ b/cpp/cmake_modules/FindSnappy.cmake @@ -56,7 +56,7 @@ find_package_handle_standard_args(Snappy REQUIRED_VARS Snappy_LIB Snappy_INCLUDE if(Snappy_FOUND) add_library(Snappy::snappy UNKNOWN IMPORTED) - set_target_properties( - Snappy::snappy PROPERTIES IMPORTED_LOCATION "${Snappy_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${Snappy_INCLUDE_DIR}") + set_target_properties(Snappy::snappy + PROPERTIES IMPORTED_LOCATION "${Snappy_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${Snappy_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake index 4f29d0d2de8..750d8ce8341 100644 --- a/cpp/cmake_modules/FindThrift.cmake +++ b/cpp/cmake_modules/FindThrift.cmake @@ -132,9 +132,9 @@ if(Thrift_FOUND OR THRIFT_FOUND) else() add_library(thrift::thrift STATIC IMPORTED) endif() - set_target_properties( - thrift::thrift PROPERTIES IMPORTED_LOCATION "${THRIFT_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") + set_target_properties(thrift::thrift + PROPERTIES IMPORTED_LOCATION "${THRIFT_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") if(WIN32 AND NOT MSVC_TOOLCHAIN) # We don't need this for Visual C++ because Thrift uses # "#pragma comment(lib, "Ws2_32.lib")" in diff --git a/cpp/cmake_modules/Findc-aresAlt.cmake b/cpp/cmake_modules/Findc-aresAlt.cmake index edc0d41eaf9..5213e8d12a1 100644 --- a/cpp/cmake_modules/Findc-aresAlt.cmake +++ b/cpp/cmake_modules/Findc-aresAlt.cmake @@ -65,8 +65,9 @@ find_package_handle_standard_args(c-aresAlt REQUIRED_VARS c-ares_LIB c-ares_INCL if(c-aresAlt_FOUND) if(NOT TARGET c-ares::cares) add_library(c-ares::cares UNKNOWN IMPORTED) - set_target_properties( - c-ares::cares PROPERTIES IMPORTED_LOCATION "${c-ares_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${c-ares_INCLUDE_DIR}") + set_target_properties(c-ares::cares + PROPERTIES IMPORTED_LOCATION "${c-ares_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${c-ares_INCLUDE_DIR}") endif() endif() diff --git a/cpp/cmake_modules/FindgRPCAlt.cmake b/cpp/cmake_modules/FindgRPCAlt.cmake index da66fe26e42..18b23f32269 100644 --- a/cpp/cmake_modules/FindgRPCAlt.cmake +++ b/cpp/cmake_modules/FindgRPCAlt.cmake @@ -62,13 +62,13 @@ endif() if(gRPCAlt_FOUND) add_library(gRPC::grpc++ UNKNOWN IMPORTED) - set_target_properties( - gRPC::grpc++ - PROPERTIES IMPORTED_LOCATION "${GRPCPP_IMPORTED_LOCATION}" - INTERFACE_COMPILE_OPTIONS "${GRPCPP_COMPILE_OPTIONS}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPCPP_INCLUDE_DIRECTORIES}" - INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}" - INTERFACE_LINK_OPTIONS "${GRPCPP_LINK_OPTIONS}") + set_target_properties(gRPC::grpc++ + PROPERTIES IMPORTED_LOCATION "${GRPCPP_IMPORTED_LOCATION}" + INTERFACE_COMPILE_OPTIONS "${GRPCPP_COMPILE_OPTIONS}" + INTERFACE_INCLUDE_DIRECTORIES + "${GRPCPP_INCLUDE_DIRECTORIES}" + INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}" + INTERFACE_LINK_OPTIONS "${GRPCPP_LINK_OPTIONS}") add_executable(gRPC::grpc_cpp_plugin IMPORTED) set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_LOCATION diff --git a/cpp/cmake_modules/FindgflagsAlt.cmake b/cpp/cmake_modules/FindgflagsAlt.cmake index 7005ae1c703..e092ea3e9b9 100644 --- a/cpp/cmake_modules/FindgflagsAlt.cmake +++ b/cpp/cmake_modules/FindgflagsAlt.cmake @@ -52,8 +52,8 @@ find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCL if(gflagsAlt_FOUND) add_library(gflags::gflags UNKNOWN IMPORTED) - set_target_properties( - gflags::gflags PROPERTIES IMPORTED_LOCATION "${gflags_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") + set_target_properties(gflags::gflags + PROPERTIES IMPORTED_LOCATION "${gflags_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") set(GFLAGS_LIBRARIES gflags::gflags) endif() diff --git a/cpp/cmake_modules/Findre2Alt.cmake b/cpp/cmake_modules/Findre2Alt.cmake index afd72478ce6..68abf1b75fe 100644 --- a/cpp/cmake_modules/Findre2Alt.cmake +++ b/cpp/cmake_modules/Findre2Alt.cmake @@ -80,8 +80,8 @@ find_package_handle_standard_args(re2Alt REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR) if(re2Alt_FOUND) if(NOT TARGET re2::re2) add_library(re2::re2 UNKNOWN IMPORTED) - set_target_properties( - re2::re2 PROPERTIES IMPORTED_LOCATION "${RE2_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${RE2_INCLUDE_DIR}") + set_target_properties(re2::re2 + PROPERTIES IMPORTED_LOCATION "${RE2_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${RE2_INCLUDE_DIR}") endif() endif() diff --git a/cpp/cmake_modules/Findutf8proc.cmake b/cpp/cmake_modules/Findutf8proc.cmake index da1d7a4357c..4d732f18694 100644 --- a/cpp/cmake_modules/Findutf8proc.cmake +++ b/cpp/cmake_modules/Findutf8proc.cmake @@ -90,9 +90,10 @@ find_package_handle_standard_args( if(utf8proc_FOUND) set(utf8proc_FOUND TRUE) add_library(utf8proc::utf8proc UNKNOWN IMPORTED) - set_target_properties( - utf8proc::utf8proc PROPERTIES IMPORTED_LOCATION "${utf8proc_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${utf8proc_INCLUDE_DIR}") + set_target_properties(utf8proc::utf8proc + PROPERTIES IMPORTED_LOCATION "${utf8proc_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${utf8proc_INCLUDE_DIR}") if(NOT ARROW_UTF8PROC_USE_SHARED) set_target_properties(utf8proc::utf8proc PROPERTIES INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC") diff --git a/cpp/cmake_modules/Findzstd.cmake b/cpp/cmake_modules/Findzstd.cmake index d94a466a846..73b7ab250fb 100644 --- a/cpp/cmake_modules/Findzstd.cmake +++ b/cpp/cmake_modules/Findzstd.cmake @@ -83,7 +83,7 @@ find_package_handle_standard_args(zstd REQUIRED_VARS ZSTD_LIB ZSTD_INCLUDE_DIR) if(zstd_FOUND) add_library(zstd::libzstd UNKNOWN IMPORTED) - set_target_properties( - zstd::libzstd PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${ZSTD_INCLUDE_DIR}") + set_target_properties(zstd::libzstd + PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake index 165097b8469..354461cbd27 100644 --- a/cpp/cmake_modules/SetupCxxFlags.cmake +++ b/cpp/cmake_modules/SetupCxxFlags.cmake @@ -64,8 +64,7 @@ if(ARROW_CPU_FLAG STREQUAL "x86") # Check for AVX512 support in the compiler. set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS}) set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${ARROW_AVX512_FLAG}") - check_cxx_source_compiles( - " + check_cxx_source_compiles(" #ifdef _MSC_VER #include #else @@ -78,7 +77,7 @@ if(ARROW_CPU_FLAG STREQUAL "x86") _mm512_storeu_si512(out, mask); return 0; }" - CXX_SUPPORTS_AVX512) + CXX_SUPPORTS_AVX512) set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS}) endif() # Runtime SIMD level it can get from compiler and ARROW_RUNTIME_SIMD_LEVEL diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 6249bfea518..40f73f92129 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -196,12 +196,11 @@ endmacro() macro(resolve_dependency DEPENDENCY_NAME) set(options) set(one_value_args HAVE_ALT IS_RUNTIME_DEPENDENCY REQUIRED_VERSION USE_CONFIG) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif() @@ -756,23 +755,21 @@ macro(build_boost) add_thirdparty_lib(boost_filesystem STATIC_LIB "${BOOST_STATIC_FILESYSTEM_LIBRARY}") - 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}) + 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}) list(APPEND ARROW_BUNDLED_STATIC_LIBS boost_system_static boost_filesystem_static) else() - externalproject_add( - boost_ep - ${EP_LOG_OPTIONS} - BUILD_COMMAND "" - CONFIGURE_COMMAND "" - INSTALL_COMMAND "" - URL ${BOOST_SOURCE_URL}) + externalproject_add(boost_ep + ${EP_LOG_OPTIONS} + BUILD_COMMAND "" + CONFIGURE_COMMAND "" + INSTALL_COMMAND "" + URL ${BOOST_SOURCE_URL}) endif() set(Boost_INCLUDE_DIR "${BOOST_PREFIX}") set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIR}") @@ -872,15 +869,14 @@ else() endif() if(ARROW_BOOST_REQUIRED) - resolve_dependency( - Boost - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_BOOST_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - # libarrow.so doesn't depend on libboost*. - FALSE) + resolve_dependency(Boost + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_BOOST_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + # libarrow.so doesn't depend on libboost*. + FALSE) if(TARGET Boost::system) set(BOOST_SYSTEM_LIBRARY Boost::system) @@ -915,21 +911,21 @@ macro(build_snappy) ${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}") + 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}") file(MAKE_DIRECTORY "${SNAPPY_PREFIX}/include") add_library(Snappy::snappy STATIC IMPORTED) - set_target_properties( - Snappy::snappy PROPERTIES IMPORTED_LOCATION "${SNAPPY_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_PREFIX}/include") + set_target_properties(Snappy::snappy + PROPERTIES IMPORTED_LOCATION "${SNAPPY_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${SNAPPY_PREFIX}/include") add_dependencies(toolchain snappy_ep) add_dependencies(Snappy::snappy snappy_ep) @@ -963,36 +959,35 @@ macro(build_brotli) set(BROTLI_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${BROTLI_PREFIX}" -DCMAKE_INSTALL_LIBDIR=${BROTLI_LIB_DIR}) - 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) + 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) add_dependencies(toolchain brotli_ep) file(MAKE_DIRECTORY "${BROTLI_INCLUDE_DIR}") add_library(Brotli::brotlicommon STATIC IMPORTED) - set_target_properties( - Brotli::brotlicommon PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_COMMON}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlicommon + PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_COMMON}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlicommon brotli_ep) add_library(Brotli::brotlienc STATIC IMPORTED) - set_target_properties( - Brotli::brotlienc PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_ENC}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlienc + PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_ENC}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlienc brotli_ep) add_library(Brotli::brotlidec STATIC IMPORTED) - set_target_properties( - Brotli::brotlidec PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_DEC}" - INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") + set_target_properties(Brotli::brotlidec + PROPERTIES IMPORTED_LOCATION "${BROTLI_STATIC_LIBRARY_DEC}" + INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") add_dependencies(Brotli::brotlidec brotli_ep) list(APPEND @@ -1103,20 +1098,19 @@ macro(build_glog) -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GLOG_CMAKE_CXX_FLAGS} -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}) + 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}) add_dependencies(toolchain glog_ep) file(MAKE_DIRECTORY "${GLOG_INCLUDE_DIR}") add_library(glog::glog STATIC IMPORTED) - set_target_properties( - glog::glog PROPERTIES IMPORTED_LOCATION "${GLOG_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") + set_target_properties(glog::glog + PROPERTIES IMPORTED_LOCATION "${GLOG_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIR}") add_dependencies(glog::glog glog_ep) list(APPEND ARROW_BUNDLED_STATIC_LIBS glog::glog) @@ -1169,20 +1163,19 @@ macro(build_gflags) -DINSTALL_HEADERS=ON) 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}) + 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}) add_dependencies(toolchain gflags_ep) add_thirdparty_lib(gflags STATIC_LIB ${GFLAGS_STATIC_LIB}) set(GFLAGS_LIBRARY gflags_static) - set_target_properties( - ${GFLAGS_LIBRARY} PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GFLAGS_IS_A_DLL=0" - INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") + set_target_properties(${GFLAGS_LIBRARY} + PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GFLAGS_IS_A_DLL=0" + INTERFACE_INCLUDE_DIRECTORIES "${GFLAGS_INCLUDE_DIR}") if(MSVC) set_target_properties(${GFLAGS_LIBRARY} PROPERTIES INTERFACE_LINK_LIBRARIES "shlwapi.lib") @@ -1196,14 +1189,13 @@ endmacro() if(ARROW_NEED_GFLAGS) set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") - resolve_dependency( - gflags - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_GFLAGS_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) + resolve_dependency(gflags + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_GFLAGS_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + FALSE) # TODO: Don't use global includes but rather target_include_directories include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) @@ -1275,20 +1267,19 @@ macro(build_thrift) set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} boost_ep) endif() - externalproject_add( - thrift_ep - URL ${THRIFT_SOURCE_URL} - URL_HASH "MD5=${ARROW_THRIFT_BUILD_MD5_CHECKSUM}" - BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" - CMAKE_ARGS ${THRIFT_CMAKE_ARGS} - DEPENDS ${THRIFT_DEPENDENCIES} ${EP_LOG_OPTIONS}) + externalproject_add(thrift_ep + URL ${THRIFT_SOURCE_URL} + URL_HASH "MD5=${ARROW_THRIFT_BUILD_MD5_CHECKSUM}" + BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" + 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. file(MAKE_DIRECTORY "${THRIFT_INCLUDE_DIR}") - set_target_properties( - thrift::thrift PROPERTIES IMPORTED_LOCATION "${THRIFT_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") + set_target_properties(thrift::thrift + PROPERTIES IMPORTED_LOCATION "${THRIFT_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") add_dependencies(toolchain thrift_ep) add_dependencies(thrift::thrift thrift_ep) set(THRIFT_VERSION ${ARROW_THRIFT_BUILD_VERSION}) @@ -1361,25 +1352,25 @@ macro(build_protobuf) SOURCE_SUBDIR "cmake") endif() - externalproject_add( - protobuf_ep - ${PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS} - BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOBUF_COMPILER}" ${EP_LOG_OPTIONS} - BUILD_IN_SOURCE 1 - URL ${PROTOBUF_SOURCE_URL}) + externalproject_add(protobuf_ep + ${PROTOBUF_EXTERNAL_PROJECT_ADD_ARGS} + BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOBUF_COMPILER}" + ${EP_LOG_OPTIONS} + BUILD_IN_SOURCE 1 + URL ${PROTOBUF_SOURCE_URL}) file(MAKE_DIRECTORY "${PROTOBUF_INCLUDE_DIR}") add_library(arrow::protobuf::libprotobuf STATIC IMPORTED) - set_target_properties( - arrow::protobuf::libprotobuf - PROPERTIES IMPORTED_LOCATION "${PROTOBUF_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + set_target_properties(arrow::protobuf::libprotobuf + PROPERTIES IMPORTED_LOCATION "${PROTOBUF_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${PROTOBUF_INCLUDE_DIR}") add_library(arrow::protobuf::libprotoc STATIC IMPORTED) - set_target_properties( - arrow::protobuf::libprotoc - PROPERTIES IMPORTED_LOCATION "${PROTOC_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + set_target_properties(arrow::protobuf::libprotoc + PROPERTIES IMPORTED_LOCATION "${PROTOC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${PROTOBUF_INCLUDE_DIR}") add_executable(arrow::protobuf::protoc IMPORTED) set_target_properties(arrow::protobuf::protoc PROPERTIES IMPORTED_LOCATION "${PROTOBUF_COMPILER}") @@ -1416,10 +1407,10 @@ if(ARROW_WITH_PROTOBUF) # CMake 3.8 or older don't define the targets if(NOT TARGET protobuf::libprotobuf) add_library(protobuf::libprotobuf UNKNOWN IMPORTED) - set_target_properties( - protobuf::libprotobuf - PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES - "${PROTOBUF_INCLUDE_DIR}") + set_target_properties(protobuf::libprotobuf + PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES + "${PROTOBUF_INCLUDE_DIR}") endif() set(ARROW_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) endif() @@ -1436,10 +1427,10 @@ if(ARROW_WITH_PROTOBUF) message(FATAL_ERROR "libprotoc was set to ${Protobuf_PROTOC_LIBRARY}") endif() add_library(protobuf::libprotoc UNKNOWN IMPORTED) - set_target_properties( - protobuf::libprotoc - PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}") + set_target_properties(protobuf::libprotoc + PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES + "${PROTOBUF_INCLUDE_DIR}") endif() set(ARROW_PROTOBUF_LIBPROTOC protobuf::libprotoc) endif() @@ -1505,16 +1496,15 @@ if(ARROW_JEMALLOC) if(CMAKE_OSX_SYSROOT) list(APPEND JEMALLOC_BUILD_COMMAND "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() - externalproject_add( - jemalloc_ep - URL ${JEMALLOC_SOURCE_URL} - PATCH_COMMAND touch doc/jemalloc.3 doc/jemalloc.html - # The prefix "je_arrow_" must be kept in sync with the value in memory_pool.cc - CONFIGURE_COMMAND ${JEMALLOC_CONFIGURE_COMMAND} - BUILD_IN_SOURCE 1 - BUILD_COMMAND ${JEMALLOC_BUILD_COMMAND} - BUILD_BYPRODUCTS "${JEMALLOC_STATIC_LIB}" - INSTALL_COMMAND ${MAKE} -j1 install) + externalproject_add(jemalloc_ep + URL ${JEMALLOC_SOURCE_URL} + PATCH_COMMAND touch doc/jemalloc.3 doc/jemalloc.html + # The prefix "je_arrow_" must be kept in sync with the value in memory_pool.cc + CONFIGURE_COMMAND ${JEMALLOC_CONFIGURE_COMMAND} + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${JEMALLOC_BUILD_COMMAND} + BUILD_BYPRODUCTS "${JEMALLOC_STATIC_LIB}" + INSTALL_COMMAND ${MAKE} -j1 install) # Don't use the include directory directly so that we can point to a path # that is unique to our codebase. @@ -1522,12 +1512,11 @@ if(ARROW_JEMALLOC) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src/") add_library(jemalloc::jemalloc STATIC IMPORTED) - set_target_properties( - jemalloc::jemalloc - PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads - IMPORTED_LOCATION "${JEMALLOC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES - "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src") + set_target_properties(jemalloc::jemalloc + PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads + IMPORTED_LOCATION "${JEMALLOC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src") add_dependencies(jemalloc::jemalloc jemalloc_ep) list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) @@ -1563,21 +1552,20 @@ if(ARROW_MIMALLOC) -DMI_BUILD_SHARED=OFF -DMI_BUILD_TESTS=OFF) - externalproject_add( - mimalloc_ep - URL ${MIMALLOC_SOURCE_URL} - CMAKE_ARGS ${MIMALLOC_CMAKE_ARGS} - BUILD_BYPRODUCTS "${MIMALLOC_STATIC_LIB}") + externalproject_add(mimalloc_ep + URL ${MIMALLOC_SOURCE_URL} + CMAKE_ARGS ${MIMALLOC_CMAKE_ARGS} + BUILD_BYPRODUCTS "${MIMALLOC_STATIC_LIB}") include_directories(SYSTEM ${MIMALLOC_INCLUDE_DIR}) file(MAKE_DIRECTORY ${MIMALLOC_INCLUDE_DIR}) add_library(mimalloc::mimalloc STATIC IMPORTED) - set_target_properties( - mimalloc::mimalloc - PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads - IMPORTED_LOCATION "${MIMALLOC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${MIMALLOC_INCLUDE_DIR}") + set_target_properties(mimalloc::mimalloc + PROPERTIES INTERFACE_LINK_LIBRARIES Threads::Threads + IMPORTED_LOCATION "${MIMALLOC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${MIMALLOC_INCLUDE_DIR}") add_dependencies(mimalloc::mimalloc mimalloc_ep) add_dependencies(toolchain mimalloc_ep) @@ -1652,11 +1640,11 @@ macro(build_gtest) set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} -Dgtest_force_shared_crt=ON) endif() - externalproject_add( - googletest_ep - URL ${GTEST_SOURCE_URL} - BUILD_BYPRODUCTS ${GTEST_SHARED_LIB} ${GTEST_MAIN_SHARED_LIB} ${GMOCK_SHARED_LIB} - CMAKE_ARGS ${GTEST_CMAKE_ARGS} ${EP_LOG_OPTIONS}) + externalproject_add(googletest_ep + URL ${GTEST_SOURCE_URL} + BUILD_BYPRODUCTS ${GTEST_SHARED_LIB} ${GTEST_MAIN_SHARED_LIB} + ${GMOCK_SHARED_LIB} + CMAKE_ARGS ${GTEST_CMAKE_ARGS} ${EP_LOG_OPTIONS}) if(WIN32) # Copy the built shared libraries to the same directory as our # test programs because Windows doesn't provided rpath (run-time @@ -1686,33 +1674,35 @@ macro(build_gtest) else() set(_GTEST_RUNTIME_OUTPUT_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY}) endif() - externalproject_add_step( - googletest_ep copy - COMMAND ${CMAKE_COMMAND} -E make_directory ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_RUNTIME_LIB} ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${_GMOCK_RUNTIME_LIB} ${_GTEST_RUNTIME_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_MAIN_RUNTIME_LIB} - ${_GTEST_RUNTIME_OUTPUT_DIR} - DEPENDEES install) + externalproject_add_step(googletest_ep copy + COMMAND ${CMAKE_COMMAND} -E make_directory + ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_RUNTIME_LIB} + ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GMOCK_RUNTIME_LIB} + ${_GTEST_RUNTIME_OUTPUT_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${_GTEST_MAIN_RUNTIME_LIB} + ${_GTEST_RUNTIME_OUTPUT_DIR} + DEPENDEES install) endif() # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GTEST_INCLUDE_DIR}") add_library(GTest::gtest SHARED IMPORTED) - set_target_properties( - GTest::gtest PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties(GTest::gtest + PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_library(GTest::gtest_main SHARED IMPORTED) - set_target_properties( - GTest::gtest_main PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_MAIN_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties(GTest::gtest_main + PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GTEST_MAIN_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_library(GTest::gmock SHARED IMPORTED) - set_target_properties( - GTest::gmock PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GMOCK_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") + set_target_properties(GTest::gmock + PROPERTIES ${_GTEST_IMPORTED_TYPE} "${GMOCK_SHARED_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") add_dependencies(toolchain-tests googletest_ep) add_dependencies(GTest::gtest googletest_ep) add_dependencies(GTest::gtest_main googletest_ep) @@ -1720,12 +1710,11 @@ macro(build_gtest) endmacro() if(ARROW_TESTING) - resolve_dependency( - GTest - REQUIRED_VERSION - 1.10.0 - USE_CONFIG - TRUE) + resolve_dependency(GTest + REQUIRED_VERSION + 1.10.0 + USE_CONFIG + TRUE) if(NOT GTEST_VENDORED) # TODO(wesm): This logic does not work correctly with the MSVC static libraries @@ -1795,26 +1784,26 @@ macro(build_benchmark) 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}) + 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}) # The include directory must exist before it is referenced by a target. file(MAKE_DIRECTORY "${GBENCHMARK_INCLUDE_DIR}") add_library(benchmark::benchmark STATIC IMPORTED) - set_target_properties( - benchmark::benchmark - PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_STATIC_LIB}" INTERFACE_INCLUDE_DIRECTORIES - "${GBENCHMARK_INCLUDE_DIR}") + set_target_properties(benchmark::benchmark + PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${GBENCHMARK_INCLUDE_DIR}") add_library(benchmark::benchmark_main STATIC IMPORTED) - set_target_properties( - benchmark::benchmark_main - PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_MAIN_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${GBENCHMARK_INCLUDE_DIR}") + set_target_properties(benchmark::benchmark_main + PROPERTIES IMPORTED_LOCATION "${GBENCHMARK_MAIN_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${GBENCHMARK_INCLUDE_DIR}") add_dependencies(toolchain-benchmarks gbenchmark_ep) add_dependencies(benchmark::benchmark gbenchmark_ep) @@ -1854,12 +1843,11 @@ macro(build_rapidjson) -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}) + externalproject_add(rapidjson_ep + ${EP_LOG_OPTIONS} + PREFIX "${CMAKE_BINARY_DIR}" + URL ${RAPIDJSON_SOURCE_URL} + CMAKE_ARGS ${RAPIDJSON_CMAKE_ARGS}) set(RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_PREFIX}/include") @@ -1872,14 +1860,13 @@ endmacro() if(ARROW_WITH_RAPIDJSON) set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") - resolve_dependency( - RapidJSON - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_RAPIDJSON_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) + resolve_dependency(RapidJSON + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_RAPIDJSON_REQUIRED_VERSION} + IS_RUNTIME_DEPENDENCY + FALSE) if(RapidJSON_INCLUDE_DIR) set(RAPIDJSON_INCLUDE_DIR "${RapidJSON_INCLUDE_DIR}") @@ -1894,12 +1881,11 @@ macro(build_xsimd) set(XSIMD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep/src/xsimd_ep-install") set(XSIMD_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}") - externalproject_add( - xsimd_ep - ${EP_LOG_OPTIONS} - PREFIX "${CMAKE_BINARY_DIR}" - URL ${XSIMD_SOURCE_URL} - CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) + externalproject_add(xsimd_ep + ${EP_LOG_OPTIONS} + PREFIX "${CMAKE_BINARY_DIR}" + URL ${XSIMD_SOURCE_URL} + CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) set(XSIMD_INCLUDE_DIR "${XSIMD_PREFIX}/include") @@ -1933,20 +1919,19 @@ macro(build_zlib) set(ZLIB_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${ZLIB_PREFIX}" -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}) + externalproject_add(zlib_ep + URL ${ZLIB_SOURCE_URL} ${EP_LOG_OPTIONS} + BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}" + CMAKE_ARGS ${ZLIB_CMAKE_ARGS}) file(MAKE_DIRECTORY "${ZLIB_PREFIX}/include") add_library(ZLIB::ZLIB STATIC IMPORTED) set(ZLIB_LIBRARIES ${ZLIB_STATIC_LIB}) set(ZLIB_INCLUDE_DIRS "${ZLIB_PREFIX}/include") - set_target_properties( - ZLIB::ZLIB PROPERTIES IMPORTED_LOCATION ${ZLIB_LIBRARIES} - INTERFACE_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) + set_target_properties(ZLIB::ZLIB + PROPERTIES IMPORTED_LOCATION ${ZLIB_LIBRARIES} + INTERFACE_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) add_dependencies(toolchain zlib_ep) add_dependencies(ZLIB::ZLIB zlib_ep) @@ -1989,21 +1974,21 @@ macro(build_lz4) 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}) + 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}) file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") add_library(LZ4::lz4 STATIC IMPORTED) - set_target_properties( - LZ4::lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${LZ4_PREFIX}/include") + set_target_properties(LZ4::lz4 + PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${LZ4_PREFIX}/include") add_dependencies(toolchain lz4_ep) add_dependencies(LZ4::lz4 lz4_ep) @@ -2053,21 +2038,20 @@ macro(build_zstd) message(FATAL_ERROR "Building zstd using ExternalProject requires at least CMake 3.7") endif() - 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}") + 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}") file(MAKE_DIRECTORY "${ZSTD_PREFIX}/include") add_library(zstd::libzstd STATIC IMPORTED) - set_target_properties( - zstd::libzstd PROPERTIES IMPORTED_LOCATION "${ZSTD_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_PREFIX}/include") + set_target_properties(zstd::libzstd + PROPERTIES IMPORTED_LOCATION "${ZSTD_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_PREFIX}/include") add_dependencies(toolchain zstd_ep) add_dependencies(zstd::libzstd zstd_ep) @@ -2112,19 +2096,18 @@ macro(build_re2) set(RE2_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${RE2_PREFIX}" -DCMAKE_INSTALL_LIBDIR=lib) - 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}") + 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}") file(MAKE_DIRECTORY "${RE2_PREFIX}/include") add_library(re2::re2 STATIC IMPORTED) - set_target_properties( - re2::re2 PROPERTIES IMPORTED_LOCATION "${RE2_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${RE2_PREFIX}/include") + set_target_properties(re2::re2 + PROPERTIES IMPORTED_LOCATION "${RE2_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${RE2_PREFIX}/include") add_dependencies(toolchain re2_ep) add_dependencies(re2::re2 re2_ep) @@ -2158,22 +2141,24 @@ macro(build_bzip2) list(APPEND BZIP2_EXTRA_ARGS "SDKROOT=${CMAKE_OSX_SYSROOT}") endif() - externalproject_add( - bzip2_ep - ${EP_LOG_OPTIONS} - CONFIGURE_COMMAND "" - BUILD_IN_SOURCE 1 - BUILD_COMMAND ${MAKE} libbz2.a ${MAKE_BUILD_ARGS} ${BZIP2_EXTRA_ARGS} - INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} ${BZIP2_EXTRA_ARGS} - INSTALL_DIR ${BZIP2_PREFIX} - URL ${ARROW_BZIP2_SOURCE_URL} - BUILD_BYPRODUCTS "${BZIP2_STATIC_LIB}") + externalproject_add(bzip2_ep + ${EP_LOG_OPTIONS} + CONFIGURE_COMMAND "" + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${MAKE} libbz2.a ${MAKE_BUILD_ARGS} + ${BZIP2_EXTRA_ARGS} + INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} + ${BZIP2_EXTRA_ARGS} + INSTALL_DIR ${BZIP2_PREFIX} + URL ${ARROW_BZIP2_SOURCE_URL} + BUILD_BYPRODUCTS "${BZIP2_STATIC_LIB}") file(MAKE_DIRECTORY "${BZIP2_PREFIX}/include") add_library(BZip2::BZip2 STATIC IMPORTED) - set_target_properties( - BZip2::BZip2 PROPERTIES IMPORTED_LOCATION "${BZIP2_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_PREFIX}/include") + set_target_properties(BZip2::BZip2 + PROPERTIES IMPORTED_LOCATION "${BZIP2_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES + "${BZIP2_PREFIX}/include") set(BZIP2_INCLUDE_DIR "${BZIP2_PREFIX}/include") add_dependencies(toolchain bzip2_ep) @@ -2187,9 +2172,9 @@ if(ARROW_WITH_BZ2) if(NOT TARGET BZip2::BZip2) add_library(BZip2::BZip2 UNKNOWN IMPORTED) - set_target_properties( - BZip2::BZip2 PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") + set_target_properties(BZip2::BZip2 + PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") endif() include_directories(SYSTEM "${BZIP2_INCLUDE_DIR}") endif() @@ -2212,21 +2197,20 @@ macro(build_utf8proc) -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=OFF) - externalproject_add( - utf8proc_ep - ${EP_LOG_OPTIONS} - CMAKE_ARGS ${UTF8PROC_CMAKE_ARGS} - INSTALL_DIR ${UTF8PROC_PREFIX} - URL ${ARROW_UTF8PROC_SOURCE_URL} - BUILD_BYPRODUCTS "${UTF8PROC_STATIC_LIB}") + externalproject_add(utf8proc_ep + ${EP_LOG_OPTIONS} + CMAKE_ARGS ${UTF8PROC_CMAKE_ARGS} + INSTALL_DIR ${UTF8PROC_PREFIX} + URL ${ARROW_UTF8PROC_SOURCE_URL} + BUILD_BYPRODUCTS "${UTF8PROC_STATIC_LIB}") file(MAKE_DIRECTORY "${UTF8PROC_PREFIX}/include") add_library(utf8proc::utf8proc STATIC IMPORTED) - set_target_properties( - utf8proc::utf8proc - PROPERTIES IMPORTED_LOCATION "${UTF8PROC_STATIC_LIB}" - INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC" - INTERFACE_INCLUDE_DIRECTORIES "${UTF8PROC_PREFIX}/include") + set_target_properties(utf8proc::utf8proc + PROPERTIES IMPORTED_LOCATION "${UTF8PROC_STATIC_LIB}" + INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC" + INTERFACE_INCLUDE_DIRECTORIES + "${UTF8PROC_PREFIX}/include") add_dependencies(toolchain utf8proc_ep) add_dependencies(utf8proc::utf8proc utf8proc_ep) @@ -2272,20 +2256,19 @@ macro(build_cares) -DCMAKE_INSTALL_LIBDIR=lib "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") - externalproject_add( - cares_ep - ${EP_LOG_OPTIONS} - URL ${CARES_SOURCE_URL} - CMAKE_ARGS ${CARES_CMAKE_ARGS} - BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") + externalproject_add(cares_ep + ${EP_LOG_OPTIONS} + URL ${CARES_SOURCE_URL} + CMAKE_ARGS ${CARES_CMAKE_ARGS} + BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") file(MAKE_DIRECTORY ${CARES_INCLUDE_DIR}) add_dependencies(toolchain cares_ep) add_library(c-ares::cares STATIC IMPORTED) - set_target_properties( - c-ares::cares PROPERTIES IMPORTED_LOCATION "${CARES_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${CARES_INCLUDE_DIR}") + set_target_properties(c-ares::cares + PROPERTIES IMPORTED_LOCATION "${CARES_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${CARES_INCLUDE_DIR}") add_dependencies(c-ares::cares cares_ep) if(APPLE) @@ -2359,12 +2342,11 @@ macro(build_grpc) list(APPEND ABSL_LIBRARIES absl::${_ABSL_LIB}) endforeach() - externalproject_add( - absl_ep - ${EP_LOG_OPTIONS} - URL ${ABSL_SOURCE_URL} - CMAKE_ARGS ${ABSL_CMAKE_ARGS} - BUILD_BYPRODUCTS ${ABSL_BUILD_BYPRODUCTS}) + externalproject_add(absl_ep + ${EP_LOG_OPTIONS} + URL ${ABSL_SOURCE_URL} + CMAKE_ARGS ${ABSL_CMAKE_ARGS} + BUILD_BYPRODUCTS ${ABSL_BUILD_BYPRODUCTS}) set(GRPC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-prefix/src/grpc_ep-build") set(GRPC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-install") @@ -2469,37 +2451,36 @@ macro(build_grpc) # XXX the gRPC git checkout is huge and takes a long time # 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_STATIC_LIBRARY_UPB} - ${GRPC_CPP_PLUGIN} - CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} - DEPENDS ${grpc_dependencies}) + 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_STATIC_LIBRARY_UPB} + ${GRPC_CPP_PLUGIN} + CMAKE_ARGS ${GRPC_CMAKE_ARGS} ${EP_LOG_OPTIONS} + DEPENDS ${grpc_dependencies}) # Work around https://gitlab.kitware.com/cmake/cmake/issues/15052 file(MAKE_DIRECTORY ${GRPC_INCLUDE_DIR}) add_library(gRPC::upb STATIC IMPORTED) - set_target_properties( - gRPC::upb PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_UPB}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties(gRPC::upb + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_UPB}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::gpr STATIC IMPORTED) - set_target_properties( - gRPC::gpr PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GPR}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties(gRPC::gpr + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GPR}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::address_sorting STATIC IMPORTED) - set_target_properties( - gRPC::address_sorting - PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_ADDRESS_SORTING}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") + set_target_properties(gRPC::address_sorting + PROPERTIES IMPORTED_LOCATION + "${GRPC_STATIC_LIBRARY_ADDRESS_SORTING}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") add_library(gRPC::grpc STATIC IMPORTED) set(GRPC_LINK_LIBRARIES @@ -2511,19 +2492,17 @@ macro(build_grpc) c-ares::cares ZLIB::ZLIB Threads::Threads) - set_target_properties( - gRPC::grpc - PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPC}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${GRPC_LINK_LIBRARIES}") + set_target_properties(gRPC::grpc + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPC}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${GRPC_LINK_LIBRARIES}") add_library(gRPC::grpc++ STATIC IMPORTED) set(GRPCPP_LINK_LIBRARIES gRPC::grpc ${ARROW_PROTOBUF_LIBPROTOBUF}) - set_target_properties( - gRPC::grpc++ - PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPCPP}" - INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}") + set_target_properties(gRPC::grpc++ + PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GRPCPP}" + INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${GRPCPP_LINK_LIBRARIES}") add_executable(gRPC::grpc_cpp_plugin IMPORTED) set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_LOCATION @@ -2542,15 +2521,14 @@ macro(build_grpc) set(GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}grpcpp${CMAKE_STATIC_LIBRARY_SUFFIX}" ) - add_custom_command( - OUTPUT ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} - COMMAND ${CMAKE_COMMAND} -E copy $ - ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} - DEPENDS grpc_ep) + add_custom_command(OUTPUT ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} + COMMAND ${CMAKE_COMMAND} -E copy $ + ${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR} + DEPENDS grpc_ep) add_library(gRPC::grpcpp_for_bundling STATIC IMPORTED) - set_target_properties( - gRPC::grpcpp_for_bundling PROPERTIES IMPORTED_LOCATION - "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") + set_target_properties(gRPC::grpcpp_for_bundling + PROPERTIES IMPORTED_LOCATION + "${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}") set_source_files_properties("${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}" PROPERTIES GENERATED TRUE) @@ -2569,12 +2547,11 @@ endmacro() if(ARROW_WITH_GRPC) set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") - resolve_dependency( - gRPC - HAVE_ALT - TRUE - REQUIRED_VERSION - ${ARROW_GRPC_REQUIRED_VERSION}) + resolve_dependency(gRPC + HAVE_ALT + TRUE + REQUIRED_VERSION + ${ARROW_GRPC_REQUIRED_VERSION}) # TODO: Don't use global includes but rather target_include_directories get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) @@ -2666,11 +2643,10 @@ macro(build_orc) # Work around CMake bug file(MAKE_DIRECTORY ${ORC_INCLUDE_DIR}) - externalproject_add( - orc_ep - URL ${ORC_SOURCE_URL} - BUILD_BYPRODUCTS ${ORC_STATIC_LIB} - CMAKE_ARGS ${ORC_CMAKE_ARGS} ${EP_LOG_OPTIONS}) + externalproject_add(orc_ep + URL ${ORC_SOURCE_URL} + BUILD_BYPRODUCTS ${ORC_STATIC_LIB} + CMAKE_ARGS ${ORC_CMAKE_ARGS} ${EP_LOG_OPTIONS}) add_dependencies(toolchain orc_ep) @@ -2681,9 +2657,9 @@ macro(build_orc) add_dependencies(orc_ep ${ARROW_PROTOBUF_LIBPROTOBUF}) add_library(orc::liborc STATIC IMPORTED) - set_target_properties( - orc::liborc PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") + set_target_properties(orc::liborc + PROPERTIES IMPORTED_LOCATION "${ORC_STATIC_LIB}" + INTERFACE_INCLUDE_DIRECTORIES "${ORC_INCLUDE_DIR}") add_dependencies(toolchain orc_ep) add_dependencies(orc::liborc orc_ep) @@ -2768,51 +2744,47 @@ macro(build_awssdk) set(_AWSSDK_TARGET_NAME AWS::${_AWSSDK_LIB}) endif() add_library(${_AWSSDK_TARGET_NAME} STATIC IMPORTED) - set_target_properties( - ${_AWSSDK_TARGET_NAME} - PROPERTIES IMPORTED_LOCATION ${_AWSSDK_STATIC_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES - "${AWSSDK_INCLUDE_DIR}") + set_target_properties(${_AWSSDK_TARGET_NAME} + PROPERTIES IMPORTED_LOCATION ${_AWSSDK_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + "${AWSSDK_INCLUDE_DIR}") set("${_AWSSDK_LIB_NAME_PREFIX}_STATIC_LIBRARY" ${_AWSSDK_STATIC_LIBRARY}) list(APPEND AWSSDK_LIBRARIES ${_AWSSDK_TARGET_NAME}) endforeach() - externalproject_add( - aws_c_common_ep - ${EP_LOG_OPTIONS} - URL ${AWS_C_COMMON_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_C_COMMON_STATIC_LIBRARY}) + externalproject_add(aws_c_common_ep + ${EP_LOG_OPTIONS} + URL ${AWS_C_COMMON_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_C_COMMON_STATIC_LIBRARY}) add_dependencies(AWS::aws-c-common aws_c_common_ep) - externalproject_add( - aws_checksums_ep - ${EP_LOG_OPTIONS} - URL ${AWS_CHECKSUMS_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_CHECKSUMS_STATIC_LIBRARY} - DEPENDS aws_c_common_ep) + externalproject_add(aws_checksums_ep + ${EP_LOG_OPTIONS} + URL ${AWS_CHECKSUMS_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_CHECKSUMS_STATIC_LIBRARY} + DEPENDS aws_c_common_ep) add_dependencies(AWS::aws-checksums aws_checksums_ep) - externalproject_add( - aws_c_event_stream_ep - ${EP_LOG_OPTIONS} - URL ${AWS_C_EVENT_STREAM_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_C_EVENT_STREAM_STATIC_LIBRARY} - DEPENDS aws_checksums_ep) + externalproject_add(aws_c_event_stream_ep + ${EP_LOG_OPTIONS} + URL ${AWS_C_EVENT_STREAM_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_C_EVENT_STREAM_STATIC_LIBRARY} + DEPENDS aws_checksums_ep) add_dependencies(AWS::aws-c-event-stream aws_c_event_stream_ep) - externalproject_add( - awssdk_ep - ${EP_LOG_OPTIONS} - URL ${AWSSDK_SOURCE_URL} - CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} - BUILD_BYPRODUCTS ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} - ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} - ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} - ${AWS_CPP_SDK_S3_STATIC_LIBRARY} - ${AWS_CPP_SDK_STS_STATIC_LIBRARY} - DEPENDS aws_c_event_stream_ep) + externalproject_add(awssdk_ep + ${EP_LOG_OPTIONS} + URL ${AWSSDK_SOURCE_URL} + CMAKE_ARGS ${AWSSDK_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AWS_CPP_SDK_COGNITO_IDENTITY_STATIC_LIBRARY} + ${AWS_CPP_SDK_CORE_STATIC_LIBRARY} + ${AWS_CPP_SDK_IDENTITY_MANAGEMENT_STATIC_LIBRARY} + ${AWS_CPP_SDK_S3_STATIC_LIBRARY} + ${AWS_CPP_SDK_STS_STATIC_LIBRARY} + DEPENDS aws_c_event_stream_ep) add_dependencies(toolchain awssdk_ep) foreach(_AWSSDK_LIB ${_AWSSDK_LIBS}) if(${_AWSSDK_LIB} MATCHES "^aws-cpp-sdk-") @@ -2829,9 +2801,10 @@ macro(build_awssdk) if(NOT TARGET CURL::libcurl) # For CMake 3.11 or older add_library(CURL::libcurl UNKNOWN IMPORTED) - set_target_properties( - CURL::libcurl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}" - IMPORTED_LOCATION "${CURL_LIBRARIES}") + set_target_properties(CURL::libcurl + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${CURL_INCLUDE_DIRS}" IMPORTED_LOCATION + "${CURL_LIBRARIES}") endif() set_property(TARGET aws-cpp-sdk-core APPEND @@ -2904,9 +2877,9 @@ if(ARROW_S3) # aws-sdk-cpp to use the MacOSX SDK provided by XCode which makes # XCode a hard dependency. Command Line Tools is often used instead # of the full XCode suite, so let the linker to find it. - set_target_properties( - AWS::aws-c-common PROPERTIES INTERFACE_LINK_LIBRARIES - "-pthread;pthread;-framework CoreFoundation") + set_target_properties(AWS::aws-c-common + PROPERTIES INTERFACE_LINK_LIBRARIES + "-pthread;pthread;-framework CoreFoundation") endif() endif() diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index 70ebbb2743c..79b48461f9b 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -20,24 +20,22 @@ add_custom_target(arrow) add_custom_target(arrow-benchmarks) add_custom_target(arrow-tests) add_custom_target(arrow-integration) -add_dependencies( - arrow-all - arrow - arrow-tests - arrow-benchmarks - arrow-integration) +add_dependencies(arrow-all + arrow + arrow-tests + arrow-benchmarks + arrow-integration) # Adding unit tests part of the "arrow" portion of the test suite function(ADD_ARROW_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS PRECOMPILED_HEADERS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -74,12 +72,11 @@ function(ADD_ARROW_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -104,12 +101,11 @@ function(ADD_ARROW_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() @@ -264,9 +260,9 @@ set(ARROW_C_SRCS vendored/uriparser/UriResolve.c vendored/uriparser/UriShorten.c) -set_source_files_properties( - vendored/datetime/tz.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON - SKIP_UNITY_BUILD_INCLUSION ON) +set_source_files_properties(vendored/datetime/tz.cpp + PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) # Disable DLL exports in vendored uriparser library add_definitions(-DURI_STATIC_BUILD) @@ -441,9 +437,9 @@ if(ARROW_FILESYSTEM) endif() if(ARROW_S3) list(APPEND ARROW_SRCS filesystem/s3fs.cc) - set_source_files_properties( - filesystem/s3fs.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION - ON) + set_source_files_properties(filesystem/s3fs.cc + PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) endif() list(APPEND ARROW_TESTING_SRCS filesystem/test_util.cc) @@ -542,14 +538,13 @@ endif() if(ARROW_BUILD_STATIC AND ARROW_BUNDLED_STATIC_LIBS) arrow_car(_FIRST_LIB ${ARROW_BUNDLED_STATIC_LIBS}) arrow_cdr(_OTHER_LIBS ${ARROW_BUNDLED_STATIC_LIBS}) - create_merged_static_lib( - arrow_bundled_dependencies - NAME - arrow_bundled_dependencies - ROOT - ${_FIRST_LIB} - TO_MERGE - ${_OTHER_LIBS}) + create_merged_static_lib(arrow_bundled_dependencies + NAME + arrow_bundled_dependencies + ROOT + ${_FIRST_LIB} + TO_MERGE + ${_OTHER_LIBS}) endif() if(ARROW_TESTING) diff --git a/cpp/src/arrow/compute/CMakeLists.txt b/cpp/src/arrow/compute/CMakeLists.txt index fa4a0cd71c4..897dc32f357 100644 --- a/cpp/src/arrow/compute/CMakeLists.txt +++ b/cpp/src/arrow/compute/CMakeLists.txt @@ -30,12 +30,11 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -59,13 +58,12 @@ function(ADD_ARROW_COMPUTE_TEST REL_TEST_NAME) ${ARG_UNPARSED_ARGUMENTS}) endfunction() -add_arrow_compute_test( - internals_test - SOURCES - function_test.cc - exec_test.cc - kernel_test.cc - registry_test.cc) +add_arrow_compute_test(internals_test + SOURCES + function_test.cc + exec_test.cc + kernel_test.cc + registry_test.cc) add_arrow_benchmark(function_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/compute/kernels/CMakeLists.txt b/cpp/src/arrow/compute/kernels/CMakeLists.txt index 8440800e767..326578588a7 100644 --- a/cpp/src/arrow/compute/kernels/CMakeLists.txt +++ b/cpp/src/arrow/compute/kernels/CMakeLists.txt @@ -18,21 +18,20 @@ # ---------------------------------------------------------------------- # Scalar kernels -add_arrow_compute_test( - scalar_test - SOURCES - scalar_arithmetic_test.cc - scalar_boolean_test.cc - scalar_cast_test.cc - scalar_compare_test.cc - scalar_nested_test.cc - scalar_set_lookup_test.cc - scalar_string_test.cc - scalar_temporal_test.cc - scalar_validity_test.cc - scalar_fill_null_test.cc - scalar_if_else_test.cc - test_util.cc) +add_arrow_compute_test(scalar_test + SOURCES + scalar_arithmetic_test.cc + scalar_boolean_test.cc + scalar_cast_test.cc + scalar_compare_test.cc + scalar_nested_test.cc + scalar_set_lookup_test.cc + scalar_string_test.cc + scalar_temporal_test.cc + scalar_validity_test.cc + scalar_fill_null_test.cc + scalar_if_else_test.cc + test_util.cc) add_arrow_benchmark(scalar_arithmetic_benchmark PREFIX "arrow-compute") add_arrow_benchmark(scalar_boolean_benchmark PREFIX "arrow-compute") @@ -44,14 +43,13 @@ add_arrow_benchmark(scalar_string_benchmark PREFIX "arrow-compute") # ---------------------------------------------------------------------- # Vector kernels -add_arrow_compute_test( - vector_test - SOURCES - vector_hash_test.cc - vector_nested_test.cc - vector_selection_test.cc - vector_sort_test.cc - test_util.cc) +add_arrow_compute_test(vector_test + SOURCES + vector_hash_test.cc + vector_nested_test.cc + vector_selection_test.cc + vector_sort_test.cc + test_util.cc) add_arrow_benchmark(vector_hash_benchmark PREFIX "arrow-compute") add_arrow_benchmark(vector_sort_benchmark PREFIX "arrow-compute") @@ -63,10 +61,9 @@ add_arrow_benchmark(vector_selection_benchmark PREFIX "arrow-compute") # Aggregates -add_arrow_compute_test( - aggregate_test - SOURCES - aggregate_test.cc - hash_aggregate_test.cc - test_util.cc) +add_arrow_compute_test(aggregate_test + SOURCES + aggregate_test.cc + hash_aggregate_test.cc + test_util.cc) add_arrow_benchmark(aggregate_benchmark PREFIX "arrow-compute") diff --git a/cpp/src/arrow/dataset/CMakeLists.txt b/cpp/src/arrow/dataset/CMakeLists.txt index 7cdf62a7b18..ca467d110c6 100644 --- a/cpp/src/arrow/dataset/CMakeLists.txt +++ b/cpp/src/arrow/dataset/CMakeLists.txt @@ -77,12 +77,11 @@ function(ADD_ARROW_DATASET_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) diff --git a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt index dd20a8d1f35..2638456c61c 100644 --- a/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/CMakeLists.txt @@ -55,9 +55,10 @@ set(HIVESERVER2_THRIFT_SRC Types_constants.cpp Types_types.cpp) -set_source_files_properties( - ${HIVESERVER2_THRIFT_SRC} - PROPERTIES COMPILE_FLAGS "-Wno-unused-variable -Wno-shadow-field" GENERATED TRUE) +set_source_files_properties(${HIVESERVER2_THRIFT_SRC} + PROPERTIES COMPILE_FLAGS + "-Wno-unused-variable -Wno-shadow-field" GENERATED + TRUE) # keep everything in one library, the object files reference # each other @@ -72,9 +73,9 @@ add_library(arrow_hiveserver2_thrift STATIC ${HIVESERVER2_THRIFT_SRC}) add_dependencies(arrow_hiveserver2_thrift hs2-thrift-cpp) -set_target_properties( - arrow_hiveserver2_thrift PROPERTIES LIBRARY_OUTPUT_DIRECTORY - "${BUILD_OUTPUT_ROOT_DIRECTORY}") +set_target_properties(arrow_hiveserver2_thrift + PROPERTIES LIBRARY_OUTPUT_DIRECTORY + "${BUILD_OUTPUT_ROOT_DIRECTORY}") add_arrow_lib(arrow_hiveserver2 SOURCES diff --git a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt index 8411a251900..237a92a827d 100644 --- a/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt +++ b/cpp/src/arrow/dbi/hiveserver2/thrift/CMakeLists.txt @@ -72,13 +72,12 @@ function(HS2_THRIFT_GEN VAR) # Be able to include generated ErrorCodes.thrift file set(CPP_ARGS ${CPP_ARGS} -I ${CMAKE_CURRENT_BINARY_DIR}) - add_custom_command( - OUTPUT ${OUTPUT_BE_FILE} - COMMAND ${THRIFT_COMPILER} ${CPP_ARGS} ${FIL} - DEPENDS ${ABS_FIL} - COMMENT "Running thrift compiler on ${FIL}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - VERBATIM) + add_custom_command(OUTPUT ${OUTPUT_BE_FILE} + COMMAND ${THRIFT_COMPILER} ${CPP_ARGS} ${FIL} + DEPENDS ${ABS_FIL} + COMMENT "Running thrift compiler on ${FIL}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + VERBATIM) endforeach(FIL) set(${VAR} @@ -91,11 +90,10 @@ message("Using Thrift compiler: ${THRIFT_COMPILER}") set(OUTPUT_DIR ${ARROW_BINARY_DIR}/src) file(MAKE_DIRECTORY ${OUTPUT_DIR}) -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift - COMMAND python generate_error_codes.py ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS generate_error_codes.py - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift + COMMAND python generate_error_codes.py ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS generate_error_codes.py + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) set(SRC_FILES ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift @@ -106,8 +104,9 @@ set(SRC_FILES Status.thrift Types.thrift) -set_source_files_properties( - Status.thrift PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift) +set_source_files_properties(Status.thrift + PROPERTIES OBJECT_DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/ErrorCodes.thrift) # Create a build command for each of the thrift src files and generate # a list of files they produce diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index e3b5f5251e9..4e46243b18d 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -46,15 +46,14 @@ set(FLIGHT_GENERATED_PROTO_FILES set(PROTO_DEPENDS ${FLIGHT_PROTO} ${ARROW_PROTOBUF_LIBPROTOBUF} gRPC::grpc_cpp_plugin) -add_custom_command( - OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" - "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" - DEPENDS ${PROTO_DEPENDS} ARGS - COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" - "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" - "--plugin=protoc-gen-grpc=$" - "${FLIGHT_PROTO}") +add_custom_command(OUTPUT ${FLIGHT_GENERATED_PROTO_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" + "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "${FLIGHT_PROTO}" + DEPENDS ${PROTO_DEPENDS} ARGS + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${FLIGHT_PROTO_PATH}" + "--grpc_out=${CMAKE_CURRENT_BINARY_DIR}" + "--plugin=protoc-gen-grpc=$" + "${FLIGHT_PROTO}") set_source_files_properties(${FLIGHT_GENERATED_PROTO_FILES} PROPERTIES GENERATED TRUE) @@ -202,9 +201,9 @@ if(ARROW_TESTING) endif() foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES}) - target_compile_definitions( - ${LIB_TARGET} PRIVATE ARROW_FLIGHT_EXPORTING - ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) + target_compile_definitions(${LIB_TARGET} + PRIVATE ARROW_FLIGHT_EXPORTING + ${ARROW_BOOST_PROCESS_COMPILE_DEFINITIONS}) endforeach() add_arrow_test(flight_test @@ -246,11 +245,10 @@ if(ARROW_BUILD_BENCHMARKS) set(PERF_PROTO_GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.cc" "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.h") - add_custom_command( - OUTPUT ${PERF_PROTO_GENERATED_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${CMAKE_CURRENT_SOURCE_DIR}" - "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "perf.proto" - DEPENDS ${PROTO_DEPENDS}) + add_custom_command(OUTPUT ${PERF_PROTO_GENERATED_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} "-I${CMAKE_CURRENT_SOURCE_DIR}" + "--cpp_out=${CMAKE_CURRENT_BINARY_DIR}" "perf.proto" + DEPENDS ${PROTO_DEPENDS}) add_executable(arrow-flight-perf-server perf_server.cc perf.pb.cc) target_link_libraries(arrow-flight-perf-server ${ARROW_FLIGHT_TEST_LINK_LIBS} diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt index 909015257a0..495018ec096 100644 --- a/cpp/src/arrow/ipc/CMakeLists.txt +++ b/cpp/src/arrow/ipc/CMakeLists.txt @@ -24,12 +24,11 @@ function(ADD_ARROW_IPC_TEST REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args LABELS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt index 942b4f4c117..83cec08e71c 100644 --- a/cpp/src/gandiva/CMakeLists.txt +++ b/cpp/src/gandiva/CMakeLists.txt @@ -169,12 +169,11 @@ function(ADD_GANDIVA_TEST REL_TEST_NAME) set(options USE_STATIC_LINKING) set(one_value_args) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(NO_TESTS) return() @@ -217,36 +216,35 @@ if(WIN32) LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS}) endif() -add_gandiva_test( - internals-test - SOURCES - bitmap_accumulator_test.cc - engine_llvm_test.cc - function_registry_test.cc - function_signature_test.cc - llvm_types_test.cc - llvm_generator_test.cc - annotator_test.cc - tree_expr_test.cc - expr_decomposer_test.cc - expression_registry_test.cc - selection_vector_test.cc - lru_cache_test.cc - to_date_holder_test.cc - simple_arena_test.cc - like_holder_test.cc - decimal_type_util_test.cc - random_generator_holder_test.cc - hash_utils_test.cc - gdv_function_stubs_test.cc - EXTRA_DEPENDENCIES - LLVM::LLVM_INTERFACE - ${GANDIVA_OPENSSL_LIBS} - EXTRA_INCLUDES - $ - ${GANDIVA_INTERNALS_TEST_ARGUMENTS} - ${GANDIVA_OPENSSL_INCLUDE_DIR} - ${UTF8PROC_INCLUDE_DIR}) +add_gandiva_test(internals-test + SOURCES + bitmap_accumulator_test.cc + engine_llvm_test.cc + function_registry_test.cc + function_signature_test.cc + llvm_types_test.cc + llvm_generator_test.cc + annotator_test.cc + tree_expr_test.cc + expr_decomposer_test.cc + expression_registry_test.cc + selection_vector_test.cc + lru_cache_test.cc + to_date_holder_test.cc + simple_arena_test.cc + like_holder_test.cc + decimal_type_util_test.cc + random_generator_holder_test.cc + hash_utils_test.cc + gdv_function_stubs_test.cc + EXTRA_DEPENDENCIES + LLVM::LLVM_INTERFACE + ${GANDIVA_OPENSSL_LIBS} + EXTRA_INCLUDES + $ + ${GANDIVA_INTERNALS_TEST_ARGUMENTS} + ${GANDIVA_OPENSSL_INCLUDE_DIR} + ${UTF8PROC_INCLUDE_DIR}) if(ARROW_GANDIVA_JAVA) add_subdirectory(jni) diff --git a/cpp/src/gandiva/jni/CMakeLists.txt b/cpp/src/gandiva/jni/CMakeLists.txt index f5bf7145062..04fd22eec9a 100644 --- a/cpp/src/gandiva/jni/CMakeLists.txt +++ b/cpp/src/gandiva/jni/CMakeLists.txt @@ -35,13 +35,14 @@ set_source_files_properties(${PROTO_OUTPUT_FILES} PROPERTIES GENERATED TRUE) get_filename_component(ABS_GANDIVA_PROTO ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto ABSOLUTE) -add_custom_command( - OUTPUT ${PROTO_OUTPUT_FILES} - COMMAND ${ARROW_PROTOBUF_PROTOC} --proto_path ${CMAKE_SOURCE_DIR}/src/gandiva/proto - --cpp_out ${PROTO_OUTPUT_DIR} ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto - DEPENDS ${ABS_GANDIVA_PROTO} ${ARROW_PROTOBUF_LIBPROTOBUF} - COMMENT "Running PROTO compiler on Types.proto" - VERBATIM) +add_custom_command(OUTPUT ${PROTO_OUTPUT_FILES} + COMMAND ${ARROW_PROTOBUF_PROTOC} --proto_path + ${CMAKE_SOURCE_DIR}/src/gandiva/proto --cpp_out + ${PROTO_OUTPUT_DIR} + ${CMAKE_SOURCE_DIR}/src/gandiva/proto/Types.proto + DEPENDS ${ABS_GANDIVA_PROTO} ${ARROW_PROTOBUF_LIBPROTOBUF} + COMMENT "Running PROTO compiler on Types.proto" + VERBATIM) add_custom_target(gandiva_jni_proto ALL DEPENDS ${PROTO_OUTPUT_FILES}) set(PROTO_SRCS "${PROTO_OUTPUT_DIR}/Types.pb.cc") @@ -98,9 +99,9 @@ if(ARROW_BUILD_SHARED) # filter out everything that is not needed for the jni bridge # statically linked stdc++ has conflicts with stdc++ loaded by other libraries. if(NOT APPLE) - set_target_properties( - gandiva_jni_shared - PROPERTIES LINK_FLAGS - "-Wl,--version-script=${CMAKE_SOURCE_DIR}/src/gandiva/jni/symbols.map") + set_target_properties(gandiva_jni_shared + PROPERTIES LINK_FLAGS + "-Wl,--version-script=${CMAKE_SOURCE_DIR}/src/gandiva/jni/symbols.map" + ) endif() endif() diff --git a/cpp/src/gandiva/precompiled/CMakeLists.txt b/cpp/src/gandiva/precompiled/CMakeLists.txt index d949cdb56d6..1cd505b44a3 100644 --- a/cpp/src/gandiva/precompiled/CMakeLists.txt +++ b/cpp/src/gandiva/precompiled/CMakeLists.txt @@ -82,27 +82,26 @@ foreach(SRC_FILE ${PRECOMPILED_SRCS}) if(NOT ARROW_USE_NATIVE_INT128) list(APPEND PRECOMPILE_COMMAND -I${Boost_INCLUDE_DIR}) endif() - add_custom_command( - OUTPUT ${BC_FILE} - COMMAND ${PRECOMPILE_COMMAND} - DEPENDS ${SRC_FILE}) + add_custom_command(OUTPUT ${BC_FILE} + COMMAND ${PRECOMPILE_COMMAND} + DEPENDS ${SRC_FILE}) list(APPEND BC_FILES ${BC_FILE}) 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} - DEPENDS ${BC_FILES}) +add_custom_command(OUTPUT ${GANDIVA_PRECOMPILED_BC_PATH} + COMMAND ${LLVM_LINK_EXECUTABLE} -o ${GANDIVA_PRECOMPILED_BC_PATH} + ${BC_FILES} + DEPENDS ${BC_FILES}) # turn the bitcode file into a C++ static data variable. -add_custom_command( - OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} - COMMAND ${PYTHON_EXECUTABLE} - "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" - ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH} - ${GANDIVA_PRECOMPILED_CC_PATH} - DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} ${GANDIVA_PRECOMPILED_BC_PATH}) +add_custom_command(OUTPUT ${GANDIVA_PRECOMPILED_CC_PATH} + COMMAND ${PYTHON_EXECUTABLE} + "${CMAKE_CURRENT_SOURCE_DIR}/../make_precompiled_bitcode.py" + ${GANDIVA_PRECOMPILED_CC_IN_PATH} + ${GANDIVA_PRECOMPILED_BC_PATH} ${GANDIVA_PRECOMPILED_CC_PATH} + DEPENDS ${GANDIVA_PRECOMPILED_CC_IN_PATH} + ${GANDIVA_PRECOMPILED_BC_PATH}) add_custom_target(precompiled ALL DEPENDS ${GANDIVA_PRECOMPILED_BC_PATH} ${GANDIVA_PRECOMPILED_CC_PATH}) diff --git a/cpp/src/gandiva/tests/CMakeLists.txt b/cpp/src/gandiva/tests/CMakeLists.txt index 3e602b4cb15..5fa2da16c63 100644 --- a/cpp/src/gandiva/tests/CMakeLists.txt +++ b/cpp/src/gandiva/tests/CMakeLists.txt @@ -34,10 +34,9 @@ add_gandiva_test(filter_project_test) if(ARROW_BUILD_STATIC) 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) endif() diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index f75908d7bc1..a487760a03e 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -24,12 +24,11 @@ add_dependencies(parquet-all parquet parquet-tests parquet-benchmarks) function(ADD_PARQUET_TEST REL_TEST_NAME) set(one_value_args) set(multi_value_args EXTRA_DEPENDENCIES LABELS) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) set(TEST_ARGUMENTS PREFIX "parquet" LABELS "parquet-tests") @@ -52,12 +51,11 @@ function(ADD_PARQUET_FUZZ_TARGET REL_FUZZING_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) @@ -82,12 +80,11 @@ function(ADD_PARQUET_BENCHMARK REL_TEST_NAME) set(options) set(one_value_args PREFIX) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_PREFIX) set(PREFIX ${ARG_PREFIX}) else() @@ -130,10 +127,11 @@ set(PARQUET_STATIC_TEST_LINK_LIBS ${PARQUET_MIN_TEST_LIBS} parquet_static thrift # # Generated Thrift sources -set_source_files_properties( - src/generated/parquet_types.cpp src/generated/parquet_types.h - src/generated/parquet_constants.cpp src/generated/parquet_constants.h - PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION ON) +set_source_files_properties(src/generated/parquet_types.cpp src/generated/parquet_types.h + src/generated/parquet_constants.cpp + src/generated/parquet_constants.h + PROPERTIES SKIP_PRECOMPILE_HEADERS ON + SKIP_UNITY_BUILD_INCLUSION ON) if(NOT MSVC) set_source_files_properties(src/parquet/parquet_types.cpp @@ -179,17 +177,17 @@ set(PARQUET_SRCS if(ARROW_HAVE_RUNTIME_AVX2) # AVX2 is used as a proxy for BMI2. list(APPEND PARQUET_SRCS level_comparison_avx2.cc level_conversion_bmi2.cc) - set_source_files_properties( - level_comparison_avx2.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON COMPILE_FLAGS - "${ARROW_AVX2_FLAG}") + set_source_files_properties(level_comparison_avx2.cc + PROPERTIES SKIP_PRECOMPILE_HEADERS ON COMPILE_FLAGS + "${ARROW_AVX2_FLAG}") # WARNING: DO NOT BLINDLY COPY THIS CODE FOR OTHER BMI2 USE CASES. # This code is always guarded by runtime dispatch which verifies # BMI2 is present. For a very small number of CPUs AVX2 does not # imply BMI2. - set_source_files_properties( - level_conversion_bmi2.cc - PROPERTIES SKIP_PRECOMPILE_HEADERS ON COMPILE_FLAGS - "${ARROW_AVX2_FLAG} -DARROW_HAVE_BMI2 -mbmi2") + set_source_files_properties(level_conversion_bmi2.cc + PROPERTIES SKIP_PRECOMPILE_HEADERS ON + COMPILE_FLAGS + "${ARROW_AVX2_FLAG} -DARROW_HAVE_BMI2 -mbmi2") endif() if(PARQUET_REQUIRE_ENCRYPTION) @@ -289,11 +287,10 @@ add_dependencies(parquet ${PARQUET_LIBRARIES} thrift::thrift) # Thrift requires these definitions for some types that we use foreach(LIB_TARGET ${PARQUET_LIBRARIES}) - target_compile_definitions( - ${LIB_TARGET} - PRIVATE PARQUET_EXPORTING - PRIVATE HAVE_INTTYPES_H - PRIVATE HAVE_NETDB_H) + target_compile_definitions(${LIB_TARGET} + PRIVATE PARQUET_EXPORTING + PRIVATE HAVE_INTTYPES_H + PRIVATE HAVE_NETDB_H) if(WIN32) target_compile_definitions(${LIB_TARGET} PRIVATE NOMINMAX) else() @@ -316,72 +313,65 @@ configure_file(parquet_version.h.in "${CMAKE_CURRENT_BINARY_DIR}/parquet_version install(FILES "${CMAKE_CURRENT_BINARY_DIR}/parquet_version.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/parquet") -add_parquet_test( - internals-test - SOURCES - bloom_filter_test.cc - properties_test.cc - statistics_test.cc - encoding_test.cc - metadata_test.cc - public_api_test.cc - types_test.cc - test_util.cc) +add_parquet_test(internals-test + SOURCES + bloom_filter_test.cc + properties_test.cc + statistics_test.cc + encoding_test.cc + metadata_test.cc + public_api_test.cc + types_test.cc + test_util.cc) set_source_files_properties(public_api_test.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON SKIP_UNITY_BUILD_INCLUSION ON) -add_parquet_test( - reader_test - SOURCES - column_reader_test.cc - level_conversion_test.cc - column_scanner_test.cc - reader_test.cc - stream_reader_test.cc - test_util.cc) - -add_parquet_test( - writer-test - SOURCES - column_writer_test.cc - file_serialize_test.cc - stream_writer_test.cc - test_util.cc) - -add_parquet_test( - arrow-test - SOURCES - arrow/arrow_reader_writer_test.cc - arrow/arrow_schema_test.cc - test_util.cc) - -add_parquet_test( - arrow-internals-test - SOURCES - arrow/path_internal_test.cc - arrow/reconstruct_internal_test.cc - test_util.cc) +add_parquet_test(reader_test + SOURCES + column_reader_test.cc + level_conversion_test.cc + column_scanner_test.cc + reader_test.cc + stream_reader_test.cc + test_util.cc) + +add_parquet_test(writer-test + SOURCES + column_writer_test.cc + file_serialize_test.cc + stream_writer_test.cc + test_util.cc) + +add_parquet_test(arrow-test + SOURCES + arrow/arrow_reader_writer_test.cc + arrow/arrow_schema_test.cc + test_util.cc) + +add_parquet_test(arrow-internals-test + SOURCES + arrow/path_internal_test.cc + arrow/reconstruct_internal_test.cc + test_util.cc) if(PARQUET_REQUIRE_ENCRYPTION) - add_parquet_test( - encryption-test - SOURCES - encryption/write_configurations_test.cc - encryption/read_configurations_test.cc - encryption/properties_test.cc - encryption/test_encryption_util.cc - test_util.cc) - add_parquet_test( - encryption-key-management-test - SOURCES - encryption/key_management_test.cc - encryption/key_metadata_test.cc - encryption/key_wrapping_test.cc - encryption/test_encryption_util.cc - encryption/test_in_memory_kms.cc - encryption/two_level_cache_with_expiration_test.cc - test_util.cc) + add_parquet_test(encryption-test + SOURCES + encryption/write_configurations_test.cc + encryption/read_configurations_test.cc + encryption/properties_test.cc + encryption/test_encryption_util.cc + test_util.cc) + add_parquet_test(encryption-key-management-test + SOURCES + encryption/key_management_test.cc + encryption/key_metadata_test.cc + encryption/key_wrapping_test.cc + encryption/test_encryption_util.cc + encryption/test_in_memory_kms.cc + encryption/two_level_cache_with_expiration_test.cc + test_util.cc) endif() # Those tests need to use static linking as they access thrift-generated diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index e276c968f92..a4e6e72b41b 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -140,11 +140,10 @@ elseif(APPLE) # $ENV{CONDA_PREFIX}/lib but our test libraries and executables are not # installed there. if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "" AND APPLE) - set_target_properties( - plasma-store-server - PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH_USE_LINK_PATH TRUE - INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib") + set_target_properties(plasma-store-server + PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH_USE_LINK_PATH TRUE + INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib") endif() endif() @@ -188,12 +187,11 @@ if(ARROW_PLASMA_JAVA_CLIENT) add_library(plasma_java SHARED ${PLASMA_LIBRARY_EXT_java_SRC}) if(APPLE) - target_link_libraries( - plasma_java - plasma_shared - ${PLASMA_LINK_LIBS} - "-undefined dynamic_lookup" - ${PTHREAD_LIBRARY}) + target_link_libraries(plasma_java + plasma_shared + ${PLASMA_LINK_LIBS} + "-undefined dynamic_lookup" + ${PTHREAD_LIBRARY}) else(APPLE) target_link_libraries(plasma_java plasma_shared ${PLASMA_LINK_LIBS} ${PTHREAD_LIBRARY}) @@ -208,12 +206,11 @@ function(ADD_PLASMA_TEST REL_TEST_NAME) set(options) set(one_value_args) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) add_test_case(${REL_TEST_NAME} PREFIX "plasma" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 5dc6ccc8bc4..8f91fbeb0dd 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -221,12 +221,11 @@ function(bundle_arrow_lib library_path) set(options) set(one_value_args SO_VERSION) set(multi_value_args) - cmake_parse_arguments( - ARG - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) + cmake_parse_arguments(ARG + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN}) if(ARG_UNPARSED_ARGUMENTS) message(SEND_ERROR "Error: unrecognized arguments: ${ARG_UNPARSED_ARGUMENTS}") endif()