| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This includes removal of the corresponding .prev_CMakeLists.txt files.
Keep the pro files in the ivigenerator autotests.
Task-number: QTBUG-88742
Change-Id: Idbf40dc5f6469dbea37126ea9b46a6d521f43139
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
| |
Change-Id: I0d9b57f7b14f5d405147ed8f2304e641f717bc9e
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
| |
Some special cases are already addressed.
Task-number: AUTOSUITE-1633
Change-Id: I5409522c1c5eb76b8aac3e7e332d1e1cc27e594f
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
'$PYTHONHOME' in ivigenerator.prf expanded to 'YTHONHOME'.
Running generate.py failed with
ImportError: No module named 'tarfile'
Change-Id: I22517605b42eb23f46d9b1694b9ce5a516528327
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
With the newer python versions we need to set the VIRTUAL_ENV in addition
to the PYTHONHOME environment variable to make sure the "site-packages"
is included in the module search path and to use the correct python
lib location.
Change-Id: Id6ce17ec91843534d6b3ebc49de7fcb2e889759a
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With virtualenv 20, the --relocatable flag got removed
and causes build failures in QtIvi. As we still need
this functionality for making our virtualenv work
after 'make install', we copied the legacy code and
converted it into a standalone python script which
does the job for now.
With virtualenv 20 the complete deploy mechanism changed
and is now based on top on venv. To make the new environment
relocatable we need to copy additional files as well as
read the pyvenv.cfg instead of the old-prefix.txt
Change-Id: Ib77bbd2a1c959693bf1ae6ca478086ce2c848036
Fixes: AUTOSUITE-1482
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use build-stamps for the ivigenerator run, instead of relying on the
generated .pri file.
Previously it could have happened that the ivigenerator stoped with an
error, but already generated the .pri file. This caused 'make' to stop
the build process, but on the next run the ivigenerator wasn't started
again as its dependency (the .pri file) was in place and there was
no need to generate again.
Change-Id: I1e16bde603045625b913303c5cbe549999736abb
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently all builtin templates are hardcoded in generate.py and
the templates are next to the generate.py, including a rather ugly
'template_' prefix in the folder name and yaml file.
To make this more clean, all templates are moved into a 'templates'
folder and renamed to remove the prefix.
The templates are also not hardcoded anymore in generate.py and instead
the 'templates' folder is scanned for them. This also makes it possible
for the user to install their own templates into the same folder and
make them behave like builtin templates.
Change-Id: I27d581df8f4850db6918c5b350ce41c4a35175f4
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When importing another module from within a QFace file, the
generator now searches within the QFace import path. If this
module is found, the information is then used to generate
code that includes types from this module.
The QFace import path can be set in the autogenerator similar
to qmlscene by using the -I option; in qmake it can be set
using QFACE_IMPORT_PATH.
The generator makes sure to generate correct code, but the
developer still needs to setup the .pro files correctly to
add the imported module to the INCLUDEPATH and also link
to the generated library.
Fixes: AUTOSUITE-1158
Change-Id: I0e9fa714d4c893a4bf17c5f7db34c62d84932c94
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The support for this was already partially available, but some checks
in the prf file as well as a limitation in generate.py prevented this
to be usable.
Also add a autotest for this to keep supporting it in the future
Change-Id: Iee0b7593d788d4ee30d3483ceaa141439f93a2c4
Fixes: AUTOSUITE-1162
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On windows we might run inside a mingw-shell but call normal
windows applications like python3. These applications work with
the system_path.
Using system_path should be fine in most cases as special shells
usually also accept system_path.
Task-number: COIN-239
Change-Id: Ibf45497a2e340bbba5ffc2cb4a6080ae858396c7
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
|
|
|
|
|
|
|
| |
Run the generator again when generate.py or files in the common template
folder change.
Change-Id: Ib153745f18cbc93d47926e32ba358e9897617a61
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
| |
Change-Id: Icac6ada1549630ec1467f8262e2f402b6303d8df
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
| |
If the qface module is available in the same version as we would
set it up in the virtualenv ourselfs we now skip creating a virtualenv
This is useful for yocto deployment as we can use the packaged python3
binaries and by this better support creating SDKs
Change-Id: I9b114c9cc7241e4af976f35153b97e3d799466e9
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ivigenerator as well as its qmake integration now support to pass
additional annotation files. This can be useful when annotations only
need to be applied for a specific part, e.g. the backend plugin.
This change also makes use of the feature in the autotests which now
use a no-private.yaml annotation file for testing the same qface file
as we use for our normal generation tests.
Task-number: QTAUTO-848
Change-Id: Ib626775d2339ebf2002bc689da8303e7caf6edfa
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
| |
Reporting an error already in the qmake step is better than reading
the exception from the ivigenerator
Change-Id: Iba2f2c6222f76becd1131687feaa9cc2a689fa25
Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The coverage target needs to be available in all
Makefiles not just in debug configurations
Use qtLibraryTarget for all plugins in the
servicemanager autotest. This will automatically
add the needed postfixes for debug and release
plugins
Change-Id: I887e27ce1cc514d74cbaef97b02eeb935939a7cf
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
| |
When building a qt module all public headers need to use the module
name in their include statements.
This is done by using the QFACE_MODULE_NAME qmake variable, which is
now mandatory when generating a qt module from a qface file
Change-Id: I31232a48a3c978552a27f1d82f3eacba480427b2
Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
|
|
|
|
|
|
|
|
| |
This is inspired by QtApplicationManagers version, but adapted for
qtivi and it's autogeneration.
Change-Id: I8880e277646f66b976787739e56206044577560a
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a Makefile dependency towards the qface file to call the ivigenerator
again once that has changed.
Also introduce a '--force' flag to the ivigenerator which is used by
qmake/make to ensure the output is always written when the ivigenerator is
called. Otherwise the qface library is smart and will only change the
files which actually needs to be changed.
This is needed as 'make' is using timestamps to detect what needs to be
recompiled and calls ivigenerator until the generated pri file is newer
as its dependencies.
Change-Id: I873d0e7e91febed4484468554bc320bb8cc66809
Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed for yocto to make sure the feature files
are installed in the native part as well as on the target
sysroot part. Other than in the normal qmake cross-compiling
approach, yocto is always using the mkspec folder in the
target sysroot.
Change-Id: I44c393fbb327513a27c6d206172f837291057276
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
| |
We depend on the qmake features from ivicore and can't
start using them before the ivicore build is complete.
Change-Id: Ic8018355315c5550cc9dbf24501cba9e0145c94d
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
| |
This is needed to give make a chance to detect that the timestamp
of a target has changed.
Change-Id: Ibe07f50168adabd1917f21d0718a7705c8670b77
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some systems libpython needs to be copied into the virtualenv to
make the python executable work. As we can't change the rpath easily
we need to use LD_LIBRARY_PATH in the qmake integration to make the
system find the correct lib.
The script now also copies the needed libcrypto.so and libssl.so from
the system to the virtualenv as they are needed by the hashlib module
Change-Id: Ib7911f6d69c743892397581f91991ef415321aa3
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
| |
Change-Id: I9563fea0619b540f8e4dd929bf72a3c4178066bb
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
|
|
|
|
|
|
|
|
| |
The ivigenerator qmake feature needs to check the host architecture
instead of the target architecture.
Change-Id: I8f2357c84dadf237408a8c472f4604a04c265eea
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
| |
Adding a delay before generating the code appears to introduce
enough difference to avoid race conditions between makefile and
generate code timestamps
Change-Id: I7ba3361492053b65ddd89b41ee46c32cec96f8ab
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The control_panel acts as a server and the backend connects to
it. Once a connection is established the control_panel will push
it's initial values to the backend and from there all properties
and signals are synchronized.
Currently only one connection is supported.
The qtsimulator support is detected during configure time
and based on that the new "simulator" feature is enabled.
The ivigenerator now has a configuration file, which is used
to define which features it supports. This is used to be
able to generate qtsimulator support into the simulation backends
only if the qtsimulator is available and the feature is enabled.
Task-number: QTAUTO-441
Task-number: QTAUTO-442
Change-Id: I5045d21f92176fed7d9025850b70f4759c9232c2
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
| |
Don't use the internal ivigenerator when -system-ivigenerator
option is enabled, as is done in yocto builds.
Change-Id: Ic22c2bba0214041618ef4c157056a3638235ec97
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Coin is doing a two stage build, which leads to problems for the
virtualenv generation. Before we used the installed version when available,
but this is problematic in the developer workflow when an existing
qtivi installation already exists, as the installed (old) version is
used instead of the new one.
The QTEST_ENVIRONMENT environment variable is now used to
detect whether we are in the special CI environment.
Change-Id: I9d3d5d7f84c9f5e059897865c8cf7b30f8d84fda
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
Makes it visible in creator
Change-Id: Ife928c247071cf698d6d1f4821500281a7b9ebc8
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extra steps are needed for syncqt to find the headers. After the
generation of the frontend files, the headers are copied in the
src folder in qtbase.
When building a module, rather than using CONFIG += ivigenerator,
simply define the required qface and module related variables and
load(ivigenerator_qt_module)
This also handles the QFACE_MODULE_NAME variable: the generator has a
--module option which optionaly indicates the name of the Qt Module
that is generated by the project.
This is needed by the backend templates to know which include paths to
use to find the frontend base interface class.
This also changes the generated files so that the generated .pri
has the same base name (in lower case) as the input qface file.
And updates the generator version to 2.0
Change-Id: I9d2716255affcb5c6f319a6f23202ae3bb6c115c
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
two more command-line options are introduced. These
are needed to make yocto builds work and also only
build whats really needed.
--host-tools-only: This option will only build
the host-tools (currently only the ivigenerator)
--no/qt/system-ivigenerator: This will enable or
disable the ivigenerator build. If the system option
is used the ivigenerator is considered to be already
part of Qt and is not build again. Instead the system
ivigenerator is used for the code generation inside
the module
Change-Id: I68d9e7dec2c3a49552122f47b574211698031b55
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
| |
Change-Id: I26df62d4e1342585cf02b1c23ead369a8b98d42a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The python3 excutable and the version checking is now done
in a special test function inside configure.pri.
For python3 packages a separate test function has been
written, which checks whether the requested packages
are installed.
The configuration summary prints the used python
executable as well as its version.
Task-number: QTAUTO-458
Change-Id: I1280ba0acaf3393dcb83132aaa19572a75d97d22
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
| |
Change-Id: I342820170d8315fada89a5d7abc264e82a5f5ae3
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The '-e' flag doesn't install qface into the virtualenv, but creates
a link to the source instead. Removing it, installs qface as expected.
The virtualenv needs to be make relocatable after it was created,
otherwise it will stop working after copying it during 'make install'
Instead of relying on the activate scripts of the virtualenv we set
the correct PATH by our own, as the active script is not updated
by the "virtual --relocatable" call
Task-number: QTAUTO-289
Change-Id: I6182eb2707aefb7785b1e4d0899294629b5fcf7a
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
| |
On the CI, building the test is separated from building the tests,
because of that we can only use our internal virtualenv from the build
folder if it exists, if not we fallback to the installed version
Change-Id: Ibcdf2d58f0e99f59092ef20ac6fc9e4742cb782c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: I6b439737851baa38d41471d7f994bfd9d024904c
Reviewed-by: Lukáš Tinkl <ltinkl@luxoft.com>
|
|
|
|
|
|
|
| |
All '.' are replaced with '-' in the generated pri file.
Change-Id: I35b8f4b42c6cf0e208f4dbaea201ce222a781e94
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: I5fed748cf02152d155dce8b161962b8bca36ee15
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to depend on debug_and_release for windows
and return an error if it has been disabled.
This is needed as NMAKE doesn't support the Makefile
target and it's own reevaluation, which is needed
for the normal qmake integration to work.
The workaround is based on the fact that sub Makefiles
are generated and we can run the generator and
qmake before NMAKE is reading them.
Change-Id: I68282bbe25899b5f67be7822e6fca419a34c4318
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
extra compilers are only added to the config specific Makefiles
when building with debug_and_release.
Changing them to extra targets make them appear in the
meta makefile.
Change-Id: I85b72f6082bd42bfcfadd8afad8b5bb0f5e18d51
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTAUTO-460
Change-Id: I63187fa0937ad29215bf830e35ceb87aaaef44d1
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inside the virtualenv we only need to call 'python' and 'pip'.
There is no need to add a suffix on windows or use the full path.
Removed the check for pip in PATH as we only need to have it packaged
in the virtualenv, so we are just checking whether the module works
in the python installation and hope it also works in the created
virtualenv.
Added more clear errors in case python is not found or the submodules
are not cloned.
Change-Id: If6473785edc4e57c9eb62934cc18daf692b04476
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The qmake_all step is already trying to call the generator
even though it is not build yet. To fix the problem a dependency
to a dummy file is created, which is touched once the generator
is ready to be used. This will cause a rerun of the qmake for
all project files which use the ivigenerator feature.
Change-Id: I5a421597457dccc29ab48811a9d0588c04c5cf2b
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
|
|
|
|
|
|
|
|
| |
Added all template_files, the generator itself and the yaml file
as a compiler step dependency
Task-number: QTAUTO-449
Change-Id: I532133a57c73406561921e37c12da2d0bc2da9fc
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
Moved the example into a core folder to indicate that this
is part of the qtivi core module and keep the structure of the other examples.
Change-Id: Ief69e0446125f5dc975d15ebeba746c69820b7c8
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
Also if a yaml file exists, add this to the OTHER_FILES section
Change-Id: I030cdab8b565536b2f0750bba2fd650d00af592a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
To be able to run the generator in the qtivi repository itself, we
need to use the generator from the source directory as it might not
have been install yet.
Change-Id: Idafd60d41926c0a5814600d875a4119321abd96e
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|