Details
-
User Story
-
Resolution: Done
-
P2: Important
-
None
-
None
-
5
-
Qt6 Installer Sprint 7, Qt6 Installer Sprint 8
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" ?
- iieklund@QT-L-PC0G3LZK-V1:~/SwipeExample_2/build$ cmake --build .
- 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
- deployed artifacts are exported to subdirectories per module i.e. it does not follow the package layout of the Qt binary installation