Commit Graph

11 Commits

Author SHA1 Message Date
Christian Stenger
17e0c2b044 Nim: Fix building with nimble
Do not expect nimble to be in PATH, but assume it is
located where nim resides. Use kit's information of
nim to construct the nimble path and add the path of
nim explicitly to the build environment as nimble
uses it.
Also fixes running nimble test.

Change-Id: If7be425f7b811486afe39fc1618709dbb2f75ac9
Reviewed-by: hjk <hjk@qt.io>
2020-09-02 06:01:27 +00:00
hjk
7827eb92ce Nim: Adapt to recent buildconfiguration changes
Change-Id: Ib1d893f9e6d7c6c78bd4dded7a7d6434e6727a0c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-11-29 15:01:30 +00:00
hjk
c2127c9ec4 ProjectExplorer: Introduce and use a Target::buildSystemUpdated signal
Change-Id: I497d46866146600a1ed9162bd720c574ee4d4769
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-21 13:08:06 +00:00
hjk
738bbf1a87 ProjectExplorer: Introduce per-buildsystem setRootProjectNode
Currently diverting to the original Project::setRootProjectNode.
Idea is to focus on the BuildSystem <-> generated tree relation.

Change-Id: I8b20173e364713f0919cf4f8b76a2f79ef8770bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-21 07:40:22 +00:00
hjk
2758682723 ProjectExplorer: Move BuildSystem owership to BuildConfiguration
... or Target.

This patch moves build system from conceptually "one per project"
to "one per target (i.e. per project-and-kit)" or "per
BuildConfigurations" for targets where the builds differ
significantly.

Building requires usually items from the kit (Qt version, compiler,
...) so a target-agnostic build is practically almost always wrong.

Moving the build system to the target also has the potential
to solve issues caused by switching targets while parsing, that
used Project::activeTarget() regularly, with potentially different
results before and after the switch.

This patch might create performance/size regressions when several
targets are set up per project as the build system implementation's
internal data are duplicated in this case.

The idea is to fix that by sharing per-project pieces again in
the project implementation once these problems occur.

Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-19 11:05:52 +00:00
hjk
0120e462b2 Partial compile fix for current Qt dev and/or Qt 6
This does not cover Utils::MapReduceOption with QVector, and code
that's not compiled on my machine.

Change-Id: Ib63923985c52b1bb74e5ec2068a2bb37469ac618
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-11-12 10:50:51 +00:00
Filippo Cucchetto
c75c4b2d0e Nim: Add support for the nimble build system
Change-Id: Id3bd977f14bc9d2ec3fa92e162238bbff0513de1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-11-04 16:35:13 +00:00
hjk
66c7d75dbd Qbs, Qmake, Python, Generic: Introduce BuildSystem derived classes
... and move context menu action handling there.

This is a temporary measure to be able to move that functionality
alongside the actual BuildSystem to the BuildConfiguration.

There is a lot to be cleaned up left, to keep the patch small.

Change-Id: If4b0820a13b376fc97b70785052924972ce22705
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-10-25 07:55:10 +00:00
hjk
ee98d3a0a8 Nim: Work around deprecation warning
Amends 67349baded.

Change-Id: Id1e7c455932c8cbf6f89601502a8c3ef049d2d6f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-30 11:28:41 +00:00
Tobias Hunger
246277c570 Nim: Disable non-".nim" files in project tree
Change-Id: If1493bbf0ff7055e326753cf563080c0bbf850b5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
2019-08-29 07:30:51 +00:00
Tobias Hunger
67349baded Nim: Introduce a NimBuildSystem
Change-Id: Ib9bdf52939c88f01fe861308d0c08b5c69efa624
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-29 07:29:41 +00:00