1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 08:55:25 +02:00
Commit graph

32 commits

Author SHA1 Message Date
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
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
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
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
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
Doug Schaefer
e371ba0919 Updates for Core Build.
Change-Id: I8720d5b57e335adde538838790c3ecdd465a7ed7
2016-10-12 19:19:19 -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
Marc Khouzam
cd559dafaf Update version to 9.1.0
This commit used the script releng/scripts/ChangeFeaturesVersion.sh

Change-Id: I8274a6e8dd5c0f1e450f07952e138b265a441a62
2016-08-17 10:11:57 -04:00
Doug Schaefer
20c4e5ba88 Get CMake projects created and building. New C/C++ Project Wizard.
Fixed up CMake new project creation. Hooked up the CMake build config
properly.

Introducing the New C/C++ Project Wizard that hold all the new project
types: Arduino, Qt, CMake.

Change-Id: I9f9c8b1f51b136515fe226c15059cdbb99106275
2016-08-10 11:17:41 -04:00
Doug Schaefer
2c4921bca0 Add binary parsers to new build system. Clean up some toolchain stuff.
new build configs now support binary parsers which are by default
driven from the toolchains. Ran into problem with new versions of
toolchains. Added versioning info to toolchains to take that into
account.

Change-Id: Ie1fb7755e84239b525dca0ae11759027a0b44574
2016-05-10 16:05:53 -04:00
Doug Schaefer
7139dc2f1e Modernize Arduino plug-ins. Adjust APIs to suite.
Change-Id: Ic877c8f0992874e647d4b464502165d7bd3ebe0e
2016-04-28 11:14:07 -04:00
Alex Blewitt
12904409a3 Bug 492304 - Fix NLS warnings
Eclipse warns if a String literal does not have a `//$NON-NLS-<n>$`
entry at the end of the line. However, for historic or formatting
reasons, many such occurrences in the CDT source have an intermediate
whitespace, such as `// $NON-NLS-<n>$`

Fix these so that the whitespace is removed between the // and $
characters.

Change-Id: Idc12398fe6e9d619af1d0b1b73fb8b6180da223c
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-25 22:53:30 +01:00
Doug Schaefer
7043af66fb Major change to new build arch to give configs more power.
Creates a single central CBuilder builder which find the C Build
Config and delegates the builds to it. That give configs full control
over the builds. Qt and CMake build configs are adapted to this new
structure.

More features are added to the default super class for configs.

Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
2016-04-23 22:35:33 -04:00
Doug Schaefer
e090d78f94 Remove build.core from cmake.core. How did this pass verification? 2016-04-14 16:35:10 -04:00
Doug Schaefer
6e1b9b408d Tighter integration of new build system with cdt.core.
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.

Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.

Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.

Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
2016-04-14 16:19:37 -04:00
Marc Khouzam
2ad68f7f80 Update copyright dates
Change-Id: I94ac38c37657e270f62db9bbd2859c2c6de40e5f
2016-02-11 01:50:14 -05:00
Doug Schaefer
cba0b62a96 Make a couple of more things common. Clean up scanner info.
Make the build folder common for build configs. Makes things
consistent.

Also make it clear that we are caching scanner info with the
names of the API calls.

Change-Id: I1da0d90b3358065e28e437d0dfeea730e13c9aef
2016-01-20 10:30:25 -05:00
Marc Khouzam
b745736775 Incremented CDT features version to 9.0.0
This includes bumping the standalone debugger to 9.0.0

Change-Id: I55fae1cec995b5f6865a5b174c004ed1b76e9bea
2016-01-18 16:37:47 -05:00
Doug Schaefer
c3bfd4daee Fix up launch bar setting for cmake.
Change-Id: I0000000000000000000000000000000000000000
2016-01-16 22:53:47 -05:00
Doug Schaefer
6ba6157708 Bug 481126 - Add hyperlink support to open decl in QML editor.
Also moved the text package contents to the editor package.

Change-Id: I352f8cfa78e937fb4046f86df8c7767df6c5eff2
2015-12-08 11:27:15 -05:00
Doug Schaefer
6f36a51b5b Bug 174176 - initial contrib of CMake support.
Change-Id: I7f0417bd92415aa9abb24ebabe849d9e4f75cea5
2015-12-04 20:30:44 -05:00