qt5base-lts/util/cmake
Alexandru Croitor 887a56f8cc pro2cmake: Handle parentheses in if() scopes better
The unwrap_if handler just removed the if keyword from a condition
expression, and return the rest of the condition as-is. This proves
not be enough, because map_condition splits on spaces and tries
to map platform keywords, which would fail for values like "unix)".

Change unwrap_if to add additional space between the values in the
parentheses.

Change-Id: I769ab430363d008a9fd91eaba014c88bd5ee43bd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-07 22:44:55 +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
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: Handle parentheses in if() scopes better 2019-10-07 22:44:55 +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 Fix run_pro2cmake only_qtbase_main_modules option 2019-09-27 08:42:42 +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.