diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2023-07-18 17:57:47 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2023-08-01 17:36:08 +0200 |
commit | 6529d1bb4e0a357c730100377decf8d83c46dea8 (patch) | |
tree | 1f690f455b796609cc832d052d569a927799feab | |
parent | 59da1f0dfe80e0c1198c5549f7b8fcd3b68ebbf7 (diff) |
CMake: Ignore libraries provided by strawberry perl
Because we have strawberry perl's bin dir in the PATH, CMake considers
that a find_package prefix, and thus finds includes and libraries
that are shipped with strawberry perl.
That causes problems because the 3rd party runtime libraries are not
installed by the Qt installer, so any Qt modules / plugins that depend
on the 3rd party libraries will fail to load.
Use CMake 3.23's CMAKE_IGNORE_PREFIX_PATH option to tell it to ignore
strawberry headers and libraries.
We need to repeat it both for qtbase and non-qtbase args, to ensure
the libraries are not picked up for all of Qt.
This is a more general fix for problems like the one fixed by
a97bdde4d485fe0bde1a12c4307ae72a35b54c46
Task-number: QTBUG-113726
Change-Id: I706bf9ac945a47dc809bbb6eb9eda4ca93f84695
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 9b7dcd94df9de3e98cd1831b7804fabfa97417dd)
-rw-r--r-- | coin/platform_configs/cmake_platforms.yaml | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index b911dfbe..5f83cb44 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -207,8 +207,8 @@ Configurations: Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples -qt-zlib -qt-freetype -qt-libjpeg' Environment variables: [ 'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}', - 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..', - 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DFEATURE_native_grpc=OFF', + 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', + 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DFEATURE_native_grpc=OFF -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_mingw}}', @@ -221,8 +221,8 @@ Configurations: Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples -qt-zlib -qt-freetype -qt-libjpeg' Environment variables: [ 'Path=C:\llvm-mingw\bin;{{.Env.Path}}', - 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..', - 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}}', + 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', + 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', 'LLVM_INSTALL_DIR=C:\llvm-mingw', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_llvm_mingw}}', @@ -235,8 +235,8 @@ Configurations: Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples -qt-zlib -qt-freetype -qt-libjpeg' Environment variables: [ 'Path=C:\llvm-mingw\bin;{{.Env.Path}}', - 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..', - 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}}', + 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', + 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', 'LLVM_INSTALL_DIR=C:\llvm-mingw', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_llvm_mingw}}', @@ -249,8 +249,8 @@ Configurations: Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples -qt-zlib -qt-freetype -qt-libjpeg' Environment variables: [ 'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}', - 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..', - 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}}', + 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', + 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_mingw}}', @@ -263,8 +263,8 @@ Configurations: Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples -qt-zlib -qt-freetype -qt-libjpeg' Environment variables: [ 'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}', - 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..', - 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}}', + 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', + 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_system_tiff=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c', 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_mingw}}', |