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

2933 commits

Author SHA1 Message Date
Jeff Johnston
1ce1b3df5f Add Meson UI tests plug-in
Change-Id: Ib5af6980e90963876307f719a73f911394e72e1a
2018-03-22 15:57:46 -04:00
Jeff Johnston
60affd8b9f Bug 532420 - Make Container Core Build indexing more efficient
- add new ICBuildConfiguration2 to keep API checks happy
- remove refreshScannerInfo method from ICBuildConfiguration and
  put it in ICBuildConfiguration2
- make CBuildConfiguration implement ICBuildConfiguration2
- update ContainerPropertyVolumesModel to use new Docker plug-ins
  using docker-client 8.9.2.
- fix MesonBuildConfiguration to use a job for each compile line being
  processed, then wait until all jobs are done before causing
  an reindex to occur (this will maximize parallelism when building
  in Containers)
- fix ContainerCommandLauncherFactory to save the project so we
  can exclude project directories when copying header files using
  the new Docker Tooling interfaces
- fix CoreBuildLaunchBarTracker to use ICBuildConfiguration2
  interface to make the call to refreshScannerInfo


Change-Id: I2138f5111614e7821e46c22731397a01035eac0a
2018-03-19 21:50:31 -04:00
Alexander Kurtakov
84d6fdefaa Sonar fixes in Meson plugins.
Change-Id: I27a75d6dac41ae820d6af0b7c30922eb5bac58f7
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 10:40:53 +02:00
Alexander Kurtakov
c158b0bdd2 Use lamdbas.
Change-Id: Iece00d9c1af64bb0218a41519e995d33d8edee31
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 03:23:00 -05:00
Jeff Johnston
d468345bc3 Add Meson docs plug-in
Change-Id: I9153edd6f2708de475855ca3dbdb6323432e37ac
2018-03-07 12:15:56 -05:00
Jeff Johnston
82b0f6ab28 Bug 531985 - Support Container build with new Core Build
- add support for Container build to Meson
- add fixes to MesonBuildConfiguration clean build to use sh -c
  like normal meson build
- add new refreshScannerInfo method to MesonBuildConfiguration to
  re-process the commands json file so indexing will correctly
  switch from local to Container build and vice-versa
- add MESON_PROJECT_ARGUMENTS to IMesonConstants
- in MesonBuildConfigurationProvider getCBuildConfiguration
  method, remove checks for toolChainfile and for Container
  build, name the configuration based on the image name

Change-Id: Ia8a85c05e0cb9d46d2987ed4d39fcee914302467
2018-03-06 14:48:48 -05:00
Doug Schaefer
10c5897080 Remove extra colon in CMake build output.
Change-Id: I624d7e7079a3c1473fb591e24af1f7dcdd6617dd
2018-03-01 15:25:24 -05:00
Alexander Kurtakov
33291e5989 Move to wikitext 3.0.23.
Change-Id: Iaf8a7698106bf38578907f4fdab27f0cc20a0763
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-26 23:29:16 +02:00
Alexander Kurtakov
61442cf3be Bug 530000 - Add Meson Build support
Editors for meson.build, meson_options.txt and *.ninja files. Just
highlighting for now based on textmate grammars.
Added tm4e to target to enable resolving tm4e bundles.

Change-Id: I22859b2d39a96dcd777ee96d2a5e7465e4884839
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-21 04:46:04 -05:00
Jeff Johnston
dcfc276062 Bug 530000 - Add Meson Build support
- use sh -c to invoke meson and ninja commands so that
  the default environment including PATH is set up
- don't bother trying to find the commands locally and
  don't bother trying to find local environment (only
  use env options from property page or run ninja command)
- add a check after running meson to ensure that
  ninja.build file gets created, otherwise issue error
  message and stop build
- fix comments for RunNinjaPage
- add future Container support by allowing a special
  target OS when checking for isLocal build

Change-Id: Ie8d736c0909b44fe8db14265afbc8b05262b51f3
2018-02-19 20:37:43 -05:00
Jeff Johnston
70151ce491 Bug 531360 - Run ninja menu item is showing up in Docker views
- fix visibleWhen attribute of menuContribution
- also fix some warnings due to command not being set up
  properly

Change-Id: I8b5239b1edcd5da20201e71d23dce3bfb18c6d0c
2018-02-19 19:39:47 -05:00
Doug Schaefer
45966dd76d Fix up handling of esp32 on Windows.
Need to convert paths from MSYS style to proper Windows
native.

Change-Id: I8c459274a1eb33af026c1ae383db67c8cbcdc29f
(cherry picked from commit fea65eeb15)
2018-02-15 10:46:01 -05:00
Jeff Johnston
e31e23bb4e Apply CMake changes from Bug 530673 to Meson
- Fix issue with Meson and changing toolchains since
  Meson is based on CMake plug-ins
- Cleaned up add and remove of toolchain files and handling of when
  a toolchain changes for a config

Change-Id: I147a30454c69e3d8d86fc50c561a1667ddfb5df3
2018-02-14 13:09:18 -05:00
Jeff Johnston
3405063203 Bug 531125 - Tupled gcc toolchains should not be the local default
- change ToolChainManager so that when creating the types map for
  the first time, make it a LinkedHashMap instead of HashMap so
  order of input is preserved (first in = first out)
- fix GCCPathToolChainProvider so that it adds non-tupled gcc
  to the ToolChainManger before adding any tupled version

Change-Id: I84602a98dd4949a2f9847d4e72c428cdedd60688
2018-02-14 12:23:03 -05:00
William Riley
fdd018365c Bug 531131 - Consider superclass value to avoid unnecessary changes
Consider the superclass value when setting pre & post build steps, error
parsers, tool commands & tool command line patterns to avoid changing
the .cproject file unnecessary

Change-Id: Ida323982fe5bce7b0dd9b70eb23a6ee778be5403
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-14 09:18:08 +00:00
William Riley
689ad9f6ec Bug 531043 - Display errors/warning count for makefile & cmake builds
Change-Id: I8b2ab525af137ddd890f5713a3278cce6d17bffd
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 16:42:33 +00:00
William Riley
9a4853aa2d Bug 531106 - Modify MBS option serialize to handle empty string lists
Store a flag to indicate if an empty or null list. Existing projects
without flag will be considered as non-empty when loaded to maintain
existing behaviour for them.

Change-Id: I745c887eb2888910c6e76d5bc057d592a3d8fb3a
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 14:13:37 +00:00
Jonah Graham
3afc828ae0 [releng] Bump version to 9.5.0
Change-Id: Ie342f02f7aae633f41a7ab7d39c21e056793a04a
2018-02-13 11:25:08 +00:00
William Riley
6a72f4f07c Bug 531028 - Pass build config to all builders during headless build
Change-Id: Ia802d07e9da88fcb42274633d4321212d5eb6096
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-12 15:24:12 -05:00
Alexander Kurtakov
35bf85ebde autotools: Automate regenerating docs
Don't rely on hardcoded path to wikitext but instead use maven to
download it and call ant properly. Moved to latest 3.0.22 wikitext.
Regenerated the help with the latest wikitext too.
To auto regenerat one has to call maven with -PregenHelp.

Change-Id: Ie30779dfa4bd1c52dfa20411f810c96288daf509
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-10 17:08:33 -05:00
William Riley
5e27e4c377 Bug 530941 - Ignore editor file unless editor is active
Change-Id: Ie755f80cc01f55c0d4b9b704ff40008b8bb841af
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-09 11:36:42 -05:00
Alexander Kurtakov
aac61a6123 meson: Enable warnings
And fix them.

Change-Id: I6a1594559504764aeb325f78fa47ff103b2183a9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-09 00:03:33 +02:00
Alexander Kurtakov
3ebd99eab7 Remove unused private methods.
Change-Id: Ie3c9fa60313d7a14a1f633df2ced698e55dd75ee
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 23:22:22 +02:00
Jeff Johnston
ba7f4f26eb Add Run ninja command context menu item for Meson projects
- add new RunNinjaCommandHandler, RunNinja,
  AbstractMesonCommandHandler, and
  RunNinjaPage classes to support running ninja manually
  with env variables added and options specified
- add a new build method to MesonBuildConfiguration which
  specifies ninja options and environment variables
- add SWTImagesFactory for supplying the meson logo image
- add WizardMessages class for specifying messages for
  meson ui wizards
- add new MesonUtils class and move stripEnvVars from
  MesonBuildConfiguration to here
- add new constants to IMesonConstants interface

Change-Id: I8d635b2bd96792800bb07f4b3f1730be6e41eb24
2018-02-08 15:03:09 -05:00
Alexander Kurtakov
db1cd491d6 Remove useless imports.
Change-Id: Ie59d3942ea1df97440bd84e46a24753ed6ed429b
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 21:17:09 +02:00
Alexander Kurtakov
b4f1123050 Remove useless code.
* Else clause.
* Unused constructor in private class.

Change-Id: I51d9ac08000e9ef6364dac96e96297733335a367
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 21:11:59 +02:00
Alexander Kurtakov
b66f413759 Remove redundant superinterface.
Change-Id: Idf96b85189c03b7a30772751617281806265dcbc
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 20:11:45 +02:00
Doug Schaefer
5b29b5b5d8 Bug 530673 Fix issue with CMake and changing toolchains.
Cleaned up add and remove of toolchain files, handling of when
a toolchain changes for a config, and the launch bar tracker to
be more accurate with toolchains.

Change-Id: I1a1efdf08a5f47058552c85404fe8d602d158e73
2018-02-03 20:33:56 -05:00
Jeff Johnston
33eeb12ae8 Bug 530000 - Add Meson Build support
- rewrite unconfigure Meson Property page logic to parse the
  output of meson --help and form the controls accordingly
- do not add an entry for help option
- add environment variable text entry to unconfigured property
  page to allow the user to add things such as CFLAGS=xxxxx
- fix MesonBuildConfiguration to only use the MESON_ENV property
  when running meson for the first time and to prepend the
  current environment first to ensure local path, etc.. is
  still set, otherwise it won't be able to find commands it
  needs such as execvp
- parse the environment text string to look for entries that
  use single or double quotes so that entries may use the = sign
  or spaces
- when building, have ninja use the -v option so that the compile
  and link commands are output to the console

Change-Id: I40d04234a7de74417c43f4c39bb2e21c86deb8a2
2018-01-31 18:49:06 -05:00
Chin Huat Ang
59669d9aed Bug 530478 - Relax AC_INIT macro validation in AutoconfEditor
When AutoconfEditor is set to 2.67 or newer, relax the validation of
AC_INIT version string.

Change-Id: I65221857905e867e3eea2de219ddf68c60f6d39b
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
2018-01-31 12:30:19 -05:00
Jeff Johnston
127e71423e Bug 530000 - Add Meson Build support
- initial contribution of Meson Build support based upon
  Core Build CMake

Change-Id: I9a91901254b7750f4f5eef69ed5375a5c1cce0a4
2018-01-30 15:47:12 -05:00
cartu38 opendev
b222d73001 Bug 529448 : Allows build debug level setting to be restored to proper
value

Change-Id: I64182e241e91007fb1c1570c6c0b5231632533d4
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2018-01-15 06:07:36 -05:00
Jeff Johnston
1ae56d435a Bug 528169 - Run autotools commands within containers
- add new optional build property to run all Autotool
  commands in Container
- for Autotool nature projects only, add a checkbox to the
  ContainerPropertyTab to turn this new option on/off
- change the AbstractAutotoolsHandler class to look at the
  optional build properties for the project to determine if
  the fallback CommandLauncher used to run commands should come from
  the CommandLauncherManager to run in Container or to a
  local CommandLauncher
- change AutotoolsNewMakeGenerator the same way
- add new messages as needed (add a tooltip to warn user that
  choosing new option may cause inconsistencies for files shared
  among configurations)

Change-Id: Id828ec3015f32f320d2247bd0577944164c71df8
2018-01-10 19:47:29 -05:00
Doug Schaefer
7627e275ef Bug 529121 - NPE fix for projects created with CMake
Not sure what changed but the launcher for these projects is now
returning null for an environment. Added a null check.

Change-Id: I05c94bb77f951f417577d0c2a3e3b4b6b996214b
(cherry picked from commit be9c1b8338)
2018-01-10 12:15:56 -05:00
Jeff Johnston
7050f18ecf Bug 529386 - NoSuchMethodError in AutotoolsNewMakeGenerator.runScript
- bump up org.eclipse.cdt.remote.core so that autotools.core
  can refer to the latest version in its dependencies

Change-Id: I4ec198d7c5d367a4a479a1dd39839f3c2d8c4a96
2018-01-03 16:00:52 -05:00
Doug Schaefer
6a12755a4e Fixes for ESP32.
In the new toolchain wizard, the select button wasn't hooked up.
So I turned it off. Also, we had no build settings tab on the serial
launch.

Change-Id: I811f579334889085f49d298878589109c5e4a228
2017-12-01 16:28:29 -05:00
Doug Schaefer
d6a1c13e5c Cleanup Core Build Preference pages.
Move Toolchains directly under C/C++ and rename to Core
Build Toolchains. Add a label describing what the toolchains
are for in hope of avoiding confusion with managed build.
Also move Qt into C/C++.

Change-Id: Ia1d76087c65b26562d1001243ea355c7ac32365e
2017-12-01 14:04:51 -05:00
Doug Schaefer
d0e528d135 Fix manual include/macro settings handling for GCCToolChain.
We weren't passing in the base settings to the compiler for
discovery. Also had a bug in the defines regex that mishandled
values with spaces in them.

Change-Id: I48183bfc3f61056324da009e58327cdcfed8754a
2017-11-29 12:18:12 -05:00
Doug Schaefer
6db1357b1a Stop launch on error. Fix up set/get make commands.
We were missing the dialog to ask if you wanted to continue
after build errors in a project. We were missing the method
that provided the list of projects to do that check.

Also while testing that noticed the handling of the build
and clean command UI was broken with make projects.

Change-Id: I698e151672a114bb22c815f49d362b6413b9c315
2017-11-27 18:04:40 -05:00
Doug Schaefer
0ed7b10dea Bug 527818 - Clean up handling of missing toolchain file
If we're building for non-local targets we need a toolchain
file. Print out an error message when it's missing at build
time. Recover when one is added.

Also a rider that makes sure the Makefile projects are
marked experimental.

Change-Id: I0c295dc5b3d71a04c60c3385ce790553f172859d
2017-11-27 14:46:06 -05:00
Doug Schaefer
d9b8eb3fd0 Hook up the old Include Paths and Symbols page to Makefile projs.
Makefile projects depend on build output parsing to pick up
compiler options to use while indexing. Sometimes, that just
doesn't work. As a back up we've always allowed users to manually
add them to the project. Long ago when we had pure make projects
we had UI for this. This change hooks that old UI up. It was a
time before build configs so they get applied to them all but it
serves it's role as a backup when users run into problems.

Unmarked everything I use here from deprecated until we decide
how to replace these with Core build config aware settings.

Change-Id: I6fc4d48e5315df3c60c7591b026ae0a53a1f505e
2017-11-22 16:40:14 -05:00
Doug Schaefer
12e709427d Releng fixes, ensuring legal files are there. Removing projects.
Removed the empty debug.core.tests project. Also removed the
utils-feature and remote-feature projects since these shouldn't
be features.

Change-Id: Ib5d297c626de5328e3421a1fc9346330d9907750
2017-11-21 13:10:50 -05:00
Doug Schaefer
a90655bc04 Set CC and CXX variables to toolchain compileCommands in std build.
Also set BUILD_MODE to the launch mode so the makefile can do
different things based on the mode. Change template to add -g
option for debug.

Also fix a deadlock I detected due to side affect build folder
creation.

Change-Id: Ic7b13ba3238e6ef201cccb1b2bfc8dcc6956ea3a
2017-11-20 15:55:39 -05:00
Doug Schaefer
dc4be72b1a Fix MSYS2 so that it's provider overrides the path provider.
Also handle case when launchMode is null when creating a build
config.

Change-Id: Ie70de785168c2e24c842d517c64a297ba44e24f4
2017-11-20 13:28:22 -05:00
Doug Schaefer
a58fc62ba6 Forgot to add the makefile templates to the build.
Change-Id: I538e8610f9e31963a2c8224079de1a2f19c565c3
2017-11-17 11:36:29 -05:00
Doug Schaefer
589faf51cc Fix up leftover toolchain provider id usage.
The CMake toolchain file editor was not recording the correct
toolchain. The same was also true for the toolchain selection in
the build settings tab.

Change-Id: I62e4c7ae0175da7c1b5ffb7f89e321a371a6e8e0
2017-11-15 16:18:19 -05:00
Doug Schaefer
b7b1d41f08 Fixes for scanner info for Makefile projects.
Using ESP-IDF (the ESP32 FreeRTOS SDK) on MSYS2 as a test bed.
Making sure the indexer picks up as much as it can. Removed -j
since that messes up build output parsing. Add UI so you can put
it back if you want.

Change-Id: I767c739dce1412c75fb56d0bb1efceb913883a5f
2017-11-10 14:49:16 -05:00
Doug Schaefer
45019ea780 Add settings to Makefile build configs to build at project root.
Often Makefile projects are intended to be built from the project
root directory, such as ESP32 IDF projects. This adds a setting to
control that.

Change-Id: I151ebf60a7609461d24e192a9d6418fccb737055
2017-11-09 20:35:17 -05:00
Doug Schaefer
4ce1f1ca16 Add Makefile Projects to collection of core build project types.
Reuses the old makeNature. Reuses the StandardBuildConfiguration.
Generates a pretty simple project for now. Also handles the case
where you don't want to generate anything, just create an empty or
on an existing source tree.

Change-Id: I2f3cddc85d55792a2c537e37d4bc236a3073d930
2017-11-08 14:11:31 -05:00
Doug Schaefer
ffdb004e67 Adjust Arduino to new GCCToolChain API and add type and id/name.
Change-Id: Ia089985425c7f1a6fe347c41a6a01e5ab16d8208
2017-11-07 13:57:03 -05:00