From 4832f61212b6536afeb0079918aa8eb7bb51eee4 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 6 Jun 2025 20:18:01 +0200 Subject: [PATCH] SQL/DB2: Add and document DB2_ROOT Sync the cmake arguments to search for DB2 with the rest of the qsql find modules and provide a DB2_ROOT env or cmake var. Also allow the old variables as a fallback. Pick-to: 6.10 Change-Id: I587e519b5cf3513e9580f64f0fb9b46bf789da5c Reviewed-by: Alexandru Croitor --- cmake/FindDB2.cmake | 16 +++++++++++----- .../doc/snippets/code/doc_src_sql-driver.qdoc | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cmake/FindDB2.cmake b/cmake/FindDB2.cmake index 31f7bbcae9e..293b9f455df 100644 --- a/cmake/FindDB2.cmake +++ b/cmake/FindDB2.cmake @@ -21,25 +21,31 @@ # ``DB2::DB2`` # The db2 client library +if(NOT DEFINED DB2_ROOT) + if(DEFINED ENV{DB2_ROOT}) + set(DB2_ROOT "$ENV{DB2_ROOT}") + endif() +endif() + if (NOT DEFINED DB2_INCLUDE_DIR) find_path(DB2_INCLUDE_DIR NAMES sqlcli1.h - HINTS ENV DB2_HOME + HINTS "${DB2_ROOT}" ENV DB2_HOME PATH_SUFFIXES include) else() find_path(DB2_INCLUDE_DIR NAMES sqlcli1.h - HINTS ${DB2_INCLUDE_DIR}) + HINTS "${DB2_INCLUDE_DIR}") endif() if (NOT DEFINED DB2_LIBRARY_DIR) find_library(DB2_LIBRARY - NAMES db2 - HINTS ENV DB2LIB) + NAMES db2 db2cli64 + HINTS "${DB2_ROOT}" ENV DB2LIB) else() find_library(DB2_LIBRARY NAMES db2 - HINTS ${DB2_LIBRARY_DIR}) + HINTS "${DB2_LIBRARY_DIR}") endif() include(FindPackageHandleStandardArgs) diff --git a/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc b/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc index e38416d1748..5ea493f4dec 100644 --- a/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc +++ b/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc @@ -105,7 +105,7 @@ cmake --install . //! [18] mkdir build-sqldrivers cd build-sqldrivers -qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DDB2_INCLUDE_DIR="/usr/local/db2/include" -DDB2_LIBRARY="/usr/local/db2/lib/libdb2." +qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DDB2_ROOT="/usr/local/db2" cmake --build . cmake --install . //! [18] @@ -114,7 +114,7 @@ cmake --install . //! [20] mkdir build-sqldrivers cd build-sqldrivers -qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DDB2_INCLUDE_DIR="C:\db2\include" -DDB2_LIBRARY="C:\db2\lib\db2.lib" +qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DDB2_ROOT="C:\db2" cmake --build . cmake --install . //! [20]