add -compile-examples configure option
this overrides the magic that makes examples only install their sources in production builds. packagers may want to force the build of the examples, so they can package them up for demo purposes. this is actually why we formerly had the split between demos and examples ... Task-number: QTBUG-30788 Change-Id: I5633f69404c5aa6846f5496e8f161a273a7a7da3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
c1d5f46d23
commit
8ea19caacf
22
configure
vendored
22
configure
vendored
@ -880,6 +880,7 @@ QT_DEFAULT_BUILD_PARTS="libs tools examples"
|
||||
CFG_BUILD_PARTS=""
|
||||
CFG_NOBUILD_PARTS=""
|
||||
CFG_SKIP_MODULES=""
|
||||
CFG_COMPILE_EXAMPLES=auto
|
||||
CFG_RELEASE_QMAKE=no
|
||||
CFG_AUDIO_BACKEND=auto
|
||||
CFG_V8SNAPSHOT=auto
|
||||
@ -1404,6 +1405,13 @@ while [ "$#" -gt 0 ]; do
|
||||
fi
|
||||
CFG_SKIP_MODULES="$CFG_SKIP_MODULES $VAL"
|
||||
;;
|
||||
compile-examples)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_COMPILE_EXAMPLES="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
sdk)
|
||||
if [ "$BUILD_ON_MAC" = "yes" ]; then
|
||||
DeviceVar set !host_build:QMAKE_MAC_SDK "$VAL"
|
||||
@ -3151,6 +3159,18 @@ else
|
||||
QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
|
||||
fi
|
||||
|
||||
# Do not actually build the examples in production builds with -prefix, unless requested
|
||||
if [ "$CFG_COMPILE_EXAMPLES" = auto ]; then
|
||||
if [ "$CFG_DEV" = "yes" ] || [ "x$outpath" = "x$QT_INSTALL_PREFIX" ]; then
|
||||
CFG_COMPILE_EXAMPLES=yes
|
||||
else
|
||||
CFG_COMPILE_EXAMPLES=no
|
||||
fi
|
||||
fi
|
||||
if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then
|
||||
QMAKE_CONFIG="$QMAKE_CONFIG compile_examples"
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# help - interactive parts of the script _after_ this section please
|
||||
#-------------------------------------------------------------------------------
|
||||
@ -3452,6 +3472,8 @@ Additional options:
|
||||
|
||||
-skip <module> ..... Exclude an entire module from the build.
|
||||
|
||||
-compile-examples .. Compile examples even in a production build.
|
||||
|
||||
-no-gui ............ Don't build the Qt GUI module and dependencies.
|
||||
+ -gui ............... Build the Qt GUI module and dependencies.
|
||||
|
||||
|
@ -93,8 +93,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
|
||||
!isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
|
||||
}
|
||||
|
||||
# Do not actually build the examples in production builds with -prefix
|
||||
!equals(TEMPLATE, subdirs):prefix_build:!contains(QT_CONFIG, private_tests) {
|
||||
!equals(TEMPLATE, subdirs):!compile_examples {
|
||||
TEMPLATE = aux
|
||||
CONFIG -= have_target qt staticlib dll
|
||||
SOURCES =
|
||||
|
@ -276,6 +276,8 @@ Configure::Configure(int& argc, char** argv)
|
||||
|
||||
dictionary[ "BUILDDEV" ] = "no";
|
||||
|
||||
dictionary[ "COMPILE_EXAMPLES" ] = "auto";
|
||||
|
||||
dictionary[ "C++11" ] = "auto";
|
||||
|
||||
dictionary[ "SHARED" ] = "yes";
|
||||
@ -458,6 +460,13 @@ void Configure::parseCmdLine()
|
||||
dictionary[ "BUILDALL" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-force-debug-info")
|
||||
dictionary[ "FORCEDEBUGINFO" ] = "yes";
|
||||
|
||||
else if (configCmdLine.at(i) == "-compile-examples") {
|
||||
dictionary[ "COMPILE_EXAMPLES" ] = "yes";
|
||||
} else if (configCmdLine.at(i) == "-no-compile-examples") {
|
||||
dictionary[ "COMPILE_EXAMPLES" ] = "no";
|
||||
}
|
||||
|
||||
else if (configCmdLine.at(i) == "-c++11")
|
||||
dictionary[ "C++11" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-c++11")
|
||||
@ -1696,6 +1705,8 @@ bool Configure::displayHelp()
|
||||
|
||||
desc( "-skip <module>", "Exclude an entire module from the build.\n");
|
||||
|
||||
desc( "-compile-examples", "Compile examples even in a production build.\n");
|
||||
|
||||
desc("WIDGETS", "no", "-no-widgets", "Disable Qt Widgets module.\n");
|
||||
desc("GUI", "no", "-no-gui", "Disable Qt GUI module.\n");
|
||||
|
||||
@ -1979,6 +1990,13 @@ QString Configure::defaultTo(const QString &option)
|
||||
&& (!QFile::exists(sourcePath + "/bin/syncqt.pl")))
|
||||
return "no";
|
||||
|
||||
// Do not actually build the examples in production builds with -prefix, unless requested
|
||||
if (option == "COMPILE_EXAMPLES"
|
||||
&& QDir::cleanPath(dictionary[ "QT_BUILD_TREE" ])
|
||||
!= QDir::cleanPath(dictionary[ "QT_INSTALL_PREFIX" ])
|
||||
&& dictionary[ "BUILDDEV" ] == "no")
|
||||
return "no";
|
||||
|
||||
return "yes";
|
||||
}
|
||||
|
||||
@ -2560,6 +2578,8 @@ void Configure::generateOutputVars()
|
||||
if (!buildParts.contains("libs"))
|
||||
buildParts += "libs";
|
||||
buildParts.removeDuplicates();
|
||||
if (dictionary[ "COMPILE_EXAMPLES" ] == "yes")
|
||||
qmakeConfig += "compile_examples";
|
||||
|
||||
if (dictionary["MSVC_MP"] == "yes")
|
||||
qmakeConfig += "msvc_mp";
|
||||
|
Loading…
Reference in New Issue
Block a user