Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-132244

SQLite not found in qttools when building system SQLite in Windows

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 6.7, 6.10
    • Build System: CMake
    • None
    • Windows
    • 8d0283ad2 (dev), 8f1438b1a (6.9), b2dcce10a (6.8), 3d907993e (tqtc/lts-6.5)

    Description

      I attempted to build qtinsighttracker with system sqlite in 6.7.2 branch for Windows 11 22h2 x64_86.

      My attempts are seen in change:
      605291: Add SQLite 3.47.1 | https://codereview.qt-project.org/c/qt/tqtc-qt5/+/605291

      I downloaded sqlite-amalgamation package from:
      https://www.sqlite.org/download.html
      https://www.sqlite.org/2024/sqlite-amalgamation-3470100.zip

      A library file for a static library is compiled in provisoning (using Visual Studio 2019):

      # Compile the SQLite source to create the static library
      try {
          cl /c /Fosqlite3.obj sqlite3.c
          lib /out:$libDir\sqlite3.lib sqlite3.obj
          Write-Host "SQLite static library successfully created: $libDir\sqlite3.lib"
      } catch {
          Write-Error "Failed to build sqlite3.lib. Error: $_"
          exit 1
      } 

      Environment variables/args are set for CMake:

      -DFEATURE_system_sqlite=ON -DCMAKE_INCLUDE_PATH={{.Env.SQLite_INCLUDE}} -DCMAKE_LIBRARY_PATH={{.Env.SQLite_LIB}} 

      (Doc: https://doc.qt.io/qt-6/sql-driver.html#how-to-build-the-qsqlite-plugin)

      Configure arg is used (also tried without it):

      -sql-sqlite 

       

      Coin run:
      https://coin.ci.qt.io/coin/integration/qt/tqtc-qtinsighttracker/tasks/web_qt_tqtc-qtinsighttracker_1733952165418

      qtbase finds system sqlite:

      -- Found SQLite3: C:/Utils/sqlite-amalgamation-3470100 (found version "3.47.1")
      SQLite ................................. yes     
      Using system provided SQLite ......... yes
      

      But then qttools does not find sqlite:

      CMake Error at C:/Users/qt/work/install/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginTargets.cmake:61 (set_target_properties):
         The link interface of target "Qt6::QSQLiteDriverPlugin" contains:
           SQLite::SQLite3
         but the target was not found.  Possible reasons include:
           * There is a typo in the target name.
           * A find_package call is missing for an IMPORTED target.
           * An ALIAS target is missing. 

      Is something wrong in my steps or is there something missing in building with system sqlite in Windows?

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-132244
          # Subject Branch Project Status CR V

          Activity

            People

              semlanik Alexey Edelev
              eltoivol Elias Toivola
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes