Merge 'release' into stable
Change-Id: I57aaa6747c1bfacc7dee036cd69d91a8c0d9ae7a
This commit is contained in:
commit
d4a29a53eb
59
configure
vendored
59
configure
vendored
@ -861,7 +861,6 @@ PLATFORM=$QMAKESPEC
|
||||
QT_CROSS_COMPILE=no
|
||||
OPT_CONFIRM_LICENSE=no
|
||||
OPT_SHADOW=maybe
|
||||
OPT_FAST=auto
|
||||
OPT_VERBOSE=no
|
||||
OPT_HELP=
|
||||
CFG_SILENT=no
|
||||
@ -2015,13 +2014,6 @@ while [ "$#" -gt 0 ]; do
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
fast)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
OPT_FAST="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
rpath)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_RPATH="$VAL"
|
||||
@ -2305,14 +2297,6 @@ if [ ! -d "${outpath}/lib/fonts" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$OPT_FAST" = "auto" ]; then
|
||||
if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
|
||||
OPT_FAST=yes
|
||||
else
|
||||
OPT_FAST=no
|
||||
fi
|
||||
fi
|
||||
|
||||
# find a make command
|
||||
if [ -z "$MAKE" ]; then
|
||||
MAKE=
|
||||
@ -3099,12 +3083,6 @@ Configure options:
|
||||
-fully-process ..... Generate Makefiles for the entire Qt tree.
|
||||
-dont-process ...... Do not generate any Makefiles.
|
||||
|
||||
* -no-fast ........... Configure Qt normally by generating Makefiles for all
|
||||
project files.
|
||||
-fast .............. Configure Qt quickly by generating Makefiles only for
|
||||
library and subdirectory targets. All other Makefiles
|
||||
are created as wrappers, which will in turn run qmake.
|
||||
|
||||
-no-largefile ...... Disables large file support.
|
||||
+ -largefile ......... Enables Qt to access files larger than 4 GB.
|
||||
|
||||
@ -6375,43 +6353,6 @@ if [ "$CFG_PROCESS" != "no" ]; then
|
||||
else
|
||||
"$outpath/bin/qmake" "$relpath"
|
||||
fi
|
||||
|
||||
if [ "$OPT_FAST" = "yes" ]; then
|
||||
PART_ROOTS=
|
||||
for part in $CFG_BUILD_PARTS; do
|
||||
case "$part" in
|
||||
examples|tests) PART_ROOTS="$PART_ROOTS $part" ;;
|
||||
esac
|
||||
done
|
||||
if [ "x$PART_ROOTS" != "x" ]; then
|
||||
echo
|
||||
echo "Creating stub makefiles. Please wait..."
|
||||
QMAKE="$outpath/bin/qmake"
|
||||
[ "$CFG_DEBUG_RELEASE" = "no" ] && first_tgt="first_target: first" || first_tgt=
|
||||
(cd "$relpath" && find $PART_ROOTS -name '*.pro') | grep -v /testdata/ | while read p; do
|
||||
d=${p%/*}
|
||||
test -f "$outpath/$d/Makefile" && continue
|
||||
echo " for $relpath/$p"
|
||||
|
||||
mkdir -p "$outpath/$d" || exit
|
||||
cat > "$outpath/$d/Makefile" <<EOF || exit
|
||||
# $outpath/$d/Makefile: generated by configure
|
||||
#
|
||||
# WARNING: This makefile will be replaced with a real makefile.
|
||||
# All changes made to this file will be lost.
|
||||
|
||||
QMAKE = "$QMAKE"
|
||||
|
||||
$first_tgt
|
||||
all clean install qmake first Makefile: FORCE
|
||||
\$(QMAKE) $QMAKE_SWITCHES "$relpath/$p"
|
||||
\$(MAKE) \$@
|
||||
FORCE:
|
||||
EOF
|
||||
done || exit
|
||||
echo "Done"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
150
dist/changes-5.0.0
vendored
150
dist/changes-5.0.0
vendored
@ -11,6 +11,8 @@ information about a particular change.
|
||||
* Source incompatible changes *
|
||||
****************************************************************************
|
||||
|
||||
- The Qt 3 support module and all related code was removed.
|
||||
|
||||
- QAtomicInt's and QAtomicPointer's non-atomic convenience methods
|
||||
(i.e., operator=, operator int / operator T*, operator!, operator==,
|
||||
operator!= and operator->) have been removed as they did implicit
|
||||
@ -282,23 +284,6 @@ information about a particular change.
|
||||
- QIconEngineV2 was merged into QIconEngine
|
||||
You might need to adjust your code if it used a QIconEngine.
|
||||
|
||||
- qmake
|
||||
* Projects which explicitly set an empty TARGET are considered broken now.
|
||||
* The makespec and .qmake.cache do not see build pass specific variables any more.
|
||||
* load()/include() with a target namespace and infile()/$$fromfile() now start with
|
||||
an entirely pristine context.
|
||||
* Configure's -sysroot and -hostprefix are now handled slightly differently.
|
||||
The QT_INSTALL_... properties are now automatically prefixed with the sysroot;
|
||||
the raw values are available as QT_INSTALL_.../raw and the sysroot as QT_SYSROOT.
|
||||
The new QT_HOST_... properties can be used to refer to the Qt host tools.
|
||||
* Several functions and built-in variables were modified to return normalized paths.
|
||||
* The -(no-)exception flags in configure have been removed. Qt modules are now compiled
|
||||
without exceptions by default, as they do not use them and can neither handle them
|
||||
properly. Qt Core still has exceptions enabled to correctly throw bad_alloc exceptions
|
||||
in our tool classes.
|
||||
Whether code should be compiled with exception support enabled or disabled can be
|
||||
controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file.
|
||||
|
||||
- QTextCodecPlugin has been removed since it is no longer used. All text codecs
|
||||
are now built into QtCore.
|
||||
|
||||
@ -919,9 +904,66 @@ Qt for Windows CE
|
||||
|
||||
- Build System
|
||||
|
||||
* Remove qttest_p4.prf file. From now on we should explicitly enable the
|
||||
things from it which we want. Autotest .pro files should stop using
|
||||
'load(qttest_p4)' and start using 'CONFIG+=testcase' instead.
|
||||
* Qt has been split into numerous repositories. Configure covers mostly only qtbase's options.
|
||||
* Qt will now install CMake configuration files for all its libraries.
|
||||
|
||||
- configure
|
||||
|
||||
* The Mac OS X -dwarf2 configure argument has been removed. DWARF2 is always
|
||||
used on Mac OS X now.
|
||||
* The following options have been added: (-no)-force-asserts, (-no)-strip, (-no)-gui &
|
||||
(-no)-widgets, -device & -device-option, -archdatadir, -libexecdir & -qmldir,
|
||||
and numerous changes relating to specific Qt features and dependencies.
|
||||
* Configure will no longer call "qmake -recursive" by default, as the subsequent
|
||||
build invokes qmake as needed. Use -fully-process to restore the old behavior.
|
||||
|
||||
- qmake
|
||||
|
||||
* default_pre.prf is now evaluated per subproject & build pass, symmetrically
|
||||
to default_post.prf.
|
||||
* .qmake.conf files (.qmake.cache equivalent in source tree) are read now.
|
||||
* Project-specific mkspecs/ and features/ directories are supported now.
|
||||
QMAKEPATH and QMAKEFEATURES can be set in .qmake.{config,cache} to specifiy their
|
||||
location, and qmake will find them in the project's top-level directory automatically.
|
||||
* Mixing host and target subprojects is now supported. "default-host" makespec
|
||||
was added; option(host_build) enables its use.
|
||||
* QMAKE_MOC_OPTIONS variable is now available for passing additional parameters
|
||||
to the moc.
|
||||
* The CROSS_COMPILE variable and property can be used to parametrize the device
|
||||
and mingw makespecs.
|
||||
* QMAKE_RPATHLINKDIR (complementary to QMAKE_RPATHDIR) is now understood.
|
||||
* The "aux" TEMPLATE was added. Does not work with vcproj and xcode output files.
|
||||
* The properties QT_INSTALL_ARCHDATA, QT_INSTALL_LIBEXECS, QT_INSTALL_QML,
|
||||
QMAKE_SPEC & QMAKE_XSPEC were added. QT_INSTALL_DEMOS is obsolete.
|
||||
* The following functions have been added: $$sort_depends, $$resolve_depends,
|
||||
$$enumerate_vars, $$reverse, $$val_escape, $$format_number, $$shadowed,
|
||||
$$clean_path, $$system_path, $$shell_path, $$absolute_path, $$relative_path,
|
||||
$$system_quote, $$shell_quote, cache, write_file, touch, mkpath & log.
|
||||
defined can now query variables; $$cat and $$system support more splitting modes.
|
||||
qtCompileTest (available from configure.prf) was added.
|
||||
* Removed qttest_p4.prf. Use CONFIG+=testcase and other flags instead.
|
||||
* QMAKE_SUBSTITUTES can now copy files verbatim.
|
||||
* MSVC desktop builds now use -Zc:wchar_t.
|
||||
* The following variables were added: QMAKESPEC, _QMAKE_CONF_ & _QMAKE_SUPER_CACHE_.
|
||||
* QDBUSXML2CPP_{INTERFACES,ADAPTORS}_{HEADER,SOURCE}_FLAGS are now understood,
|
||||
and DBUS_{INTERFACES,ADAPTORS} support file groups with individual flags now.
|
||||
* QT_PRIVATE and PKGCONFIG_PRIVATE (analogous to LIBS_PRIVATE resp. PKGCONFIG) are now understood.
|
||||
* INSTALLS entries now support copying with subdirectory (e.g., entry.base = $$dirname(PWD)).
|
||||
* Defining QTPLUGIN in dynamically linked projects does not hurt any more.
|
||||
* CONFIG+=import_plugins will now cause plugin imports for QTPLUGIN being auto-generated.
|
||||
* Debug info generation can now be enabled also for release builds (CONFIG+=force_debug_info).
|
||||
* The following CONFIG flags have been deprecated in favor of QT module entries:
|
||||
qtestlib, qdbus, help, designer, uitools, qaxserver & qaxcontainer (the leading 'q'
|
||||
was stripped from the affected modules).
|
||||
* The IN_PWD alias for PWD was deprecated.
|
||||
* QMAKE_{DIST,}CLEAN support normalized path separators now.
|
||||
* CONFIG+=depend_includepath is on by default now. DEPENDPATH is unnecessary in most projects.
|
||||
* Makespecs should be adjusted in the following ways:
|
||||
* The QMAKE_INCDIR_QT, QMAKE_LIBDIR_QT, QMAKE_MOC, QMAKE_UIC, QMAKE_IDC, TEMPLATE & QT
|
||||
variables should not be defined any more. Furthermore, QMAKE_LIBS_X11SM is obsolete.
|
||||
* The qt, warn_on, release, & link_prl CONFIG flags should not be set any more.
|
||||
* The QMAKE_PLATFORM & QMAKE_COMPILER variables should be defined now.
|
||||
Several other variables should be defined by including files from mkspecs/common/.
|
||||
|
||||
- Assistant
|
||||
|
||||
@ -932,6 +974,11 @@ Qt for Windows CE
|
||||
|
||||
- Linguist
|
||||
|
||||
* The integration with Mac OS' document handling was improved
|
||||
* lupdate can now treat other .ts files as sources
|
||||
* lupdate's CODECFORTR is deprecated and will be removed soon. All source code
|
||||
written with Qt is expected to use UTF-8 encoding.
|
||||
|
||||
- rcc
|
||||
|
||||
|
||||
@ -944,20 +991,6 @@ Qt for Windows CE
|
||||
- uic
|
||||
|
||||
|
||||
- uic3
|
||||
|
||||
|
||||
- qmake
|
||||
|
||||
* QMAKE_MOC_OPTIONS variable is now available for passing additional parameters
|
||||
to the moc.
|
||||
|
||||
|
||||
- configure
|
||||
|
||||
* The Mac OS X -dwarf2 configure argument has been removed. DWARF2 is always
|
||||
used on Mac OS X now.
|
||||
|
||||
- qtconfig
|
||||
|
||||
|
||||
@ -1006,6 +1039,10 @@ Qt for Windows CE
|
||||
in the URL by themselves. Now, it will return "%25", like
|
||||
QUrl::toEncoded().
|
||||
|
||||
- QLibraryInfo
|
||||
|
||||
* location() always returns paths with normalized separators now.
|
||||
|
||||
- QVariant
|
||||
|
||||
* Definition of QVariant::UserType changed. Currently it is the same as
|
||||
@ -1037,3 +1074,48 @@ Qt for Windows CE
|
||||
* The static function QMessageBox::question has changed the default argument
|
||||
for buttons. Before the default was to have an Ok button. That is changed
|
||||
to having a yes and a no button.
|
||||
|
||||
- qmake & configure
|
||||
|
||||
* The project file parser has been rewritten from scratch. Invalid syntax will be
|
||||
rejected more aggressively, and interpretation may have changed in some corner cases.
|
||||
* Projects which explicitly set an empty TARGET are considered broken now.
|
||||
* The makespec and .qmake.cache do not see build pass specific variables any more.
|
||||
* load()/include() with a target namespace and infile()/$$fromfile() now start with
|
||||
an entirely pristine context.
|
||||
* Configure's -sysroot and -hostprefix are now handled slightly differently.
|
||||
The QT_INSTALL_... properties are now automatically prefixed with the sysroot;
|
||||
the raw values are available as QT_INSTALL_.../raw and the sysroot as QT_SYSROOT.
|
||||
The new QT_HOST_... properties can be used to refer to the Qt host tools.
|
||||
-no-gcc-sysroot can be used for non-standard sysroot configurations.
|
||||
* The QMAKE_MKSPECS property became unavailable at the command line. Query QT_HOST_DATA instead.
|
||||
* The TEMPLATE_PREFIX variable is gone. Use contains(TEMPLATE, vc.*) instead.
|
||||
* The "default" makespec symlink/directory is gone. Use qmake -query QMAKE_XSPEC instead.
|
||||
* DEPENDPATH does not end up in VPATH any more. Some SOURCES may not be found any more.
|
||||
* Several functions and built-in variables were modified to return normalized paths.
|
||||
* The -(no-)exception flags in configure have been removed. Qt modules are now compiled
|
||||
without exceptions by default, as they do not use them and can neither handle them
|
||||
properly. Qt Core still has exceptions enabled to correctly throw bad_alloc exceptions
|
||||
in our tool classes.
|
||||
Whether code should be compiled with exception support enabled or disabled can be
|
||||
controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file.
|
||||
* The -no/-stl configure options are gone. Qt always uses the STL now.
|
||||
* The -no/-fast configure options are gone.
|
||||
* The -prefix-install configure option is gone. Use -prefix, etc. instead.
|
||||
* The -make option of the Windows configure was renamed to -make-tool.
|
||||
-make now complements -no-make, like in the Unix version.
|
||||
* The object_with_source CONFIG flag was removed. Use object_parallel_to_source instead.
|
||||
* Support for universal binaries on Mac OS has been removed.
|
||||
* The processor architecture handling changed significantly. This affects the -arch & -*-endian
|
||||
configure options, the QT_ARCH qmake variable, and more.
|
||||
* No "make_default" make targets will be generated any more. Use "make_first" instead.
|
||||
* The "qmake" make targets are non-recursive now. Use "qmake_all" to recurse.
|
||||
* load() with paths relative to the current project is not supported any more.
|
||||
Use include() instead.
|
||||
* Persistent qmake properties are not versioned any more. Also, the vendor changed to
|
||||
"QtProject", so old settings are lost.
|
||||
* Support for the Borland toolchain was removed. Numerous obsolete makespecs were culled.
|
||||
* setcepaths.bat is gone. QMake-generated Makefiles are self-contained now.
|
||||
* moc_dir, rcc_dir and some other tool variables are not defined in Qt's .pc files any more;
|
||||
the generic host_bins is defined instead.
|
||||
|
||||
|
@ -51,6 +51,10 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
|
||||
!build_pass {
|
||||
|
||||
# Create a module .pri file
|
||||
unix:!static: \
|
||||
module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]"
|
||||
else: \
|
||||
module_rpath =
|
||||
!isEmpty(QT_FOR_PRIVATE) {
|
||||
contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.")
|
||||
module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE"
|
||||
@ -82,10 +86,9 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri
|
||||
"QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \
|
||||
"QT.$${MODULE}.includes = $$MODULE_INCLUDES" \
|
||||
"QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" \
|
||||
"QT.$${MODULE}.sources = $$val_escape(_PRO_FILE_PWD_)" \
|
||||
"QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \
|
||||
"QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \
|
||||
"QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]" \
|
||||
$$module_rpath \
|
||||
"QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
|
||||
"QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \
|
||||
"QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" \
|
||||
|
@ -59,7 +59,6 @@
|
||||
|
||||
# Create a forwarding module .pri file
|
||||
MODULE_FWD_PRI_CONT = \
|
||||
"QT_MODULE_BASE = $$MODULE_BASE_DIR" \
|
||||
"QT_MODULE_BIN_BASE = $$MODULE_BASE_OUTDIR/bin" \
|
||||
"QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_OUTDIR/include" \
|
||||
"QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \
|
||||
|
@ -1,22 +0,0 @@
|
||||
CONFIG -= thread_off
|
||||
|
||||
# #### These need to go
|
||||
debug {
|
||||
contains(DEFINES, QT_DLL) {
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLLDBG
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLLDBG
|
||||
} else {
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DBG
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DBG
|
||||
}
|
||||
} else {
|
||||
contains(DEFINES, QT_DLL) {
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLL
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLL
|
||||
} else {
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT
|
||||
}
|
||||
}
|
||||
|
||||
QMAKE_LIBS += $$QMAKE_LIBS_RTMT
|
@ -1,2 +0,0 @@
|
||||
CONFIG -= thread
|
||||
QMAKE_LIBS += $$QMAKE_LIBS_RT
|
@ -66,6 +66,7 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, xcb_screen_t *scr,
|
||||
, m_orientation(Qt::PrimaryOrientation)
|
||||
, m_number(number)
|
||||
, m_refreshRate(60)
|
||||
, m_forcedDpi(-1)
|
||||
{
|
||||
if (connection->hasXRandr())
|
||||
xcb_randr_select_input(xcb_connection(), screen()->root, true);
|
||||
@ -82,6 +83,9 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, xcb_screen_t *scr,
|
||||
if (m_availableGeometry.isEmpty())
|
||||
m_availableGeometry = QRect(QPoint(), m_virtualSize);
|
||||
|
||||
readXResources();
|
||||
|
||||
|
||||
#ifdef Q_XCB_DEBUG
|
||||
qDebug();
|
||||
qDebug("Screen output %s of xcb screen %d:", m_outputName.toUtf8().constData(), m_number);
|
||||
@ -243,6 +247,9 @@ QImage::Format QXcbScreen::format() const
|
||||
|
||||
QDpi QXcbScreen::logicalDpi() const
|
||||
{
|
||||
if (m_forcedDpi > 0)
|
||||
return QDpi(m_forcedDpi, m_forcedDpi);
|
||||
|
||||
return QDpi(Q_MM_PER_INCH * m_virtualSize.width() / m_virtualSizeMillimeters.width(),
|
||||
Q_MM_PER_INCH * m_virtualSize.height() / m_virtualSizeMillimeters.height());
|
||||
}
|
||||
@ -474,4 +481,41 @@ QPixmap QXcbScreen::grabWindow(WId window, int x, int y, int width, int height)
|
||||
return result;
|
||||
}
|
||||
|
||||
void QXcbScreen::readXResources()
|
||||
{
|
||||
int offset = 0;
|
||||
QByteArray resources;
|
||||
while(1) {
|
||||
xcb_get_property_reply_t *reply =
|
||||
xcb_get_property_reply(xcb_connection(),
|
||||
xcb_get_property_unchecked(xcb_connection(), false, screen()->root,
|
||||
XCB_ATOM_RESOURCE_MANAGER,
|
||||
XCB_ATOM_STRING, offset/4, 8192), NULL);
|
||||
bool more = false;
|
||||
if (reply && reply->format == 8 && reply->type == XCB_ATOM_STRING) {
|
||||
resources += QByteArray((const char *)xcb_get_property_value(reply), xcb_get_property_value_length(reply));
|
||||
offset += xcb_get_property_value_length(reply);
|
||||
more = reply->bytes_after != 0;
|
||||
}
|
||||
|
||||
if (reply)
|
||||
free(reply);
|
||||
|
||||
if (!more)
|
||||
break;
|
||||
}
|
||||
|
||||
QList<QByteArray> split = resources.split('\n');
|
||||
for (int i = 0; i < split.size(); ++i) {
|
||||
const QByteArray &r = split.at(i);
|
||||
if (r.startsWith("Xft.dpi:\t")) {
|
||||
bool ok;
|
||||
int dpi = r.mid(sizeof("Xft.dpi:")).toInt(&ok);
|
||||
if (ok)
|
||||
m_forcedDpi = dpi;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -96,6 +96,7 @@ public:
|
||||
void updateGeometry(xcb_timestamp_t timestamp);
|
||||
void updateRefreshRate();
|
||||
|
||||
void readXResources();
|
||||
private:
|
||||
xcb_screen_t *m_screen;
|
||||
xcb_randr_crtc_t m_crtc;
|
||||
@ -114,6 +115,7 @@ private:
|
||||
QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals;
|
||||
QXcbCursor *m_cursor;
|
||||
int m_refreshRate;
|
||||
int m_forcedDpi;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -210,7 +210,6 @@ Configure::Configure(int& argc, char** argv)
|
||||
dictionary[ "BUILD_QMAKE" ] = "yes";
|
||||
dictionary[ "VCPROJFILES" ] = "yes";
|
||||
dictionary[ "QMAKE_INTERNAL" ] = "no";
|
||||
dictionary[ "FAST" ] = "no";
|
||||
dictionary[ "PROCESS" ] = "partial";
|
||||
dictionary[ "WIDGETS" ] = "yes";
|
||||
dictionary[ "RTTI" ] = "yes";
|
||||
@ -802,11 +801,6 @@ void Configure::parseCmdLine()
|
||||
dictionary[ "NATIVE_GESTURES" ] = "no";
|
||||
#if !defined(EVAL)
|
||||
// Others ---------------------------------------------------
|
||||
else if (configCmdLine.at(i) == "-fast")
|
||||
dictionary[ "FAST" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-fast")
|
||||
dictionary[ "FAST" ] = "no";
|
||||
|
||||
else if (configCmdLine.at(i) == "-widgets")
|
||||
dictionary[ "WIDGETS" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-widgets")
|
||||
@ -1649,11 +1643,6 @@ bool Configure::displayHelp()
|
||||
desc("LTCG", "yes", "-ltcg", "Use Link Time Code Generation. (Release builds only)");
|
||||
desc("LTCG", "no", "-no-ltcg", "Do not use Link Time Code Generation.\n");
|
||||
|
||||
desc("FAST", "no", "-no-fast", "Configure Qt normally by generating Makefiles for all project files.");
|
||||
desc("FAST", "yes", "-fast", "Configure Qt quickly by generating Makefiles only for library and "
|
||||
"subdirectory targets. All other Makefiles are created as wrappers "
|
||||
"which will in turn run qmake.\n");
|
||||
|
||||
desc( "-make <part>", "Add part to the list of parts to be built at make time");
|
||||
for (int i=0; i<defaultBuildParts.size(); ++i)
|
||||
desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' ');
|
||||
@ -1790,7 +1779,7 @@ bool Configure::displayHelp()
|
||||
|
||||
desc("PROCESS", "partial", "-process", "Generate top-level Makefiles/Project files.");
|
||||
desc("PROCESS", "full", "-fully-process", "Generate Makefiles/Project files for the entire Qt\ntree.");
|
||||
desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files. This will override -no-fast if specified.\n");
|
||||
desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files.\n");
|
||||
|
||||
desc("RTTI", "no", "-no-rtti", "Do not compile runtime type information.");
|
||||
desc("RTTI", "yes", "-rtti", "Compile runtime type information.");
|
||||
@ -3755,43 +3744,6 @@ void Configure::buildQmake()
|
||||
}
|
||||
#endif
|
||||
|
||||
void Configure::findProjects(const QString& dirName)
|
||||
{
|
||||
if (dictionary[ "PROCESS" ] != "no") {
|
||||
QDir dir(dirName);
|
||||
QString entryName;
|
||||
int makeListNumber;
|
||||
ProjectType qmakeTemplate;
|
||||
const QFileInfoList &list = dir.entryInfoList(QStringList(QLatin1String("*.pro")),
|
||||
QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
const QFileInfo &fi = list.at(i);
|
||||
if (fi.fileName() != "qmake.pro") {
|
||||
entryName = dirName + "/" + fi.fileName();
|
||||
if (fi.isDir()) {
|
||||
findProjects(entryName);
|
||||
} else {
|
||||
qmakeTemplate = projectType(fi.absoluteFilePath());
|
||||
switch (qmakeTemplate) {
|
||||
case Lib:
|
||||
case Subdirs:
|
||||
makeListNumber = 1;
|
||||
break;
|
||||
default:
|
||||
makeListNumber = 2;
|
||||
break;
|
||||
}
|
||||
makeList[makeListNumber].append(new MakeItem(sourceDir.relativeFilePath(fi.absolutePath()),
|
||||
fi.fileName(),
|
||||
"Makefile",
|
||||
qmakeTemplate));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Configure::appendMakeItem(int inList, const QString &item)
|
||||
{
|
||||
QString dir;
|
||||
@ -3813,9 +3765,8 @@ void Configure::generateMakefiles()
|
||||
if (spec != "win32-msvc.net" && !spec.startsWith("win32-msvc2") && !spec.startsWith(QLatin1String("wince")))
|
||||
dictionary[ "VCPROJFILES" ] = "no";
|
||||
|
||||
int i = 0;
|
||||
QString pwd = QDir::currentPath();
|
||||
if (dictionary["FAST"] != "yes") {
|
||||
{
|
||||
QString dirName;
|
||||
bool generate = true;
|
||||
bool doDsp = (dictionary["VCPROJFILES"] == "yes");
|
||||
@ -3848,51 +3799,6 @@ void Configure::generateMakefiles()
|
||||
dictionary[ "DONE" ] = "error";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
findProjects(sourcePath);
|
||||
for (i=0; i<3; i++) {
|
||||
for (int j=0; j<makeList[i].size(); ++j) {
|
||||
MakeItem *it=makeList[i][j];
|
||||
if (it->directory == "tools/configure")
|
||||
continue; // don't overwrite our own Makefile
|
||||
|
||||
QString dirPath = it->directory + '/';
|
||||
QString projectName = it->proFile;
|
||||
QString makefileName = buildPath + "/" + dirPath + it->target;
|
||||
|
||||
// For shadowbuilds, we need to create the path first
|
||||
QDir buildPathDir(buildPath);
|
||||
if (sourcePath != buildPath && !buildPathDir.exists(dirPath))
|
||||
buildPathDir.mkpath(dirPath);
|
||||
|
||||
QStringList args;
|
||||
|
||||
args << QDir::toNativeSeparators(buildPath + "/bin/qmake.exe");
|
||||
args << sourcePath + "/" + dirPath + projectName;
|
||||
|
||||
cout << "For " << qPrintable(QDir::toNativeSeparators(dirPath + projectName)) << endl;
|
||||
args << "-o";
|
||||
args << it->target;
|
||||
|
||||
QDir::setCurrent(dirPath);
|
||||
|
||||
QFile file(makefileName);
|
||||
if (!file.open(QFile::WriteOnly | QFile::Text)) {
|
||||
printf("failed on dirPath=%s, makefile=%s\n",
|
||||
qPrintable(QDir::toNativeSeparators(dirPath)),
|
||||
qPrintable(QDir::toNativeSeparators(makefileName)));
|
||||
continue;
|
||||
}
|
||||
QTextStream txt(&file);
|
||||
txt << "all:\n";
|
||||
txt << "\t" << args.join(' ') << "\n";
|
||||
txt << "\t$(MAKE) -$(MAKEFLAGS) -f " << it->target << "\n";
|
||||
txt << "first: all\n";
|
||||
txt << "qmake: FORCE\n";
|
||||
txt << "\t" << args.join(' ') << "\n";
|
||||
txt << "FORCE:\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
QDir::setCurrent(pwd);
|
||||
} else {
|
||||
|
@ -85,7 +85,6 @@ public:
|
||||
void generateSystemVars();
|
||||
#endif
|
||||
void showSummary();
|
||||
void findProjects( const QString& dirName );
|
||||
QString firstLicensePath();
|
||||
|
||||
#if !defined(EVAL)
|
||||
|
Loading…
Reference in New Issue
Block a user