1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 06:32:10 +02:00
Commit graph

2858 commits

Author SHA1 Message Date
Doug Schaefer
43e62924a1 Bug 498171 Propagate scanner info fix for Arduino.
Change-Id: I3ed23049f0364d8fe989f1fa0d8a9b7b47378f32
2017-05-16 20:57:17 -04:00
Jonah Graham
f14ee6a61d Bug 314428: speedup build console - better handle duplicate markers
This changes the algorithm used to handle duplicate markers when build
is running.

Change-Id: I8d8b61edd80ae4da4c0e0eea3806b0efecb570e0
2017-05-12 11:50:08 -04:00
Doug Schaefer
582a7c10d5 Bug 515990 - Fix constant reindexing in CMake projects
There were issues with how the Core Build calculated whether reindexing
was required due to compiler settings changes. Also if a source file
was built more than once in a CMake build, it ended up always
triggering a reindexing since the second instance looked like a
settings change. We now only use the last compile command for a file.

Change-Id: Icf2922e527ae20e0c3b0dae898d981d334013109
2017-05-02 10:14:13 -04:00
Jonah Graham
cc0955b823 Bug 515560: Avoid indexer race condition by joining the indexer
Change-Id: I13bd33adba4eb790fae0c31d2c1378e19a59f4ff
2017-04-24 07:31:54 -04:00
Doug Schaefer
cfdb9c2ad8 Fix issues with CMake. Arguments not passed. Local GCC prefix wrong
I added cmake arguments in the launch configuration for CMake
projects but didn't add it to the command line.

Also indexing wasn't working on my Mac. llvm-cc overrode the standard
local cc. Added the local compile commands if the toolchain is local.

Change-Id: I914c52dd42fbf84b87cd0e8c7504f024c2449a82
2017-04-21 11:10:48 -04:00
Jonah Graham
0fc24a0c78 Bug 515374: Stop using user.home as a temporary directory in tests
Change-Id: I20533ba4910ae9d691f51533183b4f475eaa5bbc
2017-04-19 03:36:54 -04:00
cartu38 opendev
a27309d507 Bug 514385: defaultValue-generation for a build-option
Change-Id: I15550a75206baf906285d3fc7becb491cac13ffa
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2017-04-18 09:06:51 +01:00
Jeff Johnston
795a90288b Bug 497670 - Support compiler provided "fix-it" hints
- add new FixitErrorParser that extends RegexErrorParser and is
  used to replace the error parser for GNUCErrorParser
- add new FixManager class to bind a fixit message with its
  problem marker
- modify ProblemMarkerFilterManager to register the last
  accepted ProblemMarkerInfo for a particular resource so
  the FixitErrorParser can find the last error marker for
  the file that precedes the fixit message
- FixitErrorParser looks for fix-it messages and binds them
  via FixitManager to the last error marker for the file
- add new Fixit class to contain the details of a gcc fix-it
- add new QuickFixForFixit which applies the gcc fix-it for the
  file
- add new (.*) regex in codan.ui.checkers patterns that will
  trigger before any other error and will look for the
  fix-it message format
- change cdt.core to expose cdt.internal.errorparsers to
  codan.checkers.ui
- change codan.core to expose codan.internal.core.model to
  codan.checkers.ui
- fix CDocumentProvider.setOverlay method to not overlay
  a CMarkerAnnotation that has a quick fix
- when deleting all C problem markers, also make a call
  to FixManager.deleteAllMarkers() so markers aren't
  left referenced

Change-Id: Ibf8ff7d8addb1bf092dc4ef35de0d92de0309589
2017-04-17 20:01:27 -04:00
cartu38 opendev
6b88578458 Bug 514244: ability to add custom wizard page prior project creation one
See : https://www.eclipse.org/forums/index.php/t/1084842/

Original (WizardNewProjectCreationPage) getStartingPage() cast within
getMainPageData() method was obviously forcing first wizard page type
... provided basic trick is opening some opportunities more !

Change-Id: Ie9b7c4ef63040df6a419af8348f088be79cc2611
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2017-03-27 12:24:26 +01:00
Alexander Kurtakov
2268403e02 autotools: Restore API.
It's unused but still we have to keep it.

Change-Id: I9f23e09c0ce62bf88f6cc490a7c0c31852b6fd16
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-03-25 03:05:46 -04:00
Alexander Kurtakov
d35f9e1a60 autotools: automake/autoconf generic editor.
Reorganize code and expose things for generic editor.
So far presentation reconciler only is ported.
Allows to right-click/Open with/Generic editor on e.g. Makefile.am and
see it in the generic editor. It is not as feature rich as the
specialized editors we have now but over time it should provide all the
features of them with significantly less code.

Change-Id: I72324b94ce08ab762979804914adbb1982c88198
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-03-23 16:54:04 -04:00
Alexander Kurtakov
5bec70f68f Remove unneeded casts.
Change-Id: Ie506aa209db9be9c56ed8d80c0c97634c6f0cecf
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-03-23 04:35:03 -04:00
Alexander Kurtakov
93623a1a04 Generify ListenerList.
Generified, some lamnda conversions and some non-javadoc removal.

Change-Id: Ibf0493917ac3da7531de1ca591a9bfdc250ddf2a
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-03-23 09:25:24 +02:00
Simon Marchi
c59a4c4d7c Bug 513860 - build: Change id of pthread option
There is a collision in the ids of the pthread options,
"cdt.managedbuild.tool.gnu.c.pthread" is there twice.  Change the ids to
be more in line with the other options.

Change-Id: Ice9d003b82b3740df6420811e90a2b157375c243
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2017-03-19 19:15:02 -04:00
John Dallaway
57332b1d1d Bug 513763 - Save workspace following headless build
Change-Id: I657f8bf8155dd669921caef951d16e23601f01ad
Signed-off-by: John Dallaway <john@dallaway.org.uk>
2017-03-18 17:01:27 -04:00
Simon Marchi
a2160bd5f1 Bug 464916 - Add a -pthread checkbox in the GCC C/C++ Linker settings
Change-Id: Ib06482847e88a327b3e3dccf1522d5f8dab1a72b
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-03-17 16:00:29 -04:00
Marc-Andre Laperle
00b30bb03a Bug 512096 - Fix NPE selecting an LLVM toolchain in toolchain editor
When a toolchain is selected along with its builder, the builder gets
matched to a “real builder” (ManagedBuildManager.getRealBuilder). If the
builder is abstract, the builder is not in the possible list of matches,
as implemented in Builder.getMatchKey. This causes
getCurrentBuilderCompatibilityInfo to return null which is not handled.

This patch changes the base LLVM builder to a non-abstract one, which
solves this specific NPE.
Also, in order to be more helpful to the user in case it happens to
another toolchain, a null check was added with an error message that the
builder is incompatible. Then at least, it is more clear that something
is wrong and the user can pick a different builder. 

Change-Id: I4d26c568dfe6307b496719c10908a36933fd3ab8
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-19 21:51:36 -05:00
Marc-Andre Laperle
0046099052 releng: Make use of Tycho POM-less functionality
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.

- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
  - One for UI tests (UI present and start in UI thread)
  - One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations

Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-13 23:19:56 -04:00
Marc Khouzam
8d0a0717e2 Auto-generate source features using tycho.
This commit removes explicit source features and has tycho create them
automatically, along with all other source features that were not
previously defined.  The logic to auto-generate is in the root pom.xml

For all pre-existing source feature, the name presented to the user has
been changed to use the default name used by Tycho, which is "Developer
Resources".  This will provide a more standard user-experience with
respect to other source features built by Tycho.

Existing SDK features are kept for backwards compatibility.

All the names of the auto-generated source features that replace an
existing source feature have stayed the same except for the
'testsrunner' feature; for that one name change, a p2.inf file is added
to allow upgrading from the old named feature to the new named feature.

Change-Id: Ie632e798c93898fd828f88df4983fc43e2749d22
2017-01-25 16:14:03 -04:00
Marc-Andre Laperle
6cad124cf0 cmake: Fix missing NLS messages
For example, opening the CMake property page, there was a missing
message for the cmake-ui button.

Change-Id: I126fe1cb6e290edc289a2dade44500dd35ed1207
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-01-16 13:36:44 -04:00
Morten Kristiansen
10428dd53a [Bug 340300] Fix parallel make when using pre-build steps
Pre-build will always run in parallel to compilation of source files
unless each and every source file depends on pre-build. Also, when
parallel build was enabled, the "Make build target" under "Workbench
Build Behavior" was ignored. Instead of doing make -j all, Eclipse ran
make -j pre-build main-build. While the intentions are good, make will
attempt to build pre-build and main-build in parallel for previous
stated reasons.

This patch changes two things:

1. Eclipse will consistently respect the "Workbench Build Behavior" for
both single- and multi-process build.
2. The generated makefile is changed to guarantee pre-build is run
first.

   Changed from

       all: pre-build main-build

   to

       all:
           $(MAKE) --no-print-directory pre-build
           $(MAKE) --no-print-directory main-build

Change-Id: Icf3a1057ee3b3cc8a04a433820492a4f469e17dd
Signed-off-by: Morten Kristiansen <millibit@gmail.com>
2017-01-03 08:26:18 -04:00
Christian Sell
e0c3180f80 Bug 503153.Fixed NPE in GCCToolChain.getDefaultScannerInfo()
Change-Id: I51c4d4c2e517fc5743b180c99212dc9c3b8134ed
Signed-off-by: Christian Sell <c.sell@byterefinery.de>
2016-12-15 10:44:05 -04:00
Jonah Graham
a6e77633bd Bug 509248: Disable unstable/intermittent SWTBot based tests
Change-Id: I97b764c2aa695fed32a9c39232ba53522383deca
2016-12-14 19:44:08 +00:00
Alexander Kurtakov
67648e0396 Fix cmake feature to use license feature for proper license.
Change-Id: Iec4d07db7f73f38fe72fe698fede2b380052879d
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2016-11-30 21:45:30 +02:00
Doug Schaefer
2e2431dd27 Fix NPE in CMake clean when generator not selected.
Change-Id: Id019a84aaffd597374bc3347229a554acf8d5dce
(cherry picked from commit cb14b447f8)
2016-11-21 15:31:06 -05:00
Marc Khouzam
8cf5ed53f2 Update version to 9.3.0
Change-Id: Ic953ccc5d38ff3661ca44de21ed8c4b7dad5b246
2016-11-15 20:32:51 -05:00
Marc Khouzam
334777eb6e Update version to 9.2.0
Change-Id: I36ad4218b20b8ea70584c89f5be45c757bf4c714
2016-11-14 23:50:05 -05:00
Doug Schaefer
88b2f8564a Fix up feature names for Neon.2 SimRel repo.
Change-Id: I5436457e553610d0676cc87385c2986040e04f2a
2016-11-14 18:24:02 -05:00
Doug Schaefer
a6c3d5d3f4 Mark CMake feature as experimental.
We will the put it into the simrel repository so people can try it out.

Change-Id: Ie7bd94062cfb236f266e413a8350c214ccdadb2c
2016-11-14 16:52:51 -05:00
Doug Schaefer
03051c91ab Implement Qt build tab for the launch config dialog.
Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.

Change-Id: I54a61b4d2520a0952c43608169747e792826062e
2016-11-11 16:24:40 -05:00
jantje
5cafc1413a Bug 422378: allow case of getOutputNames() returning null
Allow GnuMakefileGenerator to completely ignore an input file

Change-Id: If4b45db8482b273f4729211d55cfa4f201760b29
Signed-off-by: jantje <eclipse@baeyens.it>
2016-11-08 21:07:28 +00:00
Doug Schaefer
fa84dad370 Make launchMode a core thing and add Debug for CMake configs.
Change-Id: Ie431824dddda07cd6985e5b644970eb525280577
2016-10-20 20:01:52 -04:00
Doug Schaefer
78ba80e1d5 Add New Empty CMake project wizard.
Change-Id: I6f4fc0db27a863700eafcac751fa168dc32d96d5
2016-10-19 18:32:48 -04:00
Doug Schaefer
5540c75ce0 Fixes to remove duplicates and invalid CMake toolchain entries.
Change-Id: I1a8212945428b00d332b9f78c5a3eb81091f3fe6
2016-10-17 23:11:52 -04:00
Jonah Graham
4d0a556446 Bug 505868: Split clean command when cleaning lots of files
This change overcomes the Cannot run program "rm": Command line
too long error when there are hundreds to thousands of files.

This change only applies to the interal builder.

Change-Id: Idc32067e27d76e3b438b2b1a07376859c7c8d1e4
2016-10-14 09:56:25 -04:00
Jonah Graham
33d12e75c9 Cosmetics
Change-Id: I584622013f810d8ac51dcb618074663a79cd5b19
2016-10-13 15:00:03 -04:00
Doug Schaefer
e371ba0919 Updates for Core Build.
Change-Id: I8720d5b57e335adde538838790c3ecdd465a7ed7
2016-10-12 19:19:19 -04:00
Sergey Prigogin
33f0522906 Generification and other code cleanup.
Change-Id: Ifb35a80ec8cf563c5635078db947768d1a7aa6ff
2016-10-06 16:36:21 -07:00
Andrew Gvozdev
91e227142b Bug 501763: NPE in MakeTargetActionProvider
Change-Id: I998f118b1624df2ea3caa2295297261f21b02dda
2016-09-25 21:56:41 -04:00
Sergey Prigogin
53ec9571cb Cosmetics.
Change-Id: I78635ca74bffd3df7b51f87e70464e99dd699324
2016-09-25 11:22:05 -07:00
Doug Schaefer
fb533553c8 Fix to better handle build output parsing random text.
Handle failures when trying to find the resource at the end of
a command line when it's not really a command line.

Change-Id: I7dc94a2c45c758248d0402c253e077142ee050e3
2016-09-16 10:46:47 -04:00
Doug Schaefer
33f528d1ee Add empty tab group and icon for core build local launches.
Change-Id: Ifa522f49888518e2a04263316baddc8e3c507fd0
2016-09-12 15:15:07 -04:00
Doug Schaefer
b26917be90 Introduce Core Build launches and Launch Bar integration.
Unify launching for projects that use the new Core Build system.
Starts with CMake projects. We'll do Qt projects next.

Change-Id: I14af8e99decd54cc6548095b3ad3e054c550aea2
2016-09-12 11:14:17 -04:00
Doug Schaefer
91c342b77c Clean up CMake build.properties files. 2016-09-06 19:49:34 -04:00
Doug Schaefer
9c8bcb28c8 Allow participants in CMake toolchain file management.
For ESP8266, I want to auto discover the toolchains and friends
installed into Eclipse. I also want to handle toolchain files
manually added by the user. Adding providers and listeners.

Adds prefix to gcc commands. Makes CMake config provider for Local
only. ESP8266 has it's own launch config. Add build output to the 
build config model. And fix up output folders.

Change-Id: I682c3d08898e5ca275d07f8bb63c6ec1c7605a81
2016-08-31 15:03:29 -04:00
Doug Schaefer
5426847cbb CMake and build architecture changes to improve launching
Right now launch configuration delegates need to know too much about
the specific build system for a project (cmake versus qt, for example)
Start decoupling this and test out the theory with CMake.

Change-Id: I8a362f16cddca77b37a5ab5920ee19318035d478
2016-08-29 17:54:34 -04:00
Doug Schaefer
7ad8cbe626 Missed updates from last CMake change.
Change-Id: Ie4d8a389c2288e35261b6519971cb0e27a7354fb
2016-08-26 13:42:30 -04:00
Doug Schaefer
50bc082f84 Bug 174176 - Hook up CMake build to LaunchBar to select toolchain files
Use launch target os and cpu arch properties to pick toolchains and
toolchain files. UI to add toolchain files. And build support.

Also some clean up of Qt as I found bugs.

Change-Id: Icd1da43460b5954eea15e95ed8ec27850fc4e54e
2016-08-25 16:49:28 -04:00
Doug Schaefer
6c6901547e Scanner discovery for CMake projects.
Reads the compile_commands.json file and feeds the commands into
the processLine method of the build config which creates the scanner
info. The scanner info is cached in memory and stored in the
metadata directory.

Change-Id: I8b04e661dfe767904d1c10119c07167fee8cd7e4
2016-08-23 01:05:13 -04:00
Doug Schaefer
4afa9e24da CMake updates. Clean, error parsers, add to category.xml.
Make CMake public with the change to category.xml. It's getting close
to being usable in 9.1.

Change-Id: If3e80aa5d5314cb42bbf0d253157d7ecb7d13046
2016-08-17 15:30:45 -04:00