584d4be174
We extend configurejson2cmake to read the "commandline" information from configure.json. This data is then translated to CMake function calls and written it into commandline.cmake files. We extend QtProcessConfigureArgs.cmake to pick up those commandline.cmake files to feed our command line handling code, which is a re-implementation of the command line handling in qt_configure.prf. The command line handler sets INPUT_xxx variables, similar to configure/qmake's config.input.xxx variables. The INPUT_xxx values are translated - to -DFEATURE_xxx=ON/OFF arguments if the input represents a feature, - to corresponding CMake variables if such a variable is known, - or to -DINPUT_xxx=yyy CMake arguments. Configure arguments that have an entry in cmake/configure-cmake-mapping.md are actually implemented. Other arguments are likely to need more work. Task-number: QTBUG-85373 Change-Id: Ia96baa673fc1fb88e73ba05a1afb473aa074b37d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> |
||
---|---|---|
.. | ||
tests | ||
cmakeconversionrate.py | ||
condition_simplifier_cache.py | ||
condition_simplifier.py | ||
configurejson2cmake.py | ||
generate_module_map.sh | ||
helper.py | ||
json_parser.py | ||
Makefile | ||
Pipfile | ||
pro2cmake.py | ||
pro_conversion_rate.py | ||
qmake_parser.py | ||
README.md | ||
requirements.txt | ||
run_pro2cmake.py | ||
special_case_helper.py |
CMake Utils
This directory holds scripts to help the porting process from qmake
to cmake
for Qt6.
Requirements
- Python 3.7,
pipenv
orpip
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.