Details
-
User Story
-
Resolution: Done
-
P2: Important
-
None
-
None
-
-
Qt Installer Sprint 41, Qt Installer Sprint 42, Qt Installer Sprint 45, Qt Installer Sprint 47, Qt Installer Sprint 48
Description
Steps by Iikka: Conan & RTA 2.0 meeting agenda
How Conan packages should be tested by RTA?
Conan packages are available on testserver - preparations for test can be started.
Profiles from qt.git:/coin/conan/profiles
Test cases:
- build from sources
- conan install <package_name> --profile=<profile> --build --update
- install existing binaries
- inside cache (normal use case)
- conan install <package_name> --profile=<profile> --build=missing --update
- RTA: All binaries (dependencies) should be installed from the server, nothing should be built from sources
- conan install <package_name> --profile=<profile> --build=missing --update
- outside cache
- conan install <package_name> --profile=<profile> --build=missing --install-folder=/foo --update
- RTA: All binaries (dependencies) should be installed from the server, nothing should be built from sources
- Binaries should be installed to /foo, the directory/file layout should be similar to whit Qt installer:
- bin/
- include/
- lib/
- ....
- conan install <package_name> --profile=<profile> --build=missing --install-folder=/foo --update
- inside cache (normal use case)
- consume conan packages
- use Conan generators:
- conan install <package_name> --profile=<profile> --build=missing --generator=virtualenv --generator=qmake --update
- virtualenv:
- activate the env
- Linux/macOS:
- $ source activate.sh
- Windows:
- activate.bat
- Linux/macOS:
- compile the cmake example application normally
- launch the application
- https://docs.conan.io/en/latest/mastering/virtualenv.html#virtualenv-generator
- activate the env
- qmake:
- include the generated conanbuildinfo.pri file in the example projects .pro file
- build the qmake example normally
- launch the example
- https://docs.conan.io/en/latest/reference/generators/qmake.html?highlight=qmake#qmake
- virtualenv:
- conan install <package_name> --profile=<profile> --build=missing --generator=virtualenv --generator=qmake --update
- use Conan generators:
- consume binaries installed outside conan cache
- see the "install" step above with "--install-folder" argument
- outside cache
- conan install <package_name> --profile=<profile> --build=missing --install-folder=/foo --update
- outside cache
- build and run an example the same way as with binaries installed with Qt Installer from command line
- see the "install" step above with "--install-folder" argument
- Verify package sha1's
- TBD
- Local cache can contain outdated version of a module (compared to what is in server)
Use --update by default! $conan install <package> --build=never --profile=.. --remote=.. -update
that should ensure that conan client will check that the latest version of each package is used
Instructions from [-https://intranet.qt.io/display/QTRD/Conan+test+builds-]
Instructions page renamed:
https://intranet.qt.io/display/QTRD/Using+Conan
- First: get conan client and authenticate with Conan client first against the server: Conan test account
- Clone profiles: https://codereview.qt-project.org/c/qt/qt5/+/342302
- Linux desktop build example:
- conan install qtdeclarative/6.2.0@qt/final --build --profile=/home/iikka/qt5/coin/conan/profiles/centos-8.3-x86_64-gcc
- macOS desktop build example:
- conan install qtdeclarative/6.2.0@qt/final --build --profile=/home/iikka/qt5/coin/conan/profiles/macos-11.0-x86_64-clang
- Windows desktop build example:
- conan install qtdeclarative/6.2.0@qt/final --build --profile=/home/iikka/qt5/coin/conan/profiles/windows-10-x86_64-msvc2019_64
- Android cross-compilation (Linux host) example:
- Edit: /home/iikka/qt5/coin/conan/profiles/android-arm64-v8a-clang
- set the following paths correctly: android_ndk, android_sdk
- conan install qtdeclarative/6.2.0@qt/final --build --profile=/home/iikka/qt5/coin/conan/profiles/centos-8.3-x86_64-gcc --install-folder=/home/iikka/qt_install
- conan install qtdeclarative/6.2.0@qt/final --build --profile=/home/iikka/qt5/coin/conan/profiles/android-arm64-v8a-clang -o *:qt_host_path=/home/iikka/qt_install
- Edit: /home/iikka/qt5/coin/conan/profiles/android-arm64-v8a-clang
-
-
- alternatively you can pass android_ndk and android_sdk options from command line too instead having those in profile:
-
-
-
-
- "-o *:android_ndk=/home/iikka/Android/Sdk/ndk/21.1.6352462 -o *:android_sdk=/home/iikka/Android/Sdk"
-
-