1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 08:46:02 +02:00
Commit graph

38 commits

Author SHA1 Message Date
betamax
3c4287f03d
Make CMakeBuildConfiguration API (#1010)
For ISV integration/extension to CDT CMake, it is necessary to extend
several non-API classes (eg: CMakeBuildConfiguration,
CMakeBuildConfigurationProvider). This would cause "Discouraged access:
The type XXX is not API" warnings.

The classes have now been made API so can be extended without warnings.

Addresses Issue: CDT CMake Improvements #1000, IDE-82683-REQ-017
Extending CMakeBuildConfiguration
2025-01-15 11:18:36 -05:00
Ali Azam Rana
f680907cab
fix(908): fix for the cmake tool chain removal function. (#909)
Resolves that the calculated ID in the removal function was different than the one in the add

Fixes #908
2024-10-08 11:02:41 -04:00
ewaterlander
a65d3d7f28
Add user additional CMake arugments at the end. (#814)
The additional CMake arguments added by the user in the launch
configuration UI are added at the end of the CMake command, such that
the user is able to override arguments set by the system.
2024-09-12 17:16:52 -04:00
betamax
3ee0e61eed
Sets the CMake CMAKE_BUILD_TYPE define Fixes #807 (#810)
The CMAKE_BUILD_TYPE is added to CMake configuration build, based on the
active launch mode; DEBUG_MODE sets a buildType of "Debug", everything
else sets a buildType of "Release".
Note, the CMake CMAKE_BUILD_TYPE definition is not directly equivalent
to the Launch Bar Launch Mode; there might be a scenario where the user
wants to launch a debug session using the CMake Release build and not
run it. However, for most cases this is probably sufficient.

For Issue CMake projects are ignoring the Launch mode Run/Debug #807.
2024-09-12 17:15:24 -04:00
betamax
b7fa35979a
Bug579242: allow user to override CMake Settings (#683)
The Launch Bar Launch Configuration, Build Settings tab allows the user
to customise the CMake Settings (CMake generator, extra arguments, build
command and clean command). But changing these settings did not affect
the CMake build. This is now fixed.
A "Use these settings" checkbox allows the user to choose settings from
the UI or use the operating system defaults.
2024-02-07 13:52:58 -05:00
William Riley
5250f5a07b
Replace org.freemarker with org.freemarker.freemarker (#547)
Also remove re-exports & add package imports

Fixes #546
2023-09-19 14:02:39 -04:00
Jonah Graham
a92b90a4c8 Bump all bundles that are missing BREE in 11.3.0
Part of #551
2023-09-15 07:24:17 -04:00
Jonah Graham
de012f42a6 Remove and ignore object references from Yaml files
Yaml 2.0 fixes CVE-2022–1471 to error on object references. This
commit adapts our use of Yaml to not output object references
anymore and on loading explicitly allow object references to
expected types.

Fixes #498
2023-08-10 09:38:12 -04:00
Jonah Graham
ac84c4ec86 Prepare repo for CDT 11.3.0 development
Some bundles are bumped because dev happened between 11.2 release and
this version bump. The most significant change that happened
was the bump in Tycho version which changed ECJ version and
hence some class files changed

Part of #420
2023-07-10 21:41:39 -04:00
Jonah Graham
460c0021aa Move all dependencies to maven direct where possible
Includes:

- Sign all artifacts, particularly 3rd party with CDT's PGP key
- Using maven version managed and updated by EF Webmasters
- Update to latest SnakeYAML
- Move some 3rd party dependencies to Import-Package (instead of
  Require-Bundle)
2023-07-10 20:47:10 -04:00
Jonah Graham
0dc9d340f5 Lock snakeyaml to expected 1.x version
Snakeyml recentlyish came out with 2.0 version and more recently
TM4E started using the 2.0 version. As TM4E snapshots are in our
target platform we started failing as we started wiring to the newer
version due to a missing underbound on our dependency.

A separate task of updating to recent snakeyaml will be done as part
of #387
2023-06-26 11:49:51 -04:00
Jonah Graham
7146617411 Don't use tabs when indenting in yaml file 2023-04-25 14:16:37 -04:00
Jonah Graham
4bc687b83b Add .clangd file to simplify project sharing with non-CDT
In the example CMake project add a .clangd to enable pointing
clangd at the appropriate compilation database without having
to make a copy of it.
2023-02-16 12:12:56 -05:00
Jonah Graham
6eaaf714cc Upgrade build.properties warnings to errors
Warning in build.properties will be errors when they run
in the tycho build, like this:

```
Error:  Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.7.5:package-plugin
(default-package-plugin) on project org.eclipse.cdt.core.tests:
/home/runner/work/cdt/cdt/core/org.eclipse.cdt.core.tests/build.properties:
bin.includes value(s) [test.xml] do not match any files. -> [Help 1]
```

So make them errors in the workspace so that the issue is
detected before push.

Some build.properties issues don't affect the build, but
are still indicative of a problem.
2022-11-06 18:29:28 -05:00
Jonah Graham
1f19cff227 Make missing identifiers and classes in plugin.xml errors
Subsequent commits fix the errors
2022-11-04 08:19:23 -04:00
Mat Booth
1783120eb7 Improve the CMake project wizard template
Fixes out-of-the-box deprecation warnings, the template now specifies a
minimum CMake version of 3.10

Allows project names containing spaces by using freemarker syntax to
remove them where necessary in the CMakeLists.txt file.

Demonstrates how to implement the common idiom of configuration header
files.
2022-10-18 00:08:44 +01:00
Jonah Graham
e4e06008af Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -04:00
Jonah Graham
b577257db1 Correct @since tags
Since tags should be major + minor only. maintenance releases
can't change API which is why it doesn't need to be specified.
2022-10-03 12:42:37 -04:00
Martin Weber
3d62e1696c make the cmake error parser public API
Change-Id: I2ab5d659e01ace32dbd61ffada18e2f8f47bc5cf
Signed-off-by: Martin Weber <11367029+15knots@users.noreply.github.com>
2022-09-13 20:20:14 +02:00
Martin Weber
d1a43d5417 avoid StringIndexOutOfBoundsException on close. Fixes #66
Signed-off-by: Martin Weber <11367029+15knots@users.noreply.github.com>

Change-Id: I816b8ee5852e6b25011a611c07c54d0a814a74d8
2022-09-07 15:25:38 -04:00
Mat Booth
5e4a66b0af Bug 580178 - Unable to stop build process from launchbar
Switch from the standard Java ProcessBuilder to the CDT CommandLauncher
for new style core build projects.

The CommandLauncher uses a more sophiscated mechanism for watching the
spawned process allowing us to interrupt the process when the user hits
the stop button on the launchbar by properly listening to a monitor.

The change adds new API to CBuildCongifuration that takes a progress
monitor, and changes all the affected build configuration types to use
this new API.

Change-Id: I0c4225616ad8331c2cea28bcb502028455a8ea71
2022-06-30 12:34:16 -04:00
Jonah Graham
a1c02e2cce [releng] Apply auto-clean of save to all files with Eclipse 4.23
This mostly is using diamond operator, but includes
adding missing @Override and organizing imports and
applying formatting improvements in the JDT formatter.

Change-Id: Id91cbff33b0a039cc5121945ffbc407ecba45866
2022-04-19 20:13:15 -04:00
Jonah Graham
148ae40d0f [releng] Make CDT Clean-up profile match Editor on save actions
The CDT Cleanup profile had a bunch of extra cleanups applied to it, this
prevents running the CDT cleanup profile manually to simulate running the
save actions on all Java files

Change-Id: Iad491e1258a4ba90d81d1457ea0f6779e3663e38
2022-04-19 20:13:15 -04:00
Jonah Graham
7400e22b1f [releng] Update all legal files with update_legal_files.sh
The about.html was changed as per
https://gitlab.eclipse.org/eclipsefdn/it/websites/eclipse.org/-/issues/90

Change-Id: Ied879279460a8fc610630fc26794ab3df9eae39f
2022-04-13 13:42:35 -04:00
Jonah Graham
1f0451c163 [releng] Prepare for 10.7.0 with version bumps
All the about.html files are updated, so every bundle that hasn't
already had a bump in 10.7 needs one now

Change-Id: I6143d2fbe77a58a3a6d2f4a226d96087117f9ac1
2022-04-13 13:15:06 -04:00
Mat Booth
a957e8121d Bug 575145 - Importing CMake/Meson Projects
Add API to o.e.tools.templates.ui that hooks into the smart import
feature and allows easy implementation of configurators for various
CDT project types.

Project types that have a IGenerator may use this API to offer smart
import functionality by registering their implementation using the
org.eclipse.ui.ide.projectConfigurator extension point.

This change includes project import implementations for Meson and
CMake project types.

For these project types users can use the normal project import
workflow for their existing non-Eclipse CMake projects instead of
using the New Project Wizard. As an additional benefit, users
can now also import more than one project at a time, even nested
projects.

Change also includes SWTBot tests to exercise the feature.

Signed-off-by: Mat Booth <mat.booth@gmail.com>
Change-Id: I96589e86bee561aa200a4a4487549305765d6409
2021-10-31 11:21:35 +00:00
Martin Weber
2f65266115 Bug 564349 - rename classes with 'Indexer' in name to sth. more appropriate
Change-Id: I3247f3a001a6d0f882a6b4c674b1c7c0f74b1b9e
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2021-07-14 17:35:57 -04:00
Martin Weber
422835d273 Bug 564349 - rename packages & projects o.e.cdt.cmake.is to o.e.cdt.jsoncdb
Change-Id: I29e4e0fdc988b6d9cdccfb50f73ad16591645fa4
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2021-07-14 17:35:57 -04:00
Martin Weber
f9ce4f03e3 show markers in problem view instead of printing to build console
Change-Id: Ic487adc11153fac206183a3ceb943d05c6d36066
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2021-06-27 09:43:17 -04:00
Martin Weber
fce6d2f93f eliminate class StringUtil
Change-Id: I07cd8c70d2db8abe415f720275b6c25d464ba91c
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2021-06-07 20:42:09 +02:00
Martin Weber
725ff665e7 Bug 569186: Fix: Project rebuild is causing Unresolved inclusion issues
Change-Id: I9c59c6a8b5963edac7d33a35b936a161ce9eb337
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-12-01 14:10:32 -05:00
Jonah Graham
4213379279 Bug 567488: Add missing @since tags and bump version
Change-Id: Ib1918a41f939907777fe7729a40fc55e51e33c7c
2020-11-16 14:06:22 -05:00
Martin Weber
9a70f31c4e Bug 567488: re-add what was lost in rebase
Change-Id: Ib9342193a91bda76d6809464fb2350fb56ed8175
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-11-15 20:05:42 +01:00
Martin Weber
4d40c5b68f generalize indexer-support API
Use IFile to specify the file to parse instead of a file-name implicitly
calculated from CBuildConfiguration.

Change-Id: If9d66a0b7533e9e403bc22fa21bf8e6e8fa80436
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-11-14 15:17:35 -05:00
Martin Weber
de80240232 Bug 567488: Use snakeyaml to persist command-line options to pass to cmake
Change-Id: Ia6b60865f663aecae74d6d571bc9d213bf7cd36b
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-11-14 15:17:35 -05:00
Martin Weber
ebf2d24c95 Bug 567488: Use command-line options to pass to cmake ICMakeProperties object
Change-Id: I4d6383ce240e6f2b8d7079f281ef7c2e56ea93a6
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-11-14 15:17:35 -05:00
Martin Weber
3a10f42019 Bug 567488: Define command-line options to pass to cmake for build-script generation
Change-Id: Ie62549cf2c0ddbdb0c9934d3cdb928874b8362aa
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-11-14 15:17:35 -05:00
Martin Weber
af1b6fa238 Bug 567488: Move cmake code to cmake dir
Change-Id: If3df1f176ed82475d01a047c3a6d8c0882bb1d76
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-10-13 20:42:22 -04:00