1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-21 21:52:10 +02:00
cdt/cmake/org.eclipse.cdt.cmake.core.tests
betamax fe74d8dfee
Improve CMake build option handling and API (#1046)
Summary:

- Add some new API to make it easier for ISVs to provide defaults.
- Fully connect UI elements to CMake build process
- Add some missing UI elements (such as customizing generator)
- CMake generator default within CDT changed to Ninja

Details:

Add API to set CMake generator default (eg Ninja) ISV can set
their desired CMake generator by overriding
`CMakeBuildConfiguration.getDefaultProperties`. ISVs can also further
fine tune the build process by overriding
`CMakeBuildConfiguration.getDefaultProperties`

Remove API `IOsOverrides` and related code. `IOsOverrides` was a partial
implementation to achieve builds in Docker containers, however the
work was not complete and it the extra code was complicating some
basic use cases of setting defaults

Add support for all generators to CMake build settings UI page by
using a Combo instead of radio buttons. The non-deprecated generators
that are built-in to CDT populate the Combo, but additional generators
can be manually entered in the Combo.

Rename clean command to clean target to better reflect its use as
the argument passed to cmake's --target command line.

Add all target for the argument passed to cmake's --target
command line when doing a normal build.

Clarify usage of UI overrides and change the UI to be "use defaults"
(i.e. invert the checkbox). This is a **breaking** change as it means
user projects that were using UI overrides will revert to using defaults.
This is done on purpose as so many little things have changed in CMake
settings, that reverting to defaults on upgrade seems like a logical
decision. In addition *use defaults* matches the other GUIs in Eclipse,
for example the MBS build command settings.

Populate all defaults in getDefaultProperties() so that all CMake build
settings are displayed as used (greyed out) and can be used as a starting
point when editing settings.

Simplify some of the code in CMakeBuildTab.

Fix parsing of extra args so that quoted strings work.

Refactored manual tests document and brought it up to date.

Correct command line option for CMake's --warn-unused-vars

Correct command line option for CMake's --warn-uninitialized

Overall this is an API breaking change and the CHANGELOG-API.md has been
updated with all the API changes in and around ICMakeProperties,
including fixing typos in WarnUninitialized methods.

Fixes #1055
Fixes #818
Part of #1000

Co-authored-by: Jonah Graham <jonah@kichwacoders.com>
2025-01-27 12:31:38 -05:00
..
.settings Upgrade build.properties warnings to errors 2022-11-06 18:29:28 -05:00
META-INF Improve CMake build option handling and API (#1046) 2025-01-27 12:31:38 -05:00
OSGI-INF/l10n sync translated Bundle-Name with manifest Bundle-Name 2021-07-14 17:35:57 -04:00
src/org/eclipse/cdt/cmake/core Improve CMake build option handling and API (#1046) 2025-01-27 12:31:38 -05:00
.classpath Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -04:00
.project project setup: remove unnecessary maven nature 2021-06-28 20:26:19 +02:00
about.html [releng] Update all legal files with update_legal_files.sh 2022-04-13 13:42:35 -04:00
build.properties Bug 566495: Rework CMakeErrorParser 2020-09-22 15:57:43 -04:00