Uploaded image for project: 'Qt Installer Framework'
  1. Qt Installer Framework
  2. QTIFW-1672

Study how built conan packages are deployed from cache

    XMLWordPrintable

Details

    • User Story
    • Resolution: Done
    • P2: Important
    • None
    • None
    • Conan

    Description

      We need to know how to use the package built by Conan by the consuming apps/modules.
      After the conan has built the MP dependencies those are still in the conan Cache.

      There are alternatives how to utilize those from the consumer application point of view.
      Directly from the cache or from the deploy install directory.

       Acceptance criteria: How the deployment works from Conan and from Qt libraries:

      • Qt libraries deployment above Qt installation 
      • Qt libraries deployment somewhere else

       

      Findings:

      (See subtasks for more detailed information)

      • With the provided patch-set(s) the 'install' of the package can be done inside the Conan cache and packaged utilizing the Qt's QT_INSTALL_PREFIX
        • this should be quite platform independent and generic solution
      • Deploying the conan package and transitive dependencies is straight forward on top of the Qt essentials installation
        • These are not visible to Qt installer
      • If we are deploying outside Qt essentials binary installation (from Qt installer) how the user is supposed to 'pull in' the deployed artifacts into the consuming project's workspace?
        • library search PATHs, LD_LIBRARY_PATH, etc.
        • how developers can create the final distributable app/package? Is this in the scope of the Qt installer?
      • Using the conan.cmake macro had some issues:
        • deployed artifacts are exported to subdirectories per module i.e. it does not follow the package layout of the Qt binary installation
          • maybe not an issue for the conan.cmake macro if it knows to direct to libs correctly for the linker?
        • Test on Linux: 
          • iieklund@QT-L-PC0G3LZK-V1:~/SwipeExample_2/build$ cmake --build .
            [ 20%] Automatic MOC, UIC and RCC for target SwipeExample
            [ 20%] Built target SwipeExample_autogen
            [ 40%] Linking CXX executable bin/SwipeExample
            /usr/bin/ld: cannot find -lqtwebsockets
            /usr/bin/ld: cannot find -lqtcharts
          • i.e. a linking phase error, not solved yet...
            • where it pulls qtwebsockets?
            • why the lib names are lowercase, not "Qt5DataVisualization.so" ?
        • the macro invokes "conan install" which for some reason insists a remote connection to conan remote, it does not seem to care that the content is already in local Conan cache. Needs investigation and question/discussion in GitHub ongoing..
          • although local conan server instance can be used (very small latency increase) but needs adjustment in conan.cmake macro

      Attachments

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

        Activity

          People

            iknd Iikka Eklund
            tpyssysa Tino Pyssysalo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes