That doesn't mean we don't support older versions. But I don't think
we should advertise creating new projects for it.
Change-Id: Ia9b97cc072232238baffd10b159f604f1a6413d1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Provide a Qt 6 option that does not use any versioned imports.
Also make Qt 5.15 the new default.
Fixes: QTCREATORBUG-24973
Change-Id: I43714e5e344d1d91d35c5ad298edf28bc32ff7d6
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The Default style was renamed to Basic
(9219e86aa571d8b2f5da1ec92a461e5add38f57c) and we now default to a
platform-specific style (8b534487044dfb3b464431ecb91ef4e0864af4ed) if
available.
Task-number: QTBUG-85984
Task-number: QTBUG-86403
Change-Id: I66d2188a0c45605abdbbd8c71396b16407166d75
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
In qmake projects it is possible to run arbitrary qmake commands after
the whole project is parsed, which is used extensively by Qt to do
things like importing qml plugins, generating android deployment
files, etc.
In CMake this feature was implemented in 3.19+ and we leverage this
feature to do all the things described above when such a version is
used.
But when projects are built with earlier CMake versions, it's better
for users to do these steps manually, rather than letting them to
happen at qt_add_executable call time, which limits certain
configurability.
That can be achieved by adding a call to qt_finalize_executable at the
very end of the directory scope where the target was created,
in addition to adding the MANUAL_FINALIZATION option to the
qt_add_executable call.
Augment the wizard templates to advertise the existence of
qt_finalize_executable, as well as making sure that projects created
by Creator can work reasonably well with older CMake versions as well.
Change-Id: Icf60eae993cf815f6cce6ed659fe35264b016f62
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
For Qml / Qt Quick projects to work with static Qt builds, the
application targets need to link to the static Qml plugins, which
is done by calling qt_import_qml_plugins.
Starting with Qt 6.1 and CMake 3.18+ that will be done automatically in
qt_add_application via qt_finalize_executable, as per
c71c48f5125c116f01f615f51f10e4f2877b2b1d
But for Qt 6.0 and lower CMake versions, we need to call
qt_import_qml_plugins manually, thus we include it in the
Qt Quick wizard template so that it works with all Qt 6 versions
and lower CMake versions.
Amends b72c1d11e6.
Task-number: QTCREATORBUG-23574
Change-Id: Id8db3352ecbb8441eda9f5c9638c7ea6ac1fee96
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Running applications on iOS requires declaring a bundle identifier and
version numbers in the application's Info.plist file.
Unconditionally add them, since they also make sense for desktop
applications, even if they are not strictly required.
Fixes: QTCREATORBUG-25297
Task-number: QTCREATORBUG-23574
Change-Id: I2269bec2d4eaf3e8dd3332a027b284049b3b8b42
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Don't just create the ts file, but also make sure it is embedded in the
application (if supported by the build system) and make the application
load it if it matches the current locale.
Task-number: QTCREATORBUG-25079
Change-Id: Ie3a0b1975531b12acb008e8c1312dab97f158751
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
qt_create_translation was introduced in Qt 5.15. But we also still
support older Qt versions, so we cannot use it unconditionally.
Fixes: QTCREATORBUG-25070
Change-Id: I81de7e19b42e0e8cb9cb23e14909e71c534dc0da
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The Default style got renamed to 'Basic' style in Qt 6.0. The 'default' is now
to use the style of the system, if available.
This however caused the projects generated by the wizard to not start with Qt6:
QQmlApplicationEngine failed to load component
qrc:/main.qml: module "Default" is not installed
Work around this by not hardcoding the 'Default' style if set. It should be the
default for Qt 5, anyhow.
Fixes: QTCREATORBUG-24905
Change-Id: I71aff50b84e3d096b9a87b7e5b49e2df6821f938
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The Controls Style "Default" that is currently by default in the
generated qtquickcontrols2.conf is not present in Qt 6. That leads to
QML runtime errors and aborting applications with Qt 6.
Let's switch the default to "Material" which is available since Qt 5.7
and present in Qt 6.
Fixes: QTCREATORBUG-25027
Change-Id: Ic8b631b771487624d7459a276d290b80c7ad8be0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Qt 6 introduces qt_add_executable() function, which for Android
make sure to call few Android specific functions like:
* qt_android_generate_deployment_settings()
* qt_android_add_apk_target()
* qt_android_apply_arch_suffix()
Using add_library() only the user would otherwise need to reimplement
what's already implemented in add_qt_gui_executable().
Task-number: QTCREATORBUG-24681
Change-Id: Iec3984139844fe1cbac2d9a583b3c40bdaa308a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The QT_DEPRECATED_WARNINGS macro has no effect anymore, so let's remove
it along with the huge chunk of comments that took up an inordinate
amount of space in the resulting project file. The concise comment for
the QT_DISABLE_DEPRECATED_BEFORE macro is perfectly sufficient.
Fixes: QTCREATORBUG-24244
Change-Id: I549c16c2c037bb64c2833e4807047ab3a8b2103f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Update wizards to produce CMakeLists.txt files that can work with both
Qt 5 and Qt 6.
Bump minimum CMake version to 3.14 since that is the first version that
accepts Qt with major version 6 in AUTOMOC/AUTOUIC.
Task-number: QTCREATORBUG-24206
Change-Id: I2ff462e67f01d84939c02be579579f358bc0b20e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This is more common; visible and enabled are usually after size-related
bindings.
Change-Id: I2148491d8a8fdbf4f7bc2b261bd6472bae697969
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
It lately became messy and it feels like it is
time to clean up these a bit.
Change-Id: I7b5da97cd7ad4231e28db13c98db16c656c8a6b0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
CppApplication sets usesNativeCode for android which it's needed to compile the C++ part of the application.
Change-Id: Ibf787fecd256e4f90c09b8e3061a23419feb526e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Wizard authors can now provide a persistence key to values where that
makes sense.
For now, we make use of it for the build system type in all wizards and
the minimum Qt version as well as the virtual keyboard settings in the
QtQuick wizards.
Fixes: QTCREATORBUG-16657
Change-Id: I179930665bd163b1cf198467ab8b43bc72f8ec4a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Provide all wizards for Qt-based projects with the ability to set up a
skeleton .ts file and add it to the generated project.
Task-number: QTCREATORBUG-7453
Change-Id: I4dfb34c0101062edd0209173f83737e69063e27a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Updated CMake minimum version to 3.5 (Ubuntu LTS 16.04)
* Lowercase commands
* Used the target name instead of ${PROJECT_NAME}, which nobody uses in practice
* No string quotes around the source filenames, which do not contain spaces
Change-Id: Ide9b3eb85535213798c6c35e08624cae080ebd9d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Registers a new function "value('name')", available to the wizard json
files, which returns the value of the variable "name" as a JavaScript
object. So, variables with a string value are actual JavaScript strings,
booleans are booleans, lists are lists, and dictionaries are
dictionaries.
The patch also makes it actually possible to assign JSON lists and
dictionaries to values.
This removes some hacks involving creating complex JavaScript objects
through string substitution.
Change-Id: I4ac6da22bc5bccc9fadee97694c2fa14d44c9307
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use Application instead of CppApplication as it's more suitable for Android
Apps.
Bump default C++ standard
Change-Id: I57cfafe24da42aeab5c46cb993cc371d6e71f0b7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This change makes the combobox for the minimal Qt Version in the
"Scroll" Qt Quick Application Wizard visible.
In contrast to the other Qt Quick Application Wizards, the "Scroll"
variant had the minimal Qt version selection hidden. That was OK in the
initial wizard commit, where only one Qt Version would have been
selectable. But with the subsequent additions of Qt Versions in the
wizard.json, the combobox visibility should have been changed to true.
The consequence of the invisible combobox was that the default was
secretly selected. The default was Qt 5.10 for a while. But the default
changed recently with 52f95bae8b and
caused QTCREATORBUG-22245.
Task-number: QTCREATORBUG-22245
Change-Id: If4d2f384a28bf3dd130b097022ea6d8d30ef7509
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Requirements:
- NDKr19 or newer
- Qt 5.12.1 or newer
QtCreator supports the following variables:
- ANDROID_PACKAGE_SOURCE_DIR
- ANDROID_EXTRA_LIBS
Be aware, that there is a lot of magic done on QtCreator side, and you
can't use only cmake to build an Android APK.
[ChangeLog][Android][CMake] Add Android support for CMake projects.
Change-Id: I1d351976ed56f424c2bc972f4ff7b5968147a2ed
Reviewed-by: hjk <hjk@qt.io>
By monitoring the objectCreated() signal of QQmlApplicationEngine we can
also catch errors if the components are instantiated asynchronously.
Task-number: QTBUG-39469
Change-Id: I796eb5561fc8d48ab5aa74d37b0964b118a1ba7e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The expression that we used either worked in ECMAScript 6, or only
accidentally worked in QJSEngine in Qt 5.11.
Fixes: QTCREATORBUG-21476
Change-Id: Id2ce0932ead24c8caef9a82b10a173dfdcf1e927
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Canvas 3D is deprecated from 5.12 on.
Task-number: QTCREATORBUG-21078
Change-Id: Icfd4d3651bcc3a9e65fcf52297ec173330f7b0c0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
- Remove the unneeded Project item.
- Remove the minimumQbsVersion property. It was originally added to
suppress warnings in some ancient qbs.
- Install applications to the bin/ directory by default.
- Add main.qml to the files list in the QtQuick template. It is good
practice to list all source files in a project file, and in this case it
is even required for building against a static Qt.
- Remove an unused file.
Change-Id: I05f36e8ae64c0a2150639760db9630dd5d613ab9
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This reverts commit dcb8681cb7.
The effort to handle asynchronous loading is not required for the
qmllivepreview (for which it had been introduced).
Task-number: QTCREATORBUG-19648
Change-Id: I20cbd318dedb3da43d4993c0c0a1910ffe6d5761
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
cmake does not automatically set the C++ standard to C++-11 when
using Qt5.6. Explicitly set it to have a compiling template.
Task-number: QTCREATORBUG-19670
Change-Id: Ibba1f58951f96c4834985bff2298d606e9aa56bc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>