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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          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