-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CDT CMake Improvements #1000
Comments
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 15, 2025
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 eclipse-cdt#1000, IDE-82683-REQ-017 Extending CMakeBuildConfiguration
jonahgraham
pushed a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 15, 2025
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 eclipse-cdt#1000, IDE-82683-REQ-017 Extending CMakeBuildConfiguration
jonahgraham
pushed a commit
that referenced
this issue
Jan 15, 2025
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
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 17, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 20, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 22, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
jonahgraham
added a commit
to jonahgraham/cdt
that referenced
this issue
Jan 22, 2025
In issue eclipse-cdt#1000 a lot of the work is on exposing a better API to ISVs. This new project serves these purposes: - Ensure the exposed API works in practice - Example for ISVs to use if they want to extend CMake - Provide an in-tree example of the API in use, so future editors of CDT have better chance of understanding *why* items are done as they are.
jonahgraham
added a commit
to jonahgraham/cdt
that referenced
this issue
Jan 22, 2025
In issue eclipse-cdt#1000 a lot of the work is on exposing a better API to ISVs. This new project serves these purposes: - Ensure the exposed API works in practice - Example for ISVs to use if they want to extend CMake - Provide an in-tree example of the API in use, so future editors of CDT have better chance of understanding *why* items are done as they are.
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 22, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
betamaxbandit
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 23, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
jonahgraham
added a commit
that referenced
this issue
Jan 23, 2025
In issue #1000 a lot of the work is on exposing a better API to ISVs. This new project serves these purposes: - Ensure the exposed API works in practice - Example for ISVs to use if they want to extend CMake - Provide an in-tree example of the API in use, so future editors of CDT have better chance of understanding *why* items are done as they are.
jonahgraham
pushed a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 23, 2025
ISV can set their desired CMake generator default (eg Ninja). Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-012 CMake generator default
jonahgraham
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 24, 2025
Add support for all generators to CMake build settings Correct command line option for CMake's --warn-unused-vars 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 default 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, especially: - removing the duplicated code between initializeFrom and restoreProperties - use Map's getOrDefault instead of a get, followed by a null check. Remove getUseDefaultCommand/setUseDefaultCommand as they don't appear in the GUI and it makes it impossible for the GUI command to be used. It is also redundant as use ui overrides is a global use default for all settings, so having a second use default seems unneeded at this point. Cleanup and simplify getCMakeProperties. Fix parsing of extra args so that quoted strings work. Remove doubled-up extra args added to command line. Refactored manual tests document and brought it up to date. Fixes eclipse-cdt#1055 Part of eclipse-cdt#1000
DangMinhTam382
added a commit
to DangMinhTam382/cdt
that referenced
this issue
Jan 25, 2025
Adding UI into CMake Preference page that allow user to specify the location of the CMake tool and the location of CMake generators. Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-004 and IDE-82683-REQ-005
DangMinhTam382
added a commit
to DangMinhTam382/cdt
that referenced
this issue
Jan 25, 2025
Adding UI into CMake Preference page that allow user to specify the location of the CMake tool and the location of CMake generators. Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-004 and IDE-82683-REQ-005
jonahgraham
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 26, 2025
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 eclipse-cdt#1055 Part of eclipse-cdt#1000 Co-authored-by: John Moule <[email protected]> Co-authored-by: Jonah Graham <[email protected]>
jonahgraham
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 26, 2025
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 eclipse-cdt#1055 Part of eclipse-cdt#1000 Co-authored-by: John Moule <[email protected]> Co-authored-by: Jonah Graham <[email protected]>
jonahgraham
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 26, 2025
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 eclipse-cdt#1055 Part of eclipse-cdt#1000 Co-authored-by: John Moule <[email protected]> Co-authored-by: Jonah Graham <[email protected]>
jonahgraham
added a commit
to betamaxbandit/cdt
that referenced
this issue
Jan 26, 2025
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 eclipse-cdt#1055 Fixes eclipse-cdt#818 Part of eclipse-cdt#1000 Co-authored-by: John Moule <[email protected]> Co-authored-by: Jonah Graham <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The document* describes a number of bug fixes and enhancements to CMake support.
20250114CDT+CMake+Improvements.pdf
Items in the "API Breaking" column marked Yes are planned to be added to CDT 12.
*: sorry about the formatting - exported from internal document management system
The text was updated successfully, but these errors were encountered: