Commit f013c41d authored by Oswald Buddenhagen's avatar Oswald Buddenhagen

Merge remote-tracking branch 'origin/3.1'

Conflicts:
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp

Change-Id: Icce6e8dd9b3afd9a0fe836e9babfb7a17cee9c4d
parents 187bb369 0afa004c
......@@ -6,7 +6,7 @@ Supported Platforms
===================
The standalone binary packages support the following platforms:
Windows XP SP2 or later
Windows XP SP3 or later
(K)Ubuntu Linux 11.10 (32-bit and 64-bit) or later
Mac OS X 10.7 or later
......@@ -50,28 +50,19 @@ dependency to the exact Qt version it was compiled with. Running Qt Creator
against updated Qt libraries (also for patch releases) might lead to link time
failures, or even crashes.
If you want to disable the plugins on Linux and Mac OS X, you can pass
"QT_PRIVATE_HEADERS=" to qmake:
To disable the plugins, pass "QT_PRIVATE_HEADERS=" to qmake:
qmake "QT_PRIVATE_HEADERS=" $SOURCE_DIRECTORY/qtcreator.pro
The plugins are also automatically omitted if the private header files are
not found. This might be the case when you use a Qt version from your
distribution, or installed a self-compiled Qt to a separate directory via
'make install'. You can fix this by either re-building your Qt with the
"-developer-build" configure option, or by passing the include directory in
the source directory to qmake. For example:
qmake "QT_PRIVATE_HEADERS=$$QT_BUILD_TREE/include" $SOURCE_DIRECTORY/qtcreator.pro
Compiling Qt and Qt Creator on Windows
--------------------------------------
This section provides step by step instructions for compiling the latest
versions of Qt and Qt Creator on Windows. Alternatively, to avoid having to
compile Qt yourself, you can use one of the versions of Qt shipped with the Qt
SDK (release builds of Qt using MinGW and Visual C++ 2008).
SDK (release builds of Qt using MinGW and Visual C++ 2010 or later).
For detailed information on the supported compilers, see
http://qt-project.org/wiki/Building_Qt_5_from_Git .
1. Decide which compiler to use: MinGW or Microsoft Visual Studio. If you
plan to contribute to Qt Creator, you should compile your changes with
......@@ -86,22 +77,24 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
for example, c:\work. If you plan to use MinGW and Microsoft Visual
Studio simultaneously or mix different Qt versions, we recommend
creating a directory structure which reflects that. For example:
C:\work\qt4.8.1-vs10, C:\work\qt4.8.4-mingw.
C:\work\qt5.2.1-vs10, C:\work\qt5.2.1-mingw.
4. Download and install Perl from http://www.activestate.com/activeperl
and check that perl.exe is added to the path.
and check that perl.exe is added to the path. Run perl -v to verify
that the version displayed is 5.10 or later. Note that git ships
an outdated version 5.8 which cannot be used for Qt.
5. In the working directory, check out the respective branch of Qt
(we recommend 4.8; see http://qt.gitorious.org/qt).
(we recommend the latest released version from the release branch,
5.2.1; see https://qt.gitorious.org/qt).
6. Check out Qt Creator (master branch, see
http://qt.gitorious.org/qt-creator).
6. Check out Qt Creator (master branch or latest version, see
https://qt.gitorious.org/qt-creator).
You should now have the directories qt and creator under your working
directory.
7. Install a compiler:
- For a MinGW toolchain for Qt 4, see http://www.mingw.org. For a MinGW
toolchain for Qt 5, see http://mingwbuilds.sourceforge.net.
- For a MinGW toolchain for Qt, see http://qt-project.org/wiki/MinGW .
- For Microsoft Visual C++, install the Windows SDK and the "Debugging
Tools for Windows" from the SDK image. We strongly recommend using the
......@@ -114,7 +107,8 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
For the Visual C++ compilers, it is recommended to use the tool 'jom'.
It is a replacement for nmake that utilizes all CPU cores and thus
speeds up compilation significantly. Download it from
http://releases.qt-project.org/jom/ and add the executable to the path.
http://download.qt-project.org/official_releases/jom
and add the executable to the path.
8. For convenience, we recommend creating shell prompts with the correct
environment. This can be done by creating a .bat-file
......@@ -122,8 +116,7 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
variable settings.
A .bat-file for MinGW looks like:
set QTDIR=<working_directory>\qt
set PATH=%QTDIR%\bin;<path_to_mingw>\bin;<working_directory>\creator\bin;%PATH%
set PATH=<path_to_qt>\[qtbase\]bin;<path_to_mingw>\bin;<working_directory>\creator\bin;%PATH%
set QMAKESPEC=win32-g++
For the Visual C++ compilers, call the .bat file that sets up the
......@@ -131,8 +124,7 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
compiler):
CALL "C:\Program Files (x86)\MSVC10\VC\vcvarsall.bat" amd64
set QTDIR=<working_directory>\qt
set PATH=%QTDIR%\bin;<working_directory>\creator\bin;%PATH%
set PATH=<path_to_qt>\[qtbase\]bin;<working_directory>\creator\bin;%PATH%
set QMAKESPEC=win32-msvc2010
You can create desktop links to the bat files using the working
......@@ -149,17 +141,19 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
You have to remove it from the path.
10. You are now ready to configure and build Qt and Qt Creator.
Please see http://qt-project.org/wiki/Building_Qt_5_from_Git for
recommended configure-options for Qt 5.
To use MinGW, open the the shell prompt and enter:
cd qt
configure -debug && mingw32-make -s
cd <path_to_qt>
configure <configure_options> && mingw32-make -s
cd ..\creator
qmake && mingw32-make -s
To use the Visual C++ compilers, enter:
cd qt
configure -debug && jom
cd <path_to_qt>
configure <configure_options> && jom
cd ..\creator
qmake && jom
......@@ -175,6 +169,28 @@ SDK (release builds of Qt using MinGW and Visual C++ 2008).
a 64 bit compiler (rebuild src\libs\qtcreatorcdbext using a 64 bit
compiler).
If you are building 32 bit and running on a 64 bit
Windows, you can obtain the 64 bit versions of the extension library
and the binary win64interrupt.exe, which is required for
debugging from the repository
https://qt.gitorious.org/qt-creator/binary-artifacts/source/ .
13. Qt Creator can be registered as a post-mortem debugger. This
can be done in the options page or by running the tool qtcdebugger
with administrative privileges passing the command line options
-register/unregister, respectively. Alternatively,
the required registry entries
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug and
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
can be modified using the registry editor regedt32 to contain
<path>\qt-creator\bin\qtcdebugger %ld %ld
When using a self-built version of Qt Creator as post-mortem debugger, it needs to be
able to find all dependent Qt-libraries and plugins when being launched by the
system. The easiest way to provide them for Qt 5 is to run the tool windeployqt:
windeployqt -svg -xml -designercomponents -script -concurrent -network -quick -test -sql -printsupport -qthelp -qmldir share\qtcreator -qmldir src\plugins\qmlprofiler bin\qtcreator.exe
Note that unlike on Unix, you cannot overwrite executables that are running.
Thus, if you want to work on Qt Creator using Qt Creator, you need a
separate build of it. We recommend using a separate, release-built version
......
This diff is collapsed.
......@@ -551,7 +551,7 @@
\section2 Namespaces
\list
\li Put the left curly brace on the same line as the \namespace keyword.
\li Put the left curly brace on the same line as the \c namespace keyword.
\li Do not indent declarations or definitions inside.
\li Optional, but recommended if the namespaces spans more than a few lines:
Add a comment after the right curly brace repeating the namespace.
......
......@@ -30,7 +30,6 @@ QHP_FILE = $$OUT_PWD/doc/html/qtcreator.qhp
QCH_FILE = $$IDE_DOC_PATH/qtcreator.qch
HELP_DEP_FILES = $$PWD/src/qtcreator.qdoc \
$$PWD/addressbook-sdk.qdoc \
$$PWD/config/compat.qdocconf \
$$PWD/config/macros.qdocconf \
$$PWD/config/qt-cpp-ignore.qdocconf \
......
......@@ -107,6 +107,11 @@
\li Select \gui Tools > \gui Options > \gui Android to add paths to the
Android NDK and SDK.
You can use the
\inlineimage qtcreator-options-android-download-button.png
(\gui Download) buttons to go to the sites where you can download
the Android NDK and SDK.
\image qtcreator-options-android1.png "Android options"
\li Select the \gui {Automatically create kits for Android tool chains}
......
......@@ -96,13 +96,15 @@
\li Select the \gui {Use self-defined style} option, and then
\gui Add to define your own style.
\li Define code formatting in the \gui {Edit Configuration}
Define code formatting in the \gui {Edit Configuration}
dialog. It provides syntax highlighting, auto-completion,
and context-sensitive help. For these features, you must
have the tool installed.
\image beautifier_editor.png
\endlist
\li Select \gui Tools > \gui Beautifier > \gui {Artistic Style},
\gui ClangFormat, or \gui Uncrustify > \gui {Format Current File}
to format the currently open file.
......
......@@ -55,7 +55,7 @@
\list 1
\li Select \gui Windows > \gui Organizer.
\li Select \gui Window > \gui Organizer.
\li Select the \gui + button to add the connected device.
......@@ -115,6 +115,11 @@
\endlist
\note If you cannot deploy applications, because a provisioning profile is
missing, try refreshing the list of provisioning profiles in Xcode. Select
\gui Xcode > \gui Preferences > \gui Accounts > \gui {View Details}, and
then select the \gui Refresh button.
\section1 Viewing Device Connection Status
When you connect an iOS device to a Mac computer with USB, \QC
......
......@@ -52,7 +52,7 @@
When you deploy the application to a generic Linux-based device, \QC
copies the application files to the connected device. You
can test and debug the application on the device.
\li \l{Deploying Applications to QNX Devices}
\li \l{Deploying Applications to QNX Neutrino Devices}
When you deploy the application to a BlackBerry, \QC generates a
BAR package in the build directory and deploys it to the connected
......
......@@ -39,8 +39,12 @@
\li Select a BlackBerry 10 \l{glossary-buildandrun-kit}{kit} for either device or simulator. For more information about adding kits, see \l{Connecting BlackBerry 10 Devices}.
\li When \QC prompts you to generate a bar descriptor file, answer \gui Yes to generate the file and enable the packaging process.
\li You can use the BAR descriptor editor to customize the appearance and behavior of the application.
\li You can specify which Qt libraries your application should link to in the \gui {Create Packages} deployment step if you create a package in development mode.
\endlist
The BAR application descriptor file in your project will serve as a template to generate the actual BAR application descriptor file in the build directory
that is used for packaging. The final BAR application descriptor file depends on the options you specify in the \gui {Create Packages} deployment step.
If you have an existing Cascades project created by QNX Momentics IDE, you can import it to \QC:
\list 1
......
......@@ -30,40 +30,10 @@
\page creator-deployment-qnx.html
\nextpage creator-connecting-mobile.html
\title Deploying Applications to QNX Devices
\title Deploying Applications to QNX Neutrino Devices
You can deploy applications to BlackBerry and QNX Neutrino devices.
\section1 Deploying to BlackBerry Devices
For BlackBerry devices, \QC generates a BAR package in the build
directory and installs it on the connected device. The contents of the BAR
package are specified in the \gui{Application Descriptor File}.
\image qtcreator-playbook-deployment.png "Deploy to device"
The name of the generated BAR package is shown in the \gui{Package}
setting. If the package already exists, it will be overwritten without
prior notification.
\section2 Application Descriptor File
The application descriptor file needs to be created manually,
or you can use the \gui{Application Descriptor} wizard to have a generic
template generated. The wizard is available in \gui {File > New File or
Project > BlackBerry > Application descriptor}. This wizard will also
include a splashscreen.png and an icon.png file which are included in the
application descriptor file.
To tailor your BAR packages, you will have to manually edit the application
descriptor file. For a full reference, see
\l{http://bdsc.webapps.blackberry.com/native/documentation/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/r_blackberry_tablet_dtd_intro.html}
{Document Type Definition (DTD) for the application descriptor file}.
\section1 Deploying to QNX Neutrino Devices
Deploying applications to a QNX Neutrino device is very similar to
\l{Deploying Applications to Embedded Linux Devices}.
You can deploy applications to QNX Neutrino devices in the way that is described
in \l{Deploying Applications to Embedded Linux Devices}.
\image qtcreator-qnx-deployment.png "Deploy to device"
......
......@@ -42,7 +42,9 @@
\section1 Setting Up BlackBerry 10 Environment in Qt Creator
To set up your BlackBerry 10 environment in \QC:
To check your BlackBerry 10 configuration, including the API level, the Signing Keys and the Device registration, select \gui Tools > \gui Options > \gui BlackBerry > \gui Setup.
\image qtcreator-blackberry-setupage.png "BlackBerry setup page"
\list 1
......@@ -50,11 +52,12 @@
\list 1
\li Select \gui Tools > \gui Options > \gui BlackBerry >
\gui {API Level} to list all registered API Levels automatically
\gui {API Levels and Runtimes} to list all registered API Levels automatically
detected by \QC.
\image qtcreator-blackberry-apilevels.png "BlackBerry API leves and Runtimes page"
\li The API Levels printed with a bold font are active. Use \gui Activate and \gui Deactivate to change it. When an API Level is active, \QC registers kits, Qt versions, tool chains, and debuggers to enable BlackBerry 10 development against the API Level.
\li Use \gui Add to install a new API Level or to register an existing one.
\li It is recommended to install the latest API Level too even though you are not going to use it. This will enable all \QC features including device auto-detection and the new BlackBerry Signing Keys process.
\li It is recommended to keep the newest version as the default API level. \QC will use the available BlackBerry tools from the default API level to implement several of the plugin functions including device management, deployment process and the BlackBerry Signing Keys support. Some of those functions require 10.2 version or newer.
\endlist
\li Set up your Signing Keys:
......@@ -63,14 +66,25 @@
\li Select \gui Tools > \gui Options > \gui BlackBerry > \gui Keys.
\li Register a BlackBerry Signing Authority - if you do not have any, the page will guide you to an online web form to request one.
\li Select \gui {Create Certificate} to create a Developer Certificate.
\li To package your application in development mode, select \gui Request to request a debug token or \gui Import to import a valid token.
\image qtcreator-blackberry-keys.png "BlackBerry Keys page"
You can also access the debug token list in \gui Tools \gui Tools > \gui Options > \gui Devices when you register a BlackBerry device. To use the same debug token for different devices, select \gui{Edit} to add, remove or update the debug token's device PINs.
\endlist
\li Register your device:
\list 1
\li On the device, select \gui Settings > \gui {Security and Privacy} > \gui {Development Mode} to switch the BlackBerry 10 device to development mode.
\li Select \gui Tools > \gui Options > \gui Devices > \gui Add > \gui {Blackberry Device} to add a BlackBerry Device. You can add either the physical device or the simulator.
\li Select \gui Tools > \gui Options > \gui Devices > \gui Add > \gui {Blackberry Device} to add a BlackBerry Device. \QC should auto detect your BlackBerry device if the default API level is set to 10.2 or newer.
\li In the \gui {Device password} field, enter the device password. \QC will query information from the device.
\image qtcreator-blackberry-add-device.png "BlackBerry Device Wizard"
\li Select \gui Import to import a valid debug token for the device or \gui Request to request a new token.
\image qtcreator-blackberry-device-debugToken.png "BlackBerry Device debug token"
\li If your device is successfully added, it should be listed in \gui Tools > \gui Options > \gui {Devices}.
\image qtcreator-blackberry-device.png "BlackBerry Device Configuration page"
\li Select \gui Upload to upload your debug token to the device.
\li Select \gui {Connect to device} to connect to the device. You should close any other pending connections from a shell or other IDE to successfully connect your device in \QC.
\li Select \gui Tools > \gui Options > \gui {Build & Run} > \gui Kits to add your device to compatible BlackBerry 10 kits.
\endlist
......
......@@ -9,7 +9,7 @@
\section2 Registering Newly Obtained Keys
After a few hours, you should receive an email with bbidtoken.csk file. Once you stored it at the proper location as described in the email, you can check that signing keys are registered in \QC by visiting \gui Tools > \gui Options > \gui BlackBerry > \gui Keys.
After you register in the BlackBerry website, you should get a bbidtoken.csk file. Once you store it at the proper location as described in the email, you can check that signing keys are registered in \QC by selecting \gui Tools > \gui Options > \gui BlackBerry > \gui Keys.
\image qtcreator-blackberry-registered-keys.png "Registered keys"
......
......@@ -7,8 +7,8 @@
\li Configure the device and specify a connection to it. For more
information, see \l{Connecting QNX Devices}.
\li If you are running on a BlackBerry device, create an Application
Descriptor File if it does not already exist. For more information, see \l{Deploying Applications to QNX Devices}.
\li If you are running on a BlackBerry 10 device, create an Application
Descriptor File if it does not already exist. For more information, see \l{Deploying Applications to BlackBerry 10 Devices}.
\li Make sure that your kit has your QNX or BlackBerry 10 device set.
......
......@@ -7,10 +7,12 @@
\image qtcreator-qnx-run-settings.png "Run settings for QNX devices"
When you run the application on the BlackBerry device, \QC first creates a BAR package
using the settings in the Application Descriptor File. The default is to create the
BAR package in the build directory. The BAR package is then deployed to the
selected device. For more information, see \l{Deploying Applications to QNX Devices}.
Specifying run settings for QNX Neutrino devices is very similar to
\l{Specifying Run Settings for Linux-Based Devices}.
\section2 Specifying Run Settings for Blackberry 10 Devices
When you run the application on the BlackBerry 10 device, \QC first creates a BAR package
using the settings in the Application Descriptor File. The default is to create the
BAR package in the build directory. The BAR package is then deployed to the
selected device. For more information, see \l{Deploying Applications to BlackBerry 10 Devices}.
......@@ -217,7 +217,7 @@
\li \l{Deploying Applications to Android Devices}
\li \l{Deploying Applications to BlackBerry 10 Devices}
\li \l{Deploying Applications to Embedded Linux Devices}
\li \l{Deploying Applications to QNX Devices}
\li \l{Deploying Applications to QNX Neutrino Devices}
\endlist
\li \l{Connecting Mobile Devices}
\list
......
......@@ -17,7 +17,7 @@ Module {
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "prepare " + FileInfo.fileName(output.fileName);
cmd.description = "prepare " + FileInfo.fileName(output.filePath);
cmd.highlight = "codegen";
cmd.pluginspecreplacements = product.pluginspecreplacements;
cmd.plugin_depends = [];
......@@ -36,7 +36,7 @@ Module {
cmd.sourceCode = function() {
var i;
var vars = pluginspecreplacements || {};
var inf = new TextFile(input.fileName);
var inf = new TextFile(input.filePath);
var all = inf.readAll();
// replace quoted quotes
all = all.replace(/\\\"/g, '"');
......@@ -58,7 +58,7 @@ Module {
for (i in vars) {
all = all.replace(new RegExp('\\\$\\\$' + i + '(?!\w)', 'g'), vars[i]);
}
var file = new TextFile(output.fileName, TextFile.WriteOnly);
var file = new TextFile(output.filePath, TextFile.WriteOnly);
file.truncate();
file.write(all);
file.close();
......@@ -85,12 +85,12 @@ Module {
var args = [
"-no-format",
"-output",
output.fileName,
output.filePath,
xslFile,
input.fileName
input.filePath
];
var cmd = new Command(xmlPatternsPath, args);
cmd.description = "generating " + FileInfo.fileName(output.fileName);
cmd.description = "generating " + FileInfo.fileName(output.filePath);
cmd.highlight = "codegen";
return cmd;
}
......
......@@ -171,6 +171,7 @@ INCLUDEPATH += \
$$IDE_SOURCE_TREE/tools
QTC_PLUGIN_DIRS = $$(QTC_PLUGIN_DIRS)
QTC_PLUGIN_DIRS = $$split(QTC_PLUGIN_DIRS, $$QMAKE_DIRLIST_SEP)
QTC_PLUGIN_DIRS += $$IDE_SOURCE_TREE/src/plugins
for(dir, QTC_PLUGIN_DIRS) {
INCLUDEPATH += $$dir
......
......@@ -281,7 +281,7 @@ def main():
QT_INSTALL_QML = readQmakeVar(qmake_bin, 'QT_INSTALL_QML')
QT_INSTALL_TRANSLATIONS = readQmakeVar(qmake_bin, 'QT_INSTALL_TRANSLATIONS')
plugins = ['accessible', 'codecs', 'designer', 'iconengines', 'imageformats', 'platforminputcontexts', 'platforms', 'printsupport', 'sqldrivers']
plugins = ['accessible', 'codecs', 'designer', 'iconengines', 'imageformats', 'platformthemes', 'platforminputcontexts', 'platforms', 'printsupport', 'sqldrivers']
imports = ['Qt', 'QtWebKit']
if sys.platform.startswith('win'):
......
#!/usr/bin/perl
=head1 NAME
qdoc2tasks.pl - Convert qdoc warnings into Qt Creator task files.
=head1 SYNOPSIS
qdoc2tasks.pl < logfile > taskfile
=cut
use strict;
use warnings;
while (my $line = <STDIN>) {
chomp($line);
# --- extract file name based matching:
# D:/.../qaxbase.cpp:3231: warning: Cannot tie this documentation to anything
if ($line =~ /^(..[^:]*):(\d+): warning: (.*)$/) {
my $fileName = $1;
my $lineNumber = $2;
my $text = $3;
print $fileName, "\t", $lineNumber, "\twarn\t", $text,"\n";
}
}
......@@ -925,23 +925,35 @@ class DumperBase:
pass
def extractStaticMetaObjectHelper(self, typeName):
def extractStaticMetaObjectHelper(self, typeobj):
"""
Checks whether type has a Q_OBJECT macro.
Returns the staticMetaObject, or 0.
"""
# No templates for now.
if typeName.find('<') >= 0:
if self.isSimpleType(typeobj):
return 0
typeName = str(typeobj)
isQObjectProper = typeName == self.qtNamespace() + "QObject"
if not isQObjectProper:
if self.directBaseClass(typeobj, 0) is None:
return 0
# No templates for now.
if typeName.find('<') >= 0:
return 0
staticMetaObjectName = typeName + "::staticMetaObject"
result = self.findSymbol(staticMetaObjectName)
# We need to distinguish Q_OBJECT from Q_GADGET:
# a Q_OBJECT SMO has a non-null superdata (unless it's QObject itself),
# a Q_GADGET SMO has a null superdata (hopefully)
if result and typeName != self.qtNamespace() + "QObject":
if not self.extractPointer(result):
if result and not isQObjectProper:
superdata = self.extractPointer(result)
if toInteger(superdata) == 0:
# This looks like a Q_GADGET
result = 0
......@@ -951,12 +963,15 @@ class DumperBase:
"""
Checks recursively whether a type derives from QObject.
"""
if not self.useFancy:
return 0