diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 085e8d43f5c..feda6928bcf 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -845,6 +845,10 @@ if(MSVC AND ARROW_USE_STATIC_CRT) set(Boost_USE_STATIC_RUNTIME ON) endif() set(Boost_ADDITIONAL_VERSIONS + "1.77.0" + "1.77" + "1.76.0" + "1.76" "1.75.0" "1.75" "1.74.0" @@ -2442,9 +2446,12 @@ macro(build_absl_once) set(ABSL_INCLUDE_DIR "${ABSL_PREFIX}/include") set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF -DCMAKE_INSTALL_LIBDIR=lib + "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) + # Create include directory so that GRPC does not fail to build + file(MAKE_DIRECTORY ${ABSL_INCLUDE_DIR}) # Abseil produces the following libraries, each is fairly small, but there # are (as you can see), many of them. We need to add the libraries first, diff --git a/cpp/examples/parquet/parquet_arrow/CMakeLists.txt b/cpp/examples/parquet/parquet_arrow/CMakeLists.txt index 43eb21957a2..4f58113a037 100644 --- a/cpp/examples/parquet/parquet_arrow/CMakeLists.txt +++ b/cpp/examples/parquet/parquet_arrow/CMakeLists.txt @@ -27,9 +27,11 @@ include(GNUInstallDirs) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules") # This ensures that things like gnu++11 get passed correctly -set(CMAKE_CXX_STANDARD 11) +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() -# We require a C++11 compliant compiler +# We require a C++11 or higher compliant compiler set(CMAKE_CXX_STANDARD_REQUIRED ON) # Look for installed packages the system diff --git a/cpp/src/plasma/CMakeLists.txt b/cpp/src/plasma/CMakeLists.txt index 46603d6f85c..f10a6196a85 100644 --- a/cpp/src/plasma/CMakeLists.txt +++ b/cpp/src/plasma/CMakeLists.txt @@ -29,7 +29,9 @@ find_package(Threads) # The SO version is also the ABI version set(PLASMA_SO_VERSION "${ARROW_SO_VERSION}") set(PLASMA_FULL_SO_VERSION "${ARROW_FULL_SO_VERSION}") - +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-conversion") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt index b47cb110db8..1cc660787fc 100644 --- a/cpp/thirdparty/versions.txt +++ b/cpp/thirdparty/versions.txt @@ -27,30 +27,30 @@ ARROW_ABSL_BUILD_VERSION=20210324.2 ARROW_ABSL_BUILD_SHA256_CHECKSUM=59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f ARROW_AWSSDK_BUILD_VERSION=1.8.133 ARROW_AWSSDK_BUILD_SHA256_CHECKSUM=d6c495bc06be5e21dac716571305d77437e7cfd62a2226b8fe48d9ab5785a8d6 -ARROW_AWS_CHECKSUMS_BUILD_VERSION=v0.1.10 -ARROW_AWS_CHECKSUMS_BUILD_SHA256_CHECKSUM=c9d0100a5743765fc8034e34e2310f77f59b1adab6f2e2f2d4d2a3bd81b2a36d +ARROW_AWS_CHECKSUMS_BUILD_VERSION=v0.1.12 +ARROW_AWS_CHECKSUMS_BUILD_SHA256_CHECKSUM=394723034b81cc7cd528401775bc7aca2b12c7471c92350c80a0e2fb9d2909fe ARROW_AWS_C_COMMON_BUILD_VERSION=v0.6.9 ARROW_AWS_C_COMMON_BUILD_SHA256_CHECKSUM=928a3e36f24d1ee46f9eec360ec5cebfe8b9b8994fe39d4fa74ff51aebb12717 ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION=v0.1.5 ARROW_AWS_C_EVENT_STREAM_BUILD_SHA256_CHECKSUM=f1b423a487b5d6dca118bfc0d0c6cc596dc476b282258a3228e73a8f730422d4 -ARROW_BOOST_BUILD_VERSION=1.75.0 -ARROW_BOOST_BUILD_SHA256_CHECKSUM=cb97b36e2295a321c34851e0455bc2630ad6c691d4f9f589170066cd11c835b4 +ARROW_BOOST_BUILD_VERSION=1.77.0 +ARROW_BOOST_BUILD_SHA256_CHECKSUM=5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131 ARROW_BROTLI_BUILD_VERSION=v1.0.9 ARROW_BROTLI_BUILD_SHA256_CHECKSUM=f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46 ARROW_BZIP2_BUILD_VERSION=1.0.8 ARROW_BZIP2_BUILD_SHA256_CHECKSUM=ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 -ARROW_CARES_BUILD_VERSION=1.17.1 -ARROW_CARES_BUILD_SHA256_CHECKSUM=d73dd0f6de824afd407ce10750ea081af47eba52b8a6cb307d220131ad93fc40 +ARROW_CARES_BUILD_VERSION=1.17.2 +ARROW_CARES_BUILD_SHA256_CHECKSUM=4803c844ce20ce510ef0eb83f8ea41fa24ecaae9d280c468c582d2bb25b3913d ARROW_CRC32C_BUILD_VERSION=1.1.2 ARROW_CRC32C_BUILD_SHA256_CHECKSUM=ac07840513072b7fcebda6e821068aa04889018f24e10e46181068fb214d7e56 -ARROW_GBENCHMARK_BUILD_VERSION=v1.5.2 -ARROW_GBENCHMARK_BUILD_SHA256_CHECKSUM=dccbdab796baa1043f04982147e67bb6e118fe610da2c65f88912d73987e700c +ARROW_GBENCHMARK_BUILD_VERSION=v1.5.6 +ARROW_GBENCHMARK_BUILD_SHA256_CHECKSUM=789f85b4810d13ff803834ea75999e41b326405d83d6a538baf01499eda96102 ARROW_GFLAGS_BUILD_VERSION=v2.2.2 ARROW_GFLAGS_BUILD_SHA256_CHECKSUM=34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf -ARROW_GLOG_BUILD_VERSION=v0.4.0 -ARROW_GLOG_BUILD_SHA256_CHECKSUM=f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c -ARROW_GOOGLE_CLOUD_CPP_BUILD_VERSION=v1.31.1 -ARROW_GOOGLE_CLOUD_CPP_BUILD_SHA256_CHECKSUM=dc7cbf95b506a84b48cf71e0462985d262183edeaabdacaaee2109852394a609 +ARROW_GLOG_BUILD_VERSION=v0.5.0 +ARROW_GLOG_BUILD_SHA256_CHECKSUM=eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5 +ARROW_GOOGLE_CLOUD_CPP_BUILD_VERSION=v1.32.0 +ARROW_GOOGLE_CLOUD_CPP_BUILD_SHA256_CHECKSUM=c62338389f76915179fe61d8c0f5fefa06131b4e0d7312707af5309b1394e099 ARROW_GRPC_BUILD_VERSION=v1.35.0 ARROW_GRPC_BUILD_SHA256_CHECKSUM=27dd2fc5c9809ddcde8eb6fa1fa278a3486566dfc28335fca13eb8df8bd3b958 ARROW_GTEST_BUILD_VERSION=1.11.0 @@ -67,8 +67,8 @@ ARROW_NLOHMANN_JSON_BUILD_VERSION=v3.10.2 ARROW_NLOHMANN_JSON_BUILD_SHA256_CHECKSUM=081ed0f9f89805c2d96335c3acfa993b39a0a5b4b4cef7edb68dd2210a13458c ARROW_ORC_BUILD_VERSION=1.7.0 ARROW_ORC_BUILD_SHA256_CHECKSUM=45d6ba9149ffa2aaa168d61ab326f61181861c94529f26da3918a9aa2f801e39 -ARROW_PROTOBUF_BUILD_VERSION=v3.17.3 -ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2 +ARROW_PROTOBUF_BUILD_VERSION=v3.18.1 +ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=b8ab9bbdf0c6968cf20060794bc61e231fae82aaf69d6e3577c154181991f576 # Because of https://github.com/Tencent/rapidjson/pull/1323, we require # a pre-release version of RapidJSON to build with GCC 8 without # warnings. diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index aaf107728b1..d93686ea451 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1010,7 +1010,7 @@ tasks: params: env: UBUNTU: 20.04 - flags: "-e CMAKE_ARGS=-DCMAKE_CXX_STANDARD={{ cpp_standard }}" + flags: "--no-cache -e CMAKE_ARGS=-DCMAKE_CXX_STANDARD={{ cpp_standard }}" image: ubuntu-cpp {% endfor %} diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt index e667500c466..73eaf48a27f 100644 --- a/matlab/CMakeLists.txt +++ b/matlab/CMakeLists.txt @@ -181,7 +181,9 @@ macro(build_gtest) add_dependencies(GTest::gtest_main arrow_ep) endmacro() -set(CMAKE_CXX_STANDARD 11) +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() set(MLARROW_VERSION "7.0.0-SNAPSHOT") string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" MLARROW_BASE_VERSION "${MLARROW_VERSION}")