diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2011-06-10 10:50:10 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2011-06-10 13:09:57 +0200 |
commit | c70efdec0fa329091d98da215af446f03ef65ab2 (patch) | |
tree | f201cebfb17c45f1f0d51aee60c513df5f13c644 /bin | |
parent | f30b8b96b8540ba7d78e9ca7f6db152b40e9b2af (diff) | |
parent | db37aa1004f1e2489b94f1d9cc21630b62e03552 (diff) |
Merge remote-tracking branch 'base/master' into refactor
Conflicts:
examples/animation/animatedtiles/animatedtiles.pro
examples/animation/appchooser/appchooser.pro
examples/animation/moveblocks/moveblocks.pro
examples/animation/states/states.pro
examples/animation/stickman/stickman.pro
examples/dialogs/configdialog/configdialog.pro
examples/dialogs/sipdialog/sipdialog.pro
examples/dialogs/standarddialogs/standarddialogs.pro
examples/dialogs/tabdialog/tabdialog.pro
examples/draganddrop/draggableicons/draggableicons.pro
examples/draganddrop/draggabletext/draggabletext.pro
examples/draganddrop/fridgemagnets/fridgemagnets.pro
examples/draganddrop/puzzle/puzzle.pro
examples/gestures/imagegestures/imagegestures.pro
examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro
examples/graphicsview/collidingmice/collidingmice.pro
examples/graphicsview/elasticnodes/elasticnodes.pro
examples/graphicsview/weatheranchorlayout/weatheranchorlayout.pro
examples/itemviews/addressbook/addressbook.pro
examples/itemviews/chart/chart.pro
examples/itemviews/fetchmore/fetchmore.pro
examples/itemviews/puzzle/puzzle.pro
examples/mainwindows/menus/menus.pro
examples/painting/basicdrawing/basicdrawing.pro
examples/painting/concentriccircles/concentriccircles.pro
examples/painting/imagecomposition/imagecomposition.pro
examples/painting/painterpaths/painterpaths.pro
examples/painting/transformations/transformations.pro
examples/qtconcurrent/imagescaling/imagescaling.pro
examples/qtestlib/tutorial1/tutorial1.pro
examples/qtestlib/tutorial2/tutorial2.pro
examples/qtestlib/tutorial3/tutorial3.pro
examples/qtestlib/tutorial4/tutorial4.pro
examples/qtestlib/tutorial5/tutorial5.pro
examples/qws/dbscreen/dbscreen.pro
examples/qws/svgalib/svgalib.pro
examples/richtext/syntaxhighlighter/syntaxhighlighter.pro
examples/statemachine/rogue/rogue.pro
examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro
examples/tools/styleplugin/plugin/plugin.pro
examples/uitools/multipleinheritance/multipleinheritance.pro
examples/widgets/analogclock/analogclock.pro
examples/widgets/calculator/calculator.pro
examples/widgets/calendarwidget/calendarwidget.pro
examples/widgets/codeeditor/codeeditor.pro
examples/widgets/icons/icons.pro
examples/widgets/imageviewer/imageviewer.pro
examples/widgets/lineedits/lineedits.pro
examples/widgets/movie/movie.pro
examples/widgets/shapedclock/shapedclock.pro
examples/widgets/softkeys/softkeys.pro
examples/widgets/tetrix/tetrix.pro
src/gui/painting/qpaintengine_raster.cpp
src/gui/painting/qpaintengine_raster_p.h
src/openvg/openvg.pro
src/openvg/qpaintengine_vg_p.h
src/plugins/graphicssystems/meego/meego.pro
src/plugins/platforms/fontdatabases/basicunix/basicunix.pri
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/syncqt | 72 |
1 files changed, 52 insertions, 20 deletions
diff --git a/bin/syncqt b/bin/syncqt index 69d50ec4ca..a955456fec 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -46,7 +46,9 @@ my $check_includes = 0; my $copy_headers = 0; my $create_uic_class_map = 0; my $create_private_headers = 1; -my $no_module_fwd = 0; +my $module_fwd = ""; +my $cache_module_fwd = 0; +my $developer_build = 0; my $no_module_version_header = 0; my @modules_to_sync ; $force_relative = 1 if ( -d "/System/Library/Frameworks" ); @@ -72,12 +74,18 @@ sub showUsage print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n"; print " -showonly Show action but not perform (default: " . ($showonly ? "yes" : "no") . ")\n"; print " -outdir <PATH> Specify output directory for sync (default: $out_basedir)\n"; - print " -qtdir <PATH> Set the path to QtBase (detected: " . (defined $qtbasedir ? $qtbasedir : "-none-") . ")\n"; + print " -qtdir <PATH> Set the path to QtBase (detected: " . (defined $qtbasedir ? $qtbasedir : "-none-") . ")\n"; print " -quiet Only report problems, not activity (default: " . ($quiet ? "yes" : "no") . ")\n"; print " -separate-module <NAME>:<PROFILEDIR>:<HEADERDIR>\n"; - print " Create headers for <NAME> with original headers in <HEADERDIR> relative to <PROFILEDIR> \n"; + print " Create headers for <NAME> with original headers in\n"; + print " <HEADERDIR> relative to <PROFILEDIR> \n"; print " -private Force copy private headers (default: " . ($create_private_headers ? "yes" : "no") . ")\n"; - print " -no-module-fwd Don't create fwd includes for module pri files\n"; + print " -module-fwd <PATH> Create fwd includes for module pri files in the given\n"; + print " path (default: none)\n"; + print " -cache-module-fwd Create a .qmake.cache file to cache the location of the\n"; + print " fwd includes\n"; + print " -developer-build Point libraries and binaries to a common directory for\n"; + print " easy development\n"; print " -no-module-version-header\n"; print " Don't create module version header file\n"; print " -help This help\n"; @@ -590,6 +598,18 @@ while ( @ARGV ) { $arg eq "-relative" || $arg eq "-check-includes") { $var = substr($arg, 1); $val = "yes"; + } elsif($arg eq "-module-fwd") { + $var = "module_fwd"; + $val = shift @ARGV; + } elsif($arg eq "-cache-module-fwd") { + $var = "cache_module_fwd"; + $val = "yes"; + } elsif($arg eq "-developer-build") { + $var = "developer_build"; + $val = "yes"; + } elsif($arg eq "-no-module-version-header") { + $var = "no_module_version_header"; + $val = "yes"; } elsif($arg =~ /^-no-(.*)$/) { $var = $1; $val = "no"; @@ -619,12 +639,6 @@ while ( @ARGV ) { # skip, it's been dealt with at the top of the file shift @ARGV; next; - } elsif($arg eq "-no-module-fwd") { - $var = "no_module_fwd"; - $val = "yes"; - } elsif($arg eq "-no-module-version-header") { - $var = "no_module_version_header"; - $val = "yes"; } elsif($arg =~/^-/) { print "Unknown option: $arg\n\n" if(!$var); showUsage(); @@ -700,8 +714,12 @@ while ( @ARGV ) { } else { die "The -qtdir option requires an argument"; } - } elsif ($var eq "no_module_fwd") { - $no_module_fwd = 1; + } elsif ($var eq "module_fwd") { + $module_fwd = $val; + } elsif ($var eq "cache_module_fwd") { + $cache_module_fwd = 1; + } elsif ($var eq "developer_build") { + $developer_build = 1; } elsif ($var eq "no_module_version_header") { $no_module_version_header = 1; } elsif ($var eq "output") { @@ -1066,21 +1084,35 @@ foreach my $lib (@modules_to_sync) { } # create forwarding module pri in qtbase/mkspecs/modules - unless ($no_module_fwd) { + if ($module_fwd) { my $modulepri = $modulepris{$lib}; if (-e $modulepri) { my $modulepriname = basename($modulepri); - my $moduleprifwd = "$qtbasedir/mkspecs/modules/$modulepriname"; - open MODULE_PRI_FILE, ">$moduleprifwd"; - print MODULE_PRI_FILE "QT_MODULE_BASE = $basedir\n"; - print MODULE_PRI_FILE "QT_MODULE_BIN_BASE = $qtbasedir/bin\n"; + mkpath($module_fwd); + my $moduleprifwd = "$module_fwd/$modulepriname"; + my $mod_base = $developer_build ? $basedir : $out_basedir; + my $mod_component_base = $developer_build ? $qtbasedir : $out_basedir; + open MODULE_PRI_FILE, ">$moduleprifwd" or die("Could not open $moduleprifwd for writing"); + print MODULE_PRI_FILE "QT_MODULE_BASE = $mod_base\n"; + print MODULE_PRI_FILE "QT_MODULE_BIN_BASE = $mod_component_base/bin\n"; print MODULE_PRI_FILE "QT_MODULE_INCLUDE_BASE = $out_basedir/include\n"; - print MODULE_PRI_FILE "QT_MODULE_IMPORT_BASE = $qtbasedir/imports\n"; - print MODULE_PRI_FILE "QT_MODULE_LIB_BASE = $qtbasedir/lib\n"; - print MODULE_PRI_FILE "QT_MODULE_PLUGIN_BASE = $qtbasedir/plugins\n"; + print MODULE_PRI_FILE "QT_MODULE_IMPORT_BASE = $mod_component_base/imports\n"; + print MODULE_PRI_FILE "QT_MODULE_LIB_BASE = $mod_component_base/lib\n"; + print MODULE_PRI_FILE "QT_MODULE_PLUGIN_BASE = $mod_component_base/plugins\n"; print MODULE_PRI_FILE "include($modulepri)\n"; close MODULE_PRI_FILE; utime(time, (stat($modulepri))[9], $moduleprifwd); + if ($cache_module_fwd) { + my $cacheStatement = "QMAKE_EXTRA_MODULE_FORWARDS = \"$module_fwd\""; + my $cacheFile = "$out_basedir/.qmake.cache"; + my $existingQmakeCache = fileContents($cacheFile); + # Skip if it's already there. + if ($existingQmakeCache !~ $cacheStatement) { + open QMAKE_CACHE_FILE, ">>$cacheFile" or die("Could not open $cacheFile for writing"); + print QMAKE_CACHE_FILE "$cacheStatement\n"; + close(QMAKE_CACHE_FILE); + } + } } elsif ($modulepri) { print "WARNING: Module $lib\'s pri file '$modulepri' not found.\nSkipped creating forwarding pri for $lib.\n"; } |