You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ko...@apache.org on 2024/02/24 22:05:51 UTC

(arrow) branch main updated: GH-40221: [C++][CMake] Use arrow/util/config.h.cmake instead of add_definitions() (#40222)

This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new b8fff043c6 GH-40221: [C++][CMake] Use arrow/util/config.h.cmake instead of add_definitions() (#40222)
b8fff043c6 is described below

commit b8fff043c6cb351b1fad87fa0eeaf8dbc550e37c
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Sun Feb 25 07:05:45 2024 +0900

    GH-40221: [C++][CMake] Use arrow/util/config.h.cmake instead of add_definitions() (#40222)
    
    ### Rationale for this change
    
    It's easy to maintain.
    
    ### What changes are included in this PR?
    
    Use `#cmakedefine` in `cpp/src/arrow/util/config.h.cmake` and `#include "arrow/util/config.h"` instead of `add_definition(...)`.
    
    ### Are these changes tested?
    
    Yes.
    
    ### Are there any user-facing changes?
    
    No.
    * GitHub Issue: #40221
    
    Authored-by: Sutou Kouhei <ko...@clear-code.com>
    Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
 cpp/CMakeLists.txt                                 |  2 --
 cpp/cmake_modules/ThirdpartyToolchain.cmake        |  2 --
 cpp/src/arrow/CMakeLists.txt                       | 10 ---------
 .../arrow/compute/kernels/scalar_string_ascii.cc   |  9 ++++----
 .../arrow/compute/kernels/scalar_string_test.cc    |  9 ++++----
 .../arrow/compute/kernels/scalar_string_utf8.cc    |  7 ++++---
 cpp/src/arrow/ipc/feather_test.cc                  |  1 +
 cpp/src/arrow/util/compression.cc                  |  1 +
 cpp/src/arrow/util/compression_benchmark.cc        |  1 +
 cpp/src/arrow/util/compression_test.cc             |  3 ++-
 cpp/src/arrow/util/config.h.cmake                  | 11 ++++++++++
 cpp/src/arrow/util/logging.cc                      |  4 +++-
 cpp/src/parquet/CMakeLists.txt                     | 24 ----------------------
 cpp/src/parquet/column_io_benchmark.cc             |  1 +
 cpp/src/parquet/column_writer_test.cc              |  1 +
 cpp/src/parquet/file_deserialize_test.cc           |  1 +
 cpp/src/parquet/file_serialize_test.cc             |  1 +
 cpp/src/parquet/reader_test.cc                     |  1 +
 18 files changed, 38 insertions(+), 51 deletions(-)

diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index b045a1cc0c..164f4182d9 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -784,7 +784,6 @@ if(ARROW_USE_GLOG)
   if(GLOG_SOURCE STREQUAL "SYSTEM")
     list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS glog::glog)
   endif()
-  add_definitions("-DARROW_USE_GLOG")
 endif()
 
 if(ARROW_S3)
@@ -953,7 +952,6 @@ if(ARROW_JEMALLOC)
 endif()
 
 if(ARROW_MIMALLOC)
-  add_definitions(-DARROW_MIMALLOC)
   list(APPEND ARROW_SHARED_LINK_LIBS mimalloc::mimalloc)
   list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc)
 endif()
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 3c56bc7f24..951028b699 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2585,7 +2585,6 @@ if(ARROW_WITH_RE2)
                      TRUE
                      PC_PACKAGE_NAMES
                      re2)
-  add_definitions(-DARROW_WITH_RE2)
 endif()
 
 macro(build_bzip2)
@@ -2693,7 +2692,6 @@ if(ARROW_WITH_UTF8PROC)
                      libutf8proc
                      REQUIRED_VERSION
                      "2.2.0")
-  add_definitions(-DARROW_WITH_UTF8PROC)
 endif()
 
 macro(build_cares)
diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
index 2f0e4a3aa6..c160179cef 100644
--- a/cpp/src/arrow/CMakeLists.txt
+++ b/cpp/src/arrow/CMakeLists.txt
@@ -304,17 +304,14 @@ set_source_files_properties(vendored/datetime/tz.cpp
 add_definitions(-DURI_STATIC_BUILD)
 
 if(ARROW_WITH_BROTLI)
-  add_definitions(-DARROW_WITH_BROTLI)
   list(APPEND ARROW_SRCS util/compression_brotli.cc)
 endif()
 
 if(ARROW_WITH_BZ2)
-  add_definitions(-DARROW_WITH_BZ2)
   list(APPEND ARROW_SRCS util/compression_bz2.cc)
 endif()
 
 if(ARROW_WITH_LZ4)
-  add_definitions(-DARROW_WITH_LZ4)
   list(APPEND ARROW_SRCS util/compression_lz4.cc)
 endif()
 
@@ -323,17 +320,14 @@ if(ARROW_WITH_OPENTELEMETRY)
 endif()
 
 if(ARROW_WITH_SNAPPY)
-  add_definitions(-DARROW_WITH_SNAPPY)
   list(APPEND ARROW_SRCS util/compression_snappy.cc)
 endif()
 
 if(ARROW_WITH_ZLIB)
-  add_definitions(-DARROW_WITH_ZLIB)
   list(APPEND ARROW_SRCS util/compression_zlib.cc)
 endif()
 
 if(ARROW_WITH_ZSTD)
-  add_definitions(-DARROW_WITH_ZSTD)
   list(APPEND ARROW_SRCS util/compression_zstd.cc)
 endif()
 
@@ -493,10 +487,6 @@ if(ARROW_COMPUTE)
 endif()
 
 if(ARROW_FILESYSTEM)
-  if(ARROW_HDFS)
-    add_definitions(-DARROW_HDFS)
-  endif()
-
   list(APPEND
        ARROW_SRCS
        filesystem/filesystem.cc
diff --git a/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc b/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc
index 8fdc6172aa..038e623b43 100644
--- a/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc
+++ b/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc
@@ -21,17 +21,18 @@
 #include <memory>
 #include <string>
 
-#ifdef ARROW_WITH_RE2
-#include <re2/re2.h>
-#endif
-
 #include "arrow/array/builder_nested.h"
 #include "arrow/compute/kernels/scalar_string_internal.h"
 #include "arrow/result.h"
+#include "arrow/util/config.h"
 #include "arrow/util/macros.h"
 #include "arrow/util/string.h"
 #include "arrow/util/value_parsing.h"
 
+#ifdef ARROW_WITH_RE2
+#include <re2/re2.h>
+#endif
+
 namespace arrow {
 
 using internal::EndsWith;
diff --git a/cpp/src/arrow/compute/kernels/scalar_string_test.cc b/cpp/src/arrow/compute/kernels/scalar_string_test.cc
index d7e35d0733..26289a7f78 100644
--- a/cpp/src/arrow/compute/kernels/scalar_string_test.cc
+++ b/cpp/src/arrow/compute/kernels/scalar_string_test.cc
@@ -23,10 +23,6 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
-#ifdef ARROW_WITH_UTF8PROC
-#include <utf8proc.h>
-#endif
-
 #include "arrow/compute/api_scalar.h"
 #include "arrow/compute/exec.h"
 #include "arrow/compute/kernels/codegen_internal.h"
@@ -34,8 +30,13 @@
 #include "arrow/testing/gtest_util.h"
 #include "arrow/type.h"
 #include "arrow/type_fwd.h"
+#include "arrow/util/config.h"
 #include "arrow/util/value_parsing.h"
 
+#ifdef ARROW_WITH_UTF8PROC
+#include <utf8proc.h>
+#endif
+
 namespace arrow::compute {
 
 // interesting utf8 characters for testing (lower case / upper case):
diff --git a/cpp/src/arrow/compute/kernels/scalar_string_utf8.cc b/cpp/src/arrow/compute/kernels/scalar_string_utf8.cc
index cf8a697fea..d720d4eee8 100644
--- a/cpp/src/arrow/compute/kernels/scalar_string_utf8.cc
+++ b/cpp/src/arrow/compute/kernels/scalar_string_utf8.cc
@@ -19,13 +19,14 @@
 #include <mutex>
 #include <string>
 
+#include "arrow/compute/kernels/scalar_string_internal.h"
+#include "arrow/util/config.h"
+#include "arrow/util/utf8_internal.h"
+
 #ifdef ARROW_WITH_UTF8PROC
 #include <utf8proc.h>
 #endif
 
-#include "arrow/compute/kernels/scalar_string_internal.h"
-#include "arrow/util/utf8_internal.h"
-
 namespace arrow {
 namespace compute {
 namespace internal {
diff --git a/cpp/src/arrow/ipc/feather_test.cc b/cpp/src/arrow/ipc/feather_test.cc
index 80e441fe2b..ba3f4d828c 100644
--- a/cpp/src/arrow/ipc/feather_test.cc
+++ b/cpp/src/arrow/ipc/feather_test.cc
@@ -35,6 +35,7 @@
 #include "arrow/type.h"
 #include "arrow/util/checked_cast.h"
 #include "arrow/util/compression.h"
+#include "arrow/util/config.h"
 
 namespace arrow {
 
diff --git a/cpp/src/arrow/util/compression.cc b/cpp/src/arrow/util/compression.cc
index 5ad17e993f..b63aec0aae 100644
--- a/cpp/src/arrow/util/compression.cc
+++ b/cpp/src/arrow/util/compression.cc
@@ -24,6 +24,7 @@
 #include "arrow/result.h"
 #include "arrow/status.h"
 #include "arrow/util/compression_internal.h"
+#include "arrow/util/config.h"
 #include "arrow/util/logging.h"
 
 namespace arrow {
diff --git a/cpp/src/arrow/util/compression_benchmark.cc b/cpp/src/arrow/util/compression_benchmark.cc
index cc04eb4634..0b9727cff9 100644
--- a/cpp/src/arrow/util/compression_benchmark.cc
+++ b/cpp/src/arrow/util/compression_benchmark.cc
@@ -27,6 +27,7 @@
 
 #include "arrow/result.h"
 #include "arrow/util/compression.h"
+#include "arrow/util/config.h"
 #include "arrow/util/logging.h"
 #include "arrow/util/macros.h"
 
diff --git a/cpp/src/arrow/util/compression_test.cc b/cpp/src/arrow/util/compression_test.cc
index eeeedce177..eb2da98d51 100644
--- a/cpp/src/arrow/util/compression_test.cc
+++ b/cpp/src/arrow/util/compression_test.cc
@@ -30,6 +30,7 @@
 #include "arrow/testing/gtest_util.h"
 #include "arrow/testing/util.h"
 #include "arrow/util/compression.h"
+#include "arrow/util/config.h"
 
 namespace arrow {
 namespace util {
@@ -729,7 +730,7 @@ INSTANTIATE_TEST_SUITE_P(TestLZ4Frame, CodecTest,
 INSTANTIATE_TEST_SUITE_P(TestBrotli, CodecTest, ::testing::Values(Compression::BROTLI));
 #endif
 
-#if ARROW_WITH_BZ2
+#ifdef ARROW_WITH_BZ2
 INSTANTIATE_TEST_SUITE_P(TestBZ2, CodecTest, ::testing::Values(Compression::BZ2));
 #endif
 
diff --git a/cpp/src/arrow/util/config.h.cmake b/cpp/src/arrow/util/config.h.cmake
index 6c8c31ffb8..fb42a53139 100644
--- a/cpp/src/arrow/util/config.h.cmake
+++ b/cpp/src/arrow/util/config.h.cmake
@@ -47,15 +47,26 @@
 #cmakedefine ARROW_JEMALLOC
 #cmakedefine ARROW_JEMALLOC_VENDORED
 #cmakedefine ARROW_JSON
+#cmakedefine ARROW_MIMALLOC
 #cmakedefine ARROW_ORC
 #cmakedefine ARROW_PARQUET
 #cmakedefine ARROW_SUBSTRAIT
 
 #cmakedefine ARROW_ENABLE_THREADING
 #cmakedefine ARROW_GCS
+#cmakedefine ARROW_HDFS
 #cmakedefine ARROW_S3
+#cmakedefine ARROW_USE_GLOG
 #cmakedefine ARROW_USE_NATIVE_INT128
+#cmakedefine ARROW_WITH_BROTLI
+#cmakedefine ARROW_WITH_BZ2
+#cmakedefine ARROW_WITH_LZ4
 #cmakedefine ARROW_WITH_MUSL
 #cmakedefine ARROW_WITH_OPENTELEMETRY
+#cmakedefine ARROW_WITH_RE2
+#cmakedefine ARROW_WITH_SNAPPY
 #cmakedefine ARROW_WITH_UCX
+#cmakedefine ARROW_WITH_UTF8PROC
+#cmakedefine ARROW_WITH_ZLIB
+#cmakedefine ARROW_WITH_ZSTD
 #cmakedefine PARQUET_REQUIRE_ENCRYPTION
diff --git a/cpp/src/arrow/util/logging.cc b/cpp/src/arrow/util/logging.cc
index 9c68982a3d..d293113237 100644
--- a/cpp/src/arrow/util/logging.cc
+++ b/cpp/src/arrow/util/logging.cc
@@ -17,6 +17,8 @@
 
 #include "arrow/util/logging.h"
 
+#include "arrow/util/config.h"
+
 #ifdef ARROW_WITH_BACKTRACE
 #include <execinfo.h>
 #endif
@@ -28,7 +30,7 @@
 #include <signal.h>
 #include <vector>
 
-#include "glog/logging.h"
+#include <glog/logging.h>
 
 // Restore our versions of DCHECK and friends, as GLog defines its own
 #undef DCHECK
diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt
index 04028431ba..9fed75704b 100644
--- a/cpp/src/parquet/CMakeLists.txt
+++ b/cpp/src/parquet/CMakeLists.txt
@@ -422,27 +422,3 @@ add_parquet_benchmark(level_conversion_benchmark)
 add_parquet_benchmark(page_index_benchmark SOURCES page_index_benchmark.cc
                       benchmark_util.cc)
 add_parquet_benchmark(arrow/reader_writer_benchmark PREFIX "parquet-arrow")
-
-if(ARROW_WITH_BROTLI)
-  add_definitions(-DARROW_WITH_BROTLI)
-endif()
-
-if(ARROW_WITH_BZ2)
-  add_definitions(-DARROW_WITH_BZ2)
-endif()
-
-if(ARROW_WITH_LZ4)
-  add_definitions(-DARROW_WITH_LZ4)
-endif()
-
-if(ARROW_WITH_SNAPPY)
-  add_definitions(-DARROW_WITH_SNAPPY)
-endif()
-
-if(ARROW_WITH_ZLIB)
-  add_definitions(-DARROW_WITH_ZLIB)
-endif()
-
-if(ARROW_WITH_ZSTD)
-  add_definitions(-DARROW_WITH_ZSTD)
-endif()
diff --git a/cpp/src/parquet/column_io_benchmark.cc b/cpp/src/parquet/column_io_benchmark.cc
index 48e434a342..593765dcd4 100644
--- a/cpp/src/parquet/column_io_benchmark.cc
+++ b/cpp/src/parquet/column_io_benchmark.cc
@@ -20,6 +20,7 @@
 #include "arrow/array.h"
 #include "arrow/io/memory.h"
 #include "arrow/testing/random.h"
+#include "arrow/util/config.h"
 
 #include "parquet/column_reader.h"
 #include "parquet/column_writer.h"
diff --git a/cpp/src/parquet/column_writer_test.cc b/cpp/src/parquet/column_writer_test.cc
index 86fe0965a6..a8519a0f56 100644
--- a/cpp/src/parquet/column_writer_test.cc
+++ b/cpp/src/parquet/column_writer_test.cc
@@ -26,6 +26,7 @@
 #include "arrow/testing/gtest_util.h"
 #include "arrow/util/bit_util.h"
 #include "arrow/util/bitmap_builders.h"
+#include "arrow/util/config.h"
 
 #include "parquet/column_page.h"
 #include "parquet/column_reader.h"
diff --git a/cpp/src/parquet/file_deserialize_test.cc b/cpp/src/parquet/file_deserialize_test.cc
index 6b3c7062fc..9f2857c819 100644
--- a/cpp/src/parquet/file_deserialize_test.cc
+++ b/cpp/src/parquet/file_deserialize_test.cc
@@ -37,6 +37,7 @@
 #include "arrow/status.h"
 #include "arrow/testing/gtest_util.h"
 #include "arrow/util/compression.h"
+#include "arrow/util/config.h"
 #include "arrow/util/crc32.h"
 
 namespace parquet {
diff --git a/cpp/src/parquet/file_serialize_test.cc b/cpp/src/parquet/file_serialize_test.cc
index 62e1965418..fc356d5d24 100644
--- a/cpp/src/parquet/file_serialize_test.cc
+++ b/cpp/src/parquet/file_serialize_test.cc
@@ -19,6 +19,7 @@
 #include <gtest/gtest.h>
 
 #include "arrow/testing/gtest_compat.h"
+#include "arrow/util/config.h"
 
 #include "parquet/column_reader.h"
 #include "parquet/column_writer.h"
diff --git a/cpp/src/parquet/reader_test.cc b/cpp/src/parquet/reader_test.cc
index 551f62798e..f9c2e06873 100644
--- a/cpp/src/parquet/reader_test.cc
+++ b/cpp/src/parquet/reader_test.cc
@@ -32,6 +32,7 @@
 #include "arrow/testing/gtest_util.h"
 #include "arrow/testing/random.h"
 #include "arrow/util/checked_cast.h"
+#include "arrow/util/config.h"
 
 #include "parquet/column_reader.h"
 #include "parquet/column_scanner.h"