mirror of
https://github.com/apache/arrow.git
synced 2026-10-28 16:47:19 +08:00
### Rationale for this change GitHub Actions self-hosted runner for macOS has /usr/local/include/openssl/ provided by OpenSSL 3 (`openssl@ 3`). Our include paths have `... -isystem /usr/local/include -isystem /usr/local/opt/openssl@ 1.1/include ...`. It means that `/usr/local/include/openssl/...` is used for `#include <openssl/...>`. If we mix OpenSSL 3 headers and OpenSSL 1.1 libraries, we may get some problems such as a link error. ### What changes are included in this PR? This uses OpenSSL 3 instead of OpenSSL 1.1 because GitHub Actions self-hosted runner for macOS provides OpenSSL 3 by /usr/local/include/openssl/. Note that `$(brew --prefix openssl@ 3)/include` isn't linked as /usr/local/include/openssl` by default. So I think that Homebrew GitHub Actions self-hosted runner for macOS does it explicitly. Other solution: Unlinking `/usr/local/include/openssl` by `brew unlink openssl@ 3`. But there is no reason to use OpenSSL 1.1 for us. So this PR doesn't use this solution. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * Closes: #36329 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
56 lines
1.8 KiB
CMake
56 lines
1.8 KiB
CMake
# 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.
|
|
|
|
if(OpenSSLAlt_FOUND)
|
|
return()
|
|
endif()
|
|
|
|
if(APPLE AND NOT OPENSSL_ROOT_DIR)
|
|
find_program(BREW brew)
|
|
if(BREW)
|
|
foreach(BREW_OPENSSL_VERSION "" "3" "3.0" "1.1")
|
|
set(BREW_OPENSSL_PACKAGE "openssl")
|
|
if(BREW_OPENSSL_VERSION)
|
|
string(APPEND BREW_OPENSSL_PACKAGE "@${BREW_OPENSSL_VERSION}")
|
|
endif()
|
|
execute_process(COMMAND ${BREW} --prefix --installed ${BREW_OPENSSL_PACKAGE}
|
|
OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
if(BREW_OPENSSL_PREFIX)
|
|
set(OPENSSL_ROOT_DIR ${BREW_OPENSSL_PREFIX})
|
|
break()
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
endif()
|
|
|
|
set(find_package_args)
|
|
if(OpenSSLAlt_FIND_VERSION)
|
|
list(APPEND find_package_args ${OpenSSLAlt_FIND_VERSION})
|
|
endif()
|
|
if(OpenSSLAlt_FIND_QUIETLY)
|
|
list(APPEND find_package_args QUIET)
|
|
endif()
|
|
if(ARROW_OPENSSL_USE_SHARED)
|
|
set(OPENSSL_USE_STATIC_LIBS OFF)
|
|
else()
|
|
set(OPENSSL_USE_STATIC_LIBS ON)
|
|
endif()
|
|
find_package(OpenSSL ${find_package_args})
|
|
|
|
set(OpenSSLAlt_FOUND ${OPENSSL_FOUND})
|