qt5base-lts/util/cmake
Alexandru Croitor 361a24ae1c run_pro2cmake: Fix the file preference sorter
When invoking the script with "." as the only argument, and there
are multiple .pro files in the current directory, the script would
not choose the correct preferred .pro file (the one that has the
same name as the current directory).

Fix the sorter to handle such a case.

Change-Id: I6df70d7c577649f8854bca9b8879f13bdb1b4d26
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-08 11:42:15 +00:00
..
tests Move sympy condition simplification code into separate file 2019-10-01 14:13:12 +00:00
cmakeconversionrate.py Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
condition_simplifier_cache.py pro2cmake: Allow disabling condition cache 2019-10-07 13:36:11 +00:00
condition_simplifier.py Implement persistent caching for simplify_condition 2019-10-01 14:14:16 +00:00
configurejson2cmake.py configurejson2cmake: Generate label for out-of-line tests 2019-09-24 09:57:10 +00:00
generate_module_map.sh Begin port of qtbase to CMake 2018-11-01 11:48:46 +00:00
helper.py Make SDL2 library-mapping use a wrapper 2019-10-03 10:45:58 +00:00
json_parser.py Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
Pipfile CMake: pro2cmake.py: Simplify conditions 2019-01-29 09:29:38 +00:00
pro2cmake.py pro2cmake: Don't add default Qt libraries to bootstrapped tools 2019-10-07 22:46:09 +00:00
pro_conversion_rate.py Adapt string formatting in util/cmake 2019-09-21 15:48:40 +00:00
README.md Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
requirements.txt Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
run_pro2cmake.py run_pro2cmake: Fix the file preference sorter 2019-10-08 11:42:15 +00:00
special_case_helper.py Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00: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

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.