Skip to content

Commit

Permalink
complain about various invalid configuration attempts
Browse files Browse the repository at this point in the history
Task-number: QTBUG-56049
Change-Id: Id5eeb014c2b88195d2d14566a62dcb9185206b37
Reviewed-by: Jake Petroules <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
  • Loading branch information
ossilator committed Jan 6, 2017
1 parent 44a68af commit 696c3f9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
5 changes: 5 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ if [ x"$1" = x"-top-level" ]; then
relpathMangled=`dirname "$relpath"`
outpathPrefix=../
shift
else
if [ -f ../.qmake.super ]; then
echo >&2 "ERROR: You cannot configure qtbase separately within a top-level build."
exit 1
fi
fi

OPT_CMDLINE= # expanded version for the script
Expand Down
5 changes: 5 additions & 0 deletions configure.bat
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,12 @@ for %%P in ("%TOPQTSRC%") do set TOPQTSRC=%%~dpP
set TOPQTSRC=%TOPQTSRC:~0,-1%
for %%P in ("%QTDIR%") do set TOPQTDIR=%%~dpP
set TOPQTDIR=%TOPQTDIR:~0,-1%
goto wastoplevel
:notoplevel
if not exist ..\.qmake.super goto wastoplevel
echo ERROR: You cannot configure qtbase separately within a top-level build. >&2
exit /b 1
:wastoplevel

set SYNCQT=
set PLATFORM=
Expand Down
13 changes: 12 additions & 1 deletion mkspecs/features/qt_configure.prf
Original file line number Diff line number Diff line change
Expand Up @@ -1700,6 +1700,14 @@ defineTest(qtConfProcessOutput) {

!isEmpty(_QMAKE_SUPER_CACHE_):!equals(OUT_PWD, $$dirname(_QMAKE_SUPER_CACHE_)) {
# sub-repo within a top-level build; no need to configure anything.
!isEmpty(QMAKE_EXTRA_ARGS) {
# sub-projects don't get the extra args passed down automatically,
# so we can use their presence to detect misguided attempts to
# configure the repositories separately.
# caveat: a plain qmake call is indistinguishable from a recursion
# (by design), so we cannot detect this case.
error("You cannot configure $$TARGET separately within a top-level build.")
}
return()
}

Expand All @@ -1717,8 +1725,11 @@ for (c, cfgs) {
exists($$s/configure.json): \
configsToProcess += $$c
}
isEmpty(configsToProcess): \
isEmpty(configsToProcess) {
!isEmpty(QMAKE_EXTRA_ARGS): \
error("This module does not accept configure command line arguments.")
return()
}

load(configure_base)

Expand Down

0 comments on commit 696c3f9

Please sign in to comment.