| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
We forgot to adapt the static library rule back when we implemented
smart relinking.
Change-Id: Iea952c868ca7b5c0bda89690865d554be4893bb5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we call import() with ObserveMode::Disabled, we still need to gather
all the results for possible later observation, because due to caching,
we will not re-collect them on the next import() call.
Change-Id: Ia7ccbe7cc3c47d6c2f1612bcf37c4a6c144c6ea2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Those were broken, because QScriptValue::toVariant() doesn't take
QScriptValue::prototype() into account, which we set for imports.
Change-Id: I571f7a4b63df08b1768f61bcc1d622f3730c2a73
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I42a01e549c15c91428d0f8bd9be03ea59c773032
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I46d015812d0cb49716123dc5a6748acf48c8bb3f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qmlcache module was broken in an impressive number of ways:
- We forgot to adapt the Probe to a5cc49f2c6.
- The return value of the validate property is never evaluated;
you have to throw an error for it to have an effect.
- From 5.11 on, qmlcachegen does not support the
--target-architecture option anymore.
Task-number: QBS-1353
Change-Id: I770ddc18ad2519c1d5db83bee9634717b1768d67
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This module generates .pc files for products, optionally attempting to
derive some of the entries from the contents of the Export item.
[ChangeLog] Added new module "Exporter.pkgconfig" for creating pkg-
config metadata files.
Task-number: QBS-1232
Change-Id: Ic41e645e4462e8f85ad6c2025fb967e88d3438f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because we don't turn shadow products into actual products in the
ProjectResolver, the results of probes run in their context did not end
up in the build graph and the configure scripts were therefore
needlessly re-executed on the next project resolving.
Fix this by storing these probe results along with the project-level
ones.
Change-Id: I647bbedbbe3fa6f36b536fd1b80fd321894362f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: Ia0580bbf3dcd50036e4b7010a722e84cf3bf6e8e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to the traditional per-user settings, there is now also a
system-wide settings file affecting all users. The file's platform-
specific default location can be overridden at build time.
The qbs-config tool can write these settings via the new --system
option.
[ChangeLog] Introduced the concept of system-level qbs settings
Change-Id: Ie6f675a74e96ce1fa7b2dd0712f6106071e848a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
If products that come in via auxiliaryInputs are also applications,
then these would get run as well, which is wrong. Prevent that from
happening.
Change-Id: I9580fa4e5198f8a9ab2a0a36ef221c52e3881df8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
... for the case of an installed test.
Change-Id: Ib064da968cb7aae4531c0b7177c044ee6d97bcde
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Includes in the first line of a source file starting with a byte order
mark would not get detected, resulting in failure to recompile after a
header file change.
Skip over the BOM before passing the data to the lexer.
Task-number: QBS-1348
Done-with: Ola Røer Thorsen <ola@silentwings.no>
Change-Id: I894a5b1667e49be5f8ce9b5cc66e4e796fd073f1
Reviewed-by: Ola Røer Thorsen <ola@silentwings.no>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I143997ecbda03a290307d62c30adbca1527f7e0a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
The workingDir property is of course a string.
Change-Id: If0c5dbccb4debe20640cb4add0d0d13d0dc85d8e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I438c6e754ea03a53306cc7d55debcc6574d2c2f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
This was forgotten in 2bda52aa3d. Also added autotest.
Change-Id: Iba8c7c7aa6629f321017315b03964ce20809ac23
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Apparently, the name of a snippet identifier cannot have the name of
another snippet identifier as a substring.
Change-Id: Ic82a26f3e05daa627f2de36d330e31216cf0a76e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we check for the presence of cl.exe also for VS versions >= 15.
This fixes warnings like:
WARNING: Failed to set up MSVC2017-_1033: Could not start C:/Program
Files (x86)/Microsoft Visual
Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/arm/1033/cl.exe
(Process failed to start: The system cannot find the file specified.)
Change-Id: I2d8350abaa1b8a96a3e832d4bfc121f5fa2e52ba
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This member is only used in qbs-setup-qt and is possibly invalid when
used from Qt Creator. The removal stops us from trying to use the member
in the qtprofilesetup lib again.
Change-Id: Ib356b0f69fe479321aa7c3148acdb95fb805239a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
The check env.msvcVersion.isValid() doesn't work for Qt Creator,
because we never set the MSVC version for a QtEnvironment there.
Use the isMsvcQt function instead.
Change-Id: I9cfef1bc6383551fc3382408d18a239c4f7d0339
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This will avoid code duplication in the next commit.
Change-Id: I90d99860dce04bf56c81d4f363aa6e5bafe1224c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ic2857b55f4d5725d1eefbcf5663c2b2b634dbabf
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
... when adding transitive dependencies.
This was forgotten in 7e630a1436.
Change-Id: If1a4bbecb8ee7b828d8b32ae79933ac07ad58d12
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: Ifcb9d418d9646ae9bbc2aad816518fd6cb732659
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Just define it to a dummy value, it's not used anyway.
Amends 2aa3131bef6444a800f6e6259cecf44851eb0454 .
Change-Id: Ib11e4158b274ef6b49013107cc0815007b6544d6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Need to wait for a new timestamp, to make sure rules see all the
changes.
Change-Id: I972737e44d89d10cfa55eae41c5ac44c3c69e021
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The output of the repoState property contains additional whitespace
for subversion case on macOS.
Make sure to trim the output of any whitespace.
Change-Id: Idb17361dc4e7fb95a18c3e789877347e789e5575
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires a couple of changes:
1) When targeting macOS 10.12+, clock_gettime is available and
can be used directly for FileTime::currentTime().
2) For lower versions, we partially implement the clock_gettime
CLOCK_REALTIME usecase, as it is done in macOS libc sources,
and explicitly use that version.
3) The file stat structure has slightly different field names
on macOS, so the accessed names were adjusted in
FileInfo::lastModified() and FileInfo::lastStatusChange().
Two more things are worth mentioning:
1) Both the stock and custom implementations of clock_gettime()
have 1000nsec = 1microsecond resolution, and not a 1ns one.
2) The stat.st_mtimespec field can store nanosecond values,
but in practice with HFS+ the date resolution is 1 second.
This is not true for APFS, which has a 1ns resolution.
Change-Id: I1ecdc6e9db7a9c1dc5f9a9a0859ec25a34165c4d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
... before setting up the transitive dependencies. Otherwise, there is
the danger that other code will look at the original modules list and
stumble over inconsistencies. For instance, propagateModulesFromParent()
does that, which caused asserts on macOS.
Change-Id: I8cd1adb15d8341e8f528f221dcca22fa27b0d68e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, if a product had a non-required dependency on another
product and that product's condition was false, then the dependencies
from the disabled product's Export item still got into the importing
product, which is not what users expect.
The fix is achieved by splitting up the addTransitiveDependencies()
function and moving the part that is not required for determining the
dependencies between products into handleProduct(). In that function we
already have definite knowledge about which dependencies are enabled, so
we can simply filter out dependencies of modules representing products
that are disabled.
Task-number: QBS-1250
Change-Id: I787a4554b2ced3924e0c6ab7e78bd73221fbecdc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
... after a transformer finishes. This makes our "out of date" check
independent of the local clock resolution for generated artifacts that
do not have source artifacts as children.
Change-Id: If3d47f1fd859c30846806fabaddf3b47a840a6d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That call was probably conceptually unneeded since d08ce8f643 (because
from then on the module instance, which already has a qbs instance, was
used to evaluate the condition), and harmful since be8432fac9 (because
the loadBaseModule() call then happened on the shared module prototype).
This patch also needs to touch the module merger: Because the prototype
is now not tainted with qbs properties from the product item anymore, we
have to make sure that variant values are not ignored during module
merging; otherwise, qbs properties set by the multiplexing
procedure could get lost in the merge process.
Change-Id: Iae5d47dbe018d330f4c96e919bb0f83c086ae1df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I441c0454ee7a4b928c132052c49db1cddc34d3c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We only need one prototype item per file path and profile.
Other differences, such as the multiplex configuration, only influence
whether the module condition is true and do not require loading the
module file again.
Change-Id: Ia352bca1859566d5db6bfc86ce4d24888ef45f30
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The search path order provides additional prioritization. Conflicts can
now only occur between candidates in the same directory. This is needed
e.g. to allow distributions to provide global search paths.
Change-Id: I698a96e8943041fb0c4536901f75394bacd7fb40
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
These values are the same in all iterations.
Change-Id: I53f5f2bb5c76605eae089f546537c58d396787f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
One of our test machines still had problems.
Change-Id: I49ec0ffd9831fbe768155a132f2d8db674e0db87
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
It turns out that the gcc versions on some of our test machines are so
old that they don't even know the deprecated "c++1z" value yet. So don't
require the compiler call to actually succeed.
Change-Id: I751223f073edbd207e078c2bb018cdea4cd95e64
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Some of our test machines have older compilers, so also check for the
deprecated command-line options.
Change-Id: I589c29faf3cafd6bd22e975e3d80ea4f24e39507
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
... when adjusting dependencies for multiplexing. If the profiles
property is set, it must override our heuristic about which variant of
the dependency to use.
Change-Id: I207dd6cdee91fb2715b5abcd634573f850f14404
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
... and choose the highest entry. This enables different modules to
specify their requirements without introducing conflicts.
Same for cpp.cLanguageVersion.
Task-number: QBS-1225
Change-Id: I96ed6c370eb190023fdb69274dcb080d967f512d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I7ef04109d22956bf7d6d63dd0f5f4cda87245561
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
The function returned true for non-existing files.
Change-Id: If3c3d9d1d89b3b1b70414d1b3168bd091d4f75a8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | | |
Change-Id: I407596d75413e43aa61e7d1fe8591f4a0f388340
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As QFileInfo::canonicalFilePath might return an empty string, we must
remove all empty strings from the result of makePathsCanonical. All
other search path handling code is not prepared for handling empty
strings.
This fixes
---snip---
SOFT ASSERT: isAbsolute(base, hostOs) && !isCurrentDrivePath(rel, hostOs) in ../../../../master/src/lib/corelib/tools/fileinfo.cpp:192
base: , rel: qbs/base
---snap---
we would get when having a non-existent path in qbsSearchPaths.
Change-Id: I62c3c1054fd762b521005ab8da08b194148428b4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A simple string comparison is not always enough, because of soft links.
Change-Id: Id1889fa70d5948a1db66d8e6a69b8a2fbb0e34dd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0beba429dca8dff03e7dc977a78f75bade916865
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We overwrote the defines from QbsLibrary.qbs, breaking static builds.
Task-number: QBS-1230
Change-Id: Ia146e39f6278bf21c2415008c91520399065b20d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|