qt5base-lts/util/cmake
Alexandru Croitor b1f8ca8032 CMake: Fix various issues with the Android build
Certain resources and compiled jar files have to be copied into the
non-prefix build dir location. They were previously only installed,
which doesn't do anything in a non-prefix build.

Change pro2cmake to generate code that places the compiled java
jars into QT_BUILD_DIR, so that non-prefix builds work.

Place the module dependencies xml files into lib folder in non-prefix
builds.

Don't special case the output and install location of the Android QPA
plugin.

Task-number: QTBUG-85399
Change-Id: I4ac9d3929ea8ecc95ec99a77e621ad2121b68832
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-09 11:56:31 +02:00
..
tests cmake: Remove APPLE prefix from platform names 2020-03-16 17:57:56 +01:00
cmakeconversionrate.py Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
condition_simplifier_cache.py Fix message about missing portalocker 2019-10-15 12:23:46 +00:00
condition_simplifier.py cmake: Remove APPLE prefix from platform names 2020-03-16 17:57:56 +01:00
configurejson2cmake.py CMake: Generate qdevice.pri when cross-building 2020-06-29 12:47:59 +02:00
generate_module_map.sh Begin port of qtbase to CMake 2018-11-01 11:48:46 +00:00
helper.py Make QtPlatformHeaders a private module 2020-07-06 11:52:14 +02:00
json_parser.py cmake scripts: more type cleanup 2019-10-09 09:14:19 +00:00
Makefile cmake scripts: format with black 2019-10-11 08:13:54 +00:00
Pipfile cmake scripts: add portalocker as dependency for Pipenv 2019-10-10 13:58:26 +00:00
pro2cmake.py CMake: Fix various issues with the Android build 2020-07-09 11:56:31 +02:00
pro_conversion_rate.py cmake scripts: make pro_conversion_rate.py mypy clean 2019-10-10 14:59:55 +00:00
qmake_parser.py CMake: Allow excluding tools and apps from the default 'all' target 2020-04-02 09:39:36 +02:00
README.md CMake: pro2cmake: Add alternative package installation instructions 2020-03-18 14:44:10 +00:00
requirements.txt cmake scripts: format with black 2019-10-11 08:13:54 +00:00
run_pro2cmake.py Fix pro2cmake formatting 2019-11-23 07:07:45 +00:00
special_case_helper.py Support special casing in configure.cmake 2020-05-05 15:34:15 +02:00

CMake Utils

This directory holds scripts to help the porting process from qmake to cmake for Qt6.

Requirements

  • Python 3.7,
  • pipenv or pip to manage the modules.

Python modules

Since Python has many ways of handling projects, you have a couple of options to install the dependencies of the scripts:

Using pipenv

The dependencies are specified on the Pipfile, so you just need to run pipenv install and that will automatically create a virtual environment that you can activate with a pipenv shell.

Using pip

It's highly recommended to use a virtualenvironment to avoid conflict with other packages that are already installed: pip install virtualenv.

  • Create an environment: virtualenv env,
  • Activate the environment: source env/bin/activate (on Windows: source env\Scripts\activate.bat)
  • Install the requirements: pip install -r requirements.txt

If the pip install command above doesn't work, try:

python3.7 -m pip install -r requirements.txt

Contributing to the scripts

You can verify if the styling of a script complaint with PEP8, with a couple of exceptions:

Install flake8 (pip install flake8) and run it on the script you want to test:

flake8 <file>.py --ignore=E501,E266,W503
  • E501: Line too long (82>79 characters),
  • E266: Too many leading '#' for block comment,
  • W503: Line break occurred before a binary operator)

You can also modify the file with an automatic formatter, like black (pip install black), and execute it:

black -l 100 <file>.py

Using Qt's maximum line length, 100.