mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-14 02:46:46 +08:00
Use correct path for libiodbc and forward via ODBC_ROOT env var
The hard-coded path paths added to LIBRARY_PATH and CPLUS_INCLUDE_PATH was not correct on Apple Silicon Macs, where homebrew installs into /opt/homebrew/. There's also no point in passing on the library location via compiler environment variables, when we can use ODBC_ROOT. And we don't need to pass it on as a CMake define, as a environment variable works just fine. This decouples the provisioning of libiodbc from the build configurations. Change-Id: I40aa3c1852fb0baf3366fa1a9dab85a66eef95e2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit124957a8cb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit1bb142175a)
This commit is contained in:
committed by
Qt Cherry-pick Bot
parent
3cf6241e47
commit
e8a94de2ea
@@ -53,7 +53,7 @@ Configurations:
|
||||
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -nomake examples -release -no-framework -no-icu -qt-doubleconversion -no-feature-sql-psql'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF',
|
||||
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf'
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@ Configurations:
|
||||
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_FEATURE_open62541_security=OFF',
|
||||
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf'
|
||||
]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2018 The Qt Company Ltd.
|
||||
# Copyright (C) 2025 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# Install libiodbc
|
||||
@@ -11,12 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@"
|
||||
|
||||
# CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc
|
||||
|
||||
read -r -a arr <<< "$(brew list --versions libiodbc)"
|
||||
version=${arr[1]}
|
||||
|
||||
SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}"
|
||||
SetEnvVar "LIBRARY_PATH" "/usr/local/Cellar/libiodbc/$version/lib${LIBRARY_PATH:+:}${LIBRARY_PATH}"
|
||||
SetEnvVar "ODBC_ROOT" "$(brew --prefix libiodbc)"
|
||||
|
||||
echo "libiodbc = $version" >> ~/versions.txt
|
||||
|
||||
Reference in New Issue
Block a user