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 4543f5d839 GH-39268: [C++] Don't install bundled Azure SDK for C++
with CMake 3.28+ (#39269)
4543f5d839 is described below
commit 4543f5d8394e221681c362f4e7c8a7268823b2cd
Author: Sutou Kouhei <[email protected]>
AuthorDate: Mon Jan 1 22:38:24 2024 +0900
GH-39268: [C++] Don't install bundled Azure SDK for C++ with CMake 3.28+
(#39269)
### Rationale for this change
We can implement this by specifying `EXCLUDE_FROM_ALL TRUE` to
`fetchcontent_declare()`.
### What changes are included in this PR?
Specify `EXCLUDE_FROM_ALL TRUE` only with CMake 3.28+.
### Are these changes tested?
Yes.
### Are there any user-facing changes?
Yes.
* Closes: #39268
Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 89d046945e..3f327ed64f 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1015,6 +1015,10 @@ else()
endif()
include(FetchContent)
+set(FC_DECLARE_COMMON_OPTIONS)
+if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.28)
+ list(APPEND FC_DECLARE_COMMON_OPTIONS EXCLUDE_FROM_ALL TRUE)
+endif()
macro(prepare_fetchcontent)
set(BUILD_SHARED_LIBS OFF)
@@ -2146,6 +2150,9 @@ function(build_gtest)
message(STATUS "Building gtest from source")
set(GTEST_VENDORED TRUE)
fetchcontent_declare(googletest
+ # We should not specify "EXCLUDE_FROM_ALL TRUE" here.
+ # Because we install GTest with custom path.
+ # ${FC_DECLARE_COMMON_OPTIONS}
URL ${GTEST_SOURCE_URL}
URL_HASH "SHA256=${ARROW_GTEST_BUILD_SHA256_CHECKSUM}")
prepare_fetchcontent()
@@ -5096,8 +5103,7 @@ function(build_azure_sdk)
endif()
message(STATUS "Building Azure SDK for C++ from source")
fetchcontent_declare(azure_sdk
- # EXCLUDE_FROM_ALL is available since CMake 3.28
- # EXCLUDE_FROM_ALL TRUE
+ ${FC_DECLARE_COMMON_OPTIONS}
URL ${ARROW_AZURE_SDK_URL}
URL_HASH
"SHA256=${ARROW_AZURE_SDK_BUILD_SHA256_CHECKSUM}")
prepare_fetchcontent()