- 
     User Story 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
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"
 
 
- 
			
 
- 
		
