aboutsummaryrefslogtreecommitdiffstats
path: root/coin/platform_configs/cmake_platforms.yaml
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-08-20 15:53:24 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-08-21 10:05:46 +0200
commitd44a1dafcc1421284bfb07b32f1a7ff3c89490fa (patch)
tree763275ad4ac94433c19ec71be31d970bd81849d7 /coin/platform_configs/cmake_platforms.yaml
parenta42797851e7461565e50abb977ffd2f1282b61c4 (diff)
CMake: Add configuration flags to build sql plugins
Add various CMake configuration flags to enable building of the same sql plugins that the qmake configurations do. While qmake has various introspection mechanisms for finding plugins inside qtbase/src/plugins/sqldrivers/configure.json and configure.pri, in CMake-land we sometimes need to be explicit and pass 3rd party lib paths, so that the FindFoo.cmake modules successfully find the libraries. Sometimes it's not necessary because the find modules also do some introspection in default paths like looking /usr on Linux, or 'C:\Program Files' on Windows. While some qmake configs provide mysql path hints (like on Windows), the plugin is actually disabled on purpose due to licensing issues as per a05bd71ede9e2c67a66fd2d28fab8e9e9386e51c and QTBUG-76081. Also the qmake configs specifying arguments like -plugin-sql-sqlite and -plugin-sql-odbc is redundant. These switches force enable the corresponding features in src/plugins/sqldrivers/configure.json, but it's actually not necessary because all the features (except system sqlite3) are auto-detected and enabled if the actual 3rd party library is found. The same is the case for the CMake build, so there's no need to manually enable the features. While the qmake qemu configs don't explicitly disable the mysql plugin and actually provide a Yocto SDK mysql path via -mysql_config, the library does not end up being found. It's unclear whether this is a bug (despite the licensing issue mentioned above) or on purpose. But the CMake build doesn't find it either, so it's consistent. And I suppose -psql_config /dev/null is meant to disable the postgresql plugin on QEMU configs. The QEMU CMake build doesn't find the postgresql library by default anyway, so the result is also consistent. Sql plugins built per packaging config: macOS: odbc, postgres, bundled sqlite RHEL: odbc, postgres, bundled sqlite Win10 MSVC x64: odbc, postgres, bundled sqlite Win10 MinGW x64: odbc, postgres, bundled sqlite Android any arch: bundled sqlite iOS: bundled sqlite QEMU any arch: bundled sqlite Task-number: QTBUG-86053 Change-Id: Ic759eb29fc5350cbdfe2825817af74767c4fb12a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'coin/platform_configs/cmake_platforms.yaml')
-rw-r--r--coin/platform_configs/cmake_platforms.yaml6
1 files changed, 3 insertions, 3 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 12e7bd72..2daa7d35 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -16,13 +16,13 @@ Configurations:
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/..'
Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-windows-10-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Packaging']
- Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..'
Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
@@ -52,5 +52,5 @@ Configurations:
Template: 'qtci-windows-10-x86_64-51'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache']
- Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DFEATURE_system_tiff=OFF -DFEATURE_system_freetype=OFF -DFEATURE_system_jpeg=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DFEATURE_system_tiff=OFF -DFEATURE_system_freetype=OFF -DFEATURE_system_jpeg=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..'
Environment variables: ['Path={{.Env.MINGW810}}\bin;{{.Env.Path}}', 'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_system_tiff=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']