Commit Graph

65 Commits

Author SHA1 Message Date
Orgad Shaneh
1853f01a5b Merge remote-tracking branch 'origin/4.1'
Change-Id: Ia442f30f387fe9292217582260bbe79e54608810
2016-08-05 11:40:07 +02:00
Christian Kandeler
d004203b13 qbs build: Fix warnings on Windows
Change-Id: Ic62200d30be054128fd810ae85e7b8eb1900be89
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-05 07:12:20 +00:00
Christian Kandeler
5d34676fdc qbs build: Remove "-s" from linker flags
It is unclear why this was added, the qmake build does not have it
either, and it breaks linking on some versions of macOS.

Change-Id: I878273e072808416a12cf5c973f2ceacde549f74
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-01 07:27:01 +00:00
Orgad Shaneh
35d7352b3e Merge remote-tracking branch 'origin/4.1'
Change-Id: Ie96fa53a88bcd06fa688a579c1d84aaf6f5e905f
2016-07-29 16:13:18 +03:00
Christian Kandeler
b1477190de Fix qbs build on macOS
"osx" -> "macos"

Change-Id: Ie25e096b2759cf8f96411560fcca337169d80b08
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-07-28 14:45:12 +00:00
Eike Ziller
546df37c98 Merge remote-tracking branch 'origin/4.1'
Conflicts:
	README.md
	src/plugins/modeleditor/actionhandler.cpp

Change-Id: I65c2885593b881eda94872168a3891cab9cafe71
2016-07-11 10:46:05 +02:00
Eike Ziller
7812390b0b Update requirements for building Qt Creator
Change-Id: I462c496a6998862d1f1d09fc323342429115b67b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Ralf Nolden <nolden@kde.org>
2016-07-06 08:11:51 +00:00
Christian Kandeler
35c17ac73a qbs build: Remove version part from plugin file names
The files now have the same names as in the qmake build (e.g. libCore.so
rather than libCore.so.4.0.82).

Change-Id: I426a8b3ff55525cc9b066bfa4288d993fe3c1b6e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-07-05 11:24:35 +00:00
Christian Kandeler
e54b53cdaa qbs build: Use precompiled headers.
It was an oversight that we haven't done this before.

Change-Id: Ic338503f6c1ca5e6c52c9af3bdbdb92b7776cac1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-23 11:45:37 +00:00
Christian Kandeler
31258ec555 qbs build: Introduce libclang module.
This is The Right Way to detect libclang. Using a Probe will also
slightly improve performance in qbs 1.6 due to the result caching.

Change-Id: I063a8d108d02b620dda2df75dd8c014c84f27ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-17 13:33:03 +00:00
Christian Kandeler
e1e203598d qbs build: Final steps to support building plugins "out of source".
- Use the entire Export block when creating a module, not just the
  Depends items. Adapt references to the product source directory
  and the "share" directory so that they point to the respective
  locations in the install tree.
- Install dev headers for some more plugins.
- Bug fixes & polishing.

Create a "dev installation" like this:
$ qbs qtc.make_dev_package:true qbs.installRoot:<install root>

Then build your plugin against it like this:
$ qbs qtc.make_dev_package:true qbs.installRoot:<install root>
project.qbsSearchPaths:<install root>/qbs-resources
(Using qbs from 1.5 branch; 1.5.1 requires a trivial wrapper project.)

That's all. Successfully tested with all commercial plugins on Linux.

Change-Id: Ie39c4717dafcd431c533421a15f2f898783d8521
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-06-15 12:35:55 +00:00
Jake Petroules
b6a6796d5b Change installNamePrefix to sonamePrefix in accordance with Qbs 1.5.
Task-number: QTCREATORBUG-16428
Change-Id: I219a388460ba359aec76671ba1a3b01ac4509372
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-06-13 12:33:34 +00:00
Christian Kandeler
f085cb2236 qbs build: More steps toward creating a "development installation".
Namely:
    - Install header files.
    - Install imports and modules.
    - Create modules from products and install them.

This is most of what we need. The main thing still left to do is
dealing with paths in Export items. These have to be translated
somehow. (Currently we only copy the Depends items out of the
Export items and ignore everything else.)

Change-Id: I12d49fa31d1c1e05bc77a0e0ce3ec9c78c27192a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-13 08:36:26 +00:00
Christian Kandeler
a0f956f050 qbs build: Introduce new module "qtc".
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").

Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-08 08:46:00 +00:00
Christian Kandeler
94d7d18404 qbs build: Remove some differences to qmake build results.
- Install library symlinks.
- Do not create symlinks for plugins.
- Skip some translations.
- Rename some binaries.
- Do not install the ptracepreload library.

Change-Id: I0faa98034154e3840cd2695cab14b72c34cfc5c3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-05-17 09:10:34 +00:00
Christian Kandeler
87e8f03c03 Set the right version number on our binaries.
While we have not encountered issues so far with using the default
values, it seems more correct to set the version so that e.g. on Unix
a library's soname contains the actual Qt Creator major version etc.
For good measure, also set the compatibility version on OS X.

Change-Id: I956c473e0b440fc87ffe1aaf99af626da733b5fb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-13 10:42:18 +00:00
Christian Kandeler
4d5a8368a7 Build documentation also when using qbs.
Change-Id: I17330fa27effc633a06bc8f0a5864e771b831476
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-04-27 07:05:19 +00:00
Oswald Buddenhagen
3c2f0096ea Merge remote-tracking branch 'origin/4.0' 2016-03-22 15:23:12 +01:00
Christian Kandeler
ed224796f1 Fix autotests build.
Change-Id: I5b0ea5df0a7321c6938146a5a03b089c837ff642
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-22 14:19:07 +00:00
Christian Kandeler
0bbd8a85d3 Fix project resolving with qbs master.
Change-Id: Iee12398a4897d795ea5b8b6cadfec8f234ba069d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-03-22 14:00:51 +00:00
hjk
2baa1f8b77 Bump required Qt version to 5.5
Change-Id: I4f152bde842c20b0dade863ffea118fe32322c5b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-21 13:44:13 +00:00
Christian Kandeler
a57f930036 qbs build: Adapt to new implementation of qbs.FileInfo.
We cannot pass in a relative path as the first argument of
FileInfo.relativePath() anymore, which we relied on in some places. The
old implementation assumed that if both arguments were relative paths,
they had an implicit common base directory.

Change-Id: I55ee62e478da761cf085587c57220d5fb1ac990e
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-03-02 09:46:37 +00:00
Nikolai Kosjar
b7bc044b00 Clang: Require llvm/libclang 3.6.2 as minimum version
...since we had crash issues on OS X with 3.6.0/3.6.1.

Released packages are already shipped with 3.6.2.

Change-Id: I364288d5c7dc32beacbbdbc231c2be4e6a6818bf
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2016-01-14 09:00:33 +00:00
Yuchen Deng
a759fb509a Clang: Fix wrong library import on Windows
Change-Id: Iceab41ad8d8a680de39c455aba6961842a34183c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-01-05 10:41:07 +00:00
Yuchen Deng
856370b61b Clang: Fix libclang depends detect on Windows
Change-Id: Ib29a193ccfa177cbfbd0f4e8111aeb2f754dddb6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2016-01-05 05:15:46 +00:00
Christian Kandeler
f97e5f1545 Fix Qt Creator executable installation for qbs.
Commit 59ac67c0bb broke this for non-OS X.

Change-Id: Iac23a3e37bd9964af4ffb79be256f59c0b0fedb9
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-12-07 13:26:05 +00:00
Jake Petroules
59ac67c0bb Qbs: properly install Info.plist, PkgInfo, and app icon.
The icns files have also been moved into an asset catalog because
"source code" as a rule should be stored in the preferred form of
modification.

Change-Id: I883db5704a46d8d7cf601f7fb4471619ebbc34bf
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-21 16:18:51 +00:00
Jake Petroules
d60e3010e8 Qbs: Adapt rpath handling to how it is normally implemented on OS X.
When using rpaths on OS X, the install name prefix should always be set
to "@rpath" and the rpaths should be appropriately set to the locations
in which that binary looks for its dependencies.

While this change is behaviorally identical, it brings the project
setup in line with how developers expect these properties to be set, and
thus reduces confusion.

As an aside, it now correctly follows the principle of relocatability
(install name prefixes like @rpath/Frameworks are only partially
relocatable as opposed to @rpath alone which is fully relocatable).

Change-Id: I7b5cc7a316d2608037ea9ab087029baa85aee2ba
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-08-21 20:53:31 +00:00
Jake Petroules
46910b46c3 Adapt Qbs code to latest changes.
type: application actually does nothing now, as the application type is
used for both bundled and unbundled products on Apple platforms.
Instead, consoleApplication being set to true influences Qbs not to use
a bundle.

cpp.infoPlistFile became bundle.infoPlistFile in Qbs 1.4.

Change-Id: I6540aa91b2db61ed4cbf2ff30bd46d69db5f9d92
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-08-21 20:51:12 +00:00
Eike Ziller
cd5f9f6ff8 Merge remote-tracking branch 'origin/3.5'
Change-Id: I7b3ef276d438ff0f184a649153e8aeec08a9f8c9
2015-08-04 13:16:03 +02:00
Nikolai Kosjar
5abfef609a Clang: Check for required mininum LLVM/Clang version
...otherwise, if the compilation fails, the user is left without any
hint.

Change-Id: I753aefac0c9fbd24b148235e792fe3b3a2aea21b
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-08-04 09:25:53 +00:00
Christian Kandeler
d667a23c46 qbs build: Add missing import.
Change-Id: I69b38900dc7b27f1e63b699172000c3d5a208005
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2015-07-31 09:39:09 +00:00
Christian Kandeler
4d81239051 Adapt RPATHs to new libexec path.
Task-number: QTCREATORBUG-14725
Change-Id: I4b5c76faa878897ca7fbf1fe01945550a2d82964
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-14 08:56:41 +00:00
Christian Kandeler
0b31635a32 qbs project files: Qualify access to product properties in Export items.
Such items behave "module-like" and one should therefore not count on
them having access to the scope of their parent item.

Change-Id: I8a323ae31218c6b1ee721ffaa65c04ccf08943bc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-30 14:16:45 +00:00
Marco Bubke
e2f8a9883b Introduce codemodelbackend process and library
This is a partial result of wip/clang-oop. More will follow.

This allows us to invoke the completion out of the Qt Creator process
and thus safes us as against libclang crashes.

At this point only the completion use case is supported.

Some notes on the individual components:

 src/libs/codemodelbackendipc
  * library encapsulating the inter process communication handling
  * used by the backend application and in a follow-up change by the
    creator integration

 src/libs/3rdparty/sqlite
  * version 3.8.10.2
  * dependency of codemodelbackendipc, will be used to storage indexing
    data, among others

 src/tools/codemodelbackend
  * the backend application

 tests/unit:
  * unit tests

Change-Id: I91a48e27467581a22fb760a18d8eb926008fea60
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-06-03 14:22:09 +00:00
Christian Stenger
403008cc27 Raise minimum Qt version
Has been forgotten in 9d86b7ed4e.

Change-Id: I4725d98d87b4cd44b363a15d5cdcc61eac4e13f0
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-04-09 11:50:53 +00:00
Orgad Shaneh
044eeacde5 Load only tested plugins when invoked with -test
By default, a clean settings path is used for test environment.

All the default plugins are loaded, although they're not needed.

This change significantly improves loading time for tests.

Change-Id: I24254f3e538e3f0e6d233d0989738dc1ce238209
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-24 06:22:03 +00:00
Christian Kandeler
c0c9a83409 qbs build: Make use of cpp.cxxLanguageVersion.
Change-Id: Ia2f1870ec67ced58ad95bc6e1953575df2b88cd8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-01-20 17:50:18 +01:00
Christian Kandeler
1199a93fc0 qbs build: Make use of AutotestRunner.
And fix some autotest project file problems uncovered by this.

Change-Id: Id2f46aeab31ccfbcffe43bd23af8115c69f57849
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-19 15:10:36 +01:00
Christian Kandeler
9d677e3302 qbs build: Remove unneeded import statements.
The respective items are available without it.

Change-Id: Idc840cf08e7bec84f561c096afe8de25b1fb8468
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-11-10 15:45:14 +01:00
Eike Ziller
b5b6a46b4e ExtensionSystem: Use Qt 5 plugin metadata instead of .pluginspec files
Change-Id: I2b2c704260c613985a4bda179658ec1f8879e70f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 15:11:24 +02:00
Eike Ziller
deea0022f7 Fix library and plugin paths
OSX: Move libraries from PlugIns/ to Frameworks/
other: move QmlDesigner plugins to plugins directory

Change-Id: Ia266a3514ce6a496061daa044b3781daae0bc272
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-02 09:24:10 +02:00
Eike Ziller
b5ecaff32c Qbs files: Raise Qt requirement to 5.3.1
Like we have now for the qmake build too.

Change-Id: I00a4cc01f35a4d93b52951c5591dadd4b6aa5e79
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2014-08-29 07:49:03 +02:00
Christian Kandeler
99baab0429 qbs build: Hide symbols by default.
Like the qmake build does.

Change-Id: I0791e5d09741718d356d869faa04c066ffe56f72
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-23 17:32:10 +02:00
Christian Kandeler
01addecb8d qbs build: Get rid of CopyTransformer.
That item was using a directory as an output artifact, which was only
working by accident and often caused warning messages about failure to
remove files.
Use a proper module instead, which is the nicer solution anyway.

Change-Id: Ib75a0ce26a24c78eb5421367995a8fc72f6a3c2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-17 13:08:30 +02:00
Christian Kandeler
cbeb77030f Autotests: Fix qbs build.
The semantic change in product.buildDirectory broke some autotests.

Change-Id: Ic9336f1e9341adacd1daa763b7ba729d7973fe58
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-16 14:02:19 +02:00
Christian Kandeler
60abd3f0a1 qbs build: Add convenience function for reading process output.
Change-Id: I998ec20de032b59448585c851e79912010cdac08
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-02 11:43:53 +02:00
Joerg Bornemann
272176ca0b QbsProjectManager: Fix rpath on OS X.
Task-number: QTCREATORBUG-12473
Change-Id: Ia470605c1e975c0697d25734bdc7e11d19ac7944
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-06-26 13:48:27 +02:00
Christian Kandeler
fbb0d12961 qbs build: Only pass "-stdlib=libc++" to clang on Mac.
This is also what the Qt mkspecs do.
Otherwise we get linker errors on some installations
(where libc++abi is required).

Change-Id: I1f204da8825ae4dfd4650b921c8e3f32e0ad6380
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-23 14:31:32 +02:00
Christian Kandeler
ca3c03c4d3 Autotests: Fix qbs build.
We accidentally added QT_NO_CAST_FROM_ASCII to the compiler command line
in the last patch.

Change-Id: I503d5b328d2ffb9812cd8cf79b5d52c8a76f07df
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-22 18:20:46 +02:00