qt5base-lts/util/cmake
Joerg Bornemann eab2a57b37 pro2cmake: Handle optional Qt modules
...and write a separate find_package(Qt6 OPTIONAL_COMPONENTS Foo Bar)
call for those.

Task-number: QTBUG-96799
Change-Id: I3386487774c386edde6767dca92ce433bfed906e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-03-08 03:45:30 +01:00
..
tests pro2cmake: Handle optional Qt modules 2022-03-08 03:45:30 +01:00
.gitignore pro2cmake: GitIgnore .pro2cmake_cache 2020-10-16 14:53:02 +03:00
cmakeconversionrate.py Improve styling of util/cmake scripts 2019-09-18 12:00:26 +00:00
condition_simplifier_cache.py pro2cmake: Fix static type errors in condition_simplifier_cache.py 2022-03-03 15:56:08 +01:00
condition_simplifier.py pro2cmake: Remove superfluous call to _simplify_flavors_in_condition 2022-02-28 15:40:39 +01:00
configurejson2cmake.py configure: Remove unused facility to define variable assignments 2021-11-01 22:32:01 +01:00
generate_module_map.sh Begin port of qtbase to CMake 2018-11-01 11:48:46 +00:00
helper.py pro2cmake: Handle optional Qt modules 2022-03-08 03:45:30 +01:00
json_parser.py cmake scripts: more type cleanup 2019-10-09 09:14:19 +00:00
Makefile CMake: pro2cmake: Fix errors reported by flake8 and mypy 2020-07-31 12:55:33 +02:00
Pipfile cmake scripts: add portalocker as dependency for Pipenv 2019-10-10 13:58:26 +00:00
pro2cmake.py pro2cmake: Handle optional Qt modules 2022-03-08 03:45:30 +01:00
pro_conversion_rate.py pro2cmake: Re-format sources with black 2022-02-28 15:40:32 +01:00
qmake_parser.py pro2cmake: Handle qmake condition operator precedence 2022-02-28 15:41:11 +01:00
README.md pro2cmake: Update README.md 2022-02-28 15:41:22 +01:00
requirements.txt cmake scripts: format with black 2019-10-11 08:13:54 +00:00
run_pro2cmake.py pro2cmake: Re-format sources with black 2022-02-28 15:40:32 +01:00
special_case_helper.py configurejson2cmake: Generalize special case support 2020-07-13 10:51: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 is compliant with PEP8, with a couple of exceptions:

Install flake8 (pip install flake8) and run it on all python source files:

make flake8

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

make format