Configurations in core.build

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Configurations in core.build

Fabrizio Iannetti
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png


_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

Jonah Graham
Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

Thanks,
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

William Riley

I ran into the same issue while looking at how to make a managed build system work though core build. My conclusion was we could enhance core build to report configurations rather than the project as a whole for cases like this. So the launch bar would show the configurations.

 

I think I’ve still got the rough code for this somewhere, never contributed it as there wasn’t yet a real use-case for it in core build. I’ll try to find it.

 

Regards

William

 

From: [hidden email] <[hidden email]> On Behalf Of Jonah Graham
Sent: 06 February 2020 19:06
To: CDT General developers list. <[hidden email]>
Subject: Re: [cdt-dev] Configurations in core.build

 

Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

 

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

 

Thanks,

Jonah


~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com

 

 

On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:

Hi Jonah,

 

I've looked a bit into supporting more build configurations in core.build.cmake.

 

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

 

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.

From what I understood:

- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)

- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

 

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

 

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

 

cheers

Fabrizio

 

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev



Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647


_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

Jeff Johnston
In reply to this post by Jonah Graham
Hi Fabrizio,

I think the right answer is that build configuration options were never added generally for the Core Build model.  Doug may have had
plans, but I think we (CDT) can determine what we want to do.

Meson projects do support build configuration options.  They are found under on the Meson page in the Project Properties like old build configuration options used to be.
Currently, there is no distinction for launch mode as run/debug configurations share the same build configuration directory name but there is a distinction
per launch configuration/target.  The launch mode issue could be rectified.

The CMake project also has an options page in Project Properties.  It punts to the cmake-gui command which no longer comes with the cmake package
on Linux so I can't say how useful it is.  No idea about Mac/OS.  The logic should be changed to do some form of parsing like Meson does and use the Eclipse UI.
This allows additional options that may not exist in the tool itself.

There is nothing for Core Make projects at the moment.

-- Jeff J.




On Thu, Feb 6, 2020 at 2:07 PM Jonah Graham <[hidden email]> wrote:
Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

Thanks,
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

Fabrizio Iannetti
@William: thanks, that would be interesting
@Jeff: I created a meson project to have a look and could see the settings page (nice :-), and BTW I saw you have done something similar for cmake if running inside a container, I guess it could be used for local runs too), what I did not manage to do was to create a second configuration, I could only modify the default one, even with a new build configuration (did not try with a different toolchain).

I went through the code myself a bit and I saw that the build configuration provider interface implemented by the specific build systems offers

ICBuildConfigurationProvider.createBuildConfiguration(
  IProject project,
  IToolChain toolChain,
  String launchMode,
  IProgressMonitor monitor)

so, for a given project/toolchain pair, it only allows to differentiate based on launchMode (Release/Debug). I thought of extending the launchMode to include an optional configuration name, e.g. Debug/conf_1, Debug/conf_2, an empty configuration name would point to the default config.

The  drop-down for the launch mode would then actually show the configurations (with a 'new configuration...' option) and a gear icon would open a dialog to edit the configuration, the middle drop-down could filter the launch configurations based on the selected build configurations.

If a project has sane defaults when created with a CDT wizard the simplification that the core build wants to achieve is not be impacted in my opinion.

cheers
Fabrizio



On Thu, 6 Feb 2020 at 22:06, Jeff Johnston <[hidden email]> wrote:
Hi Fabrizio,

I think the right answer is that build configuration options were never added generally for the Core Build model.  Doug may have had
plans, but I think we (CDT) can determine what we want to do.

Meson projects do support build configuration options.  They are found under on the Meson page in the Project Properties like old build configuration options used to be.
Currently, there is no distinction for launch mode as run/debug configurations share the same build configuration directory name but there is a distinction
per launch configuration/target.  The launch mode issue could be rectified.

The CMake project also has an options page in Project Properties.  It punts to the cmake-gui command which no longer comes with the cmake package
on Linux so I can't say how useful it is.  No idea about Mac/OS.  The logic should be changed to do some form of parsing like Meson does and use the Eclipse UI.
This allows additional options that may not exist in the tool itself.

There is nothing for Core Make projects at the moment.

-- Jeff J.




On Thu, Feb 6, 2020 at 2:07 PM Jonah Graham <[hidden email]> wrote:
Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

Thanks,
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

Fabrizio Iannetti
...I could only modify the default one, even with a new build configuration (did not try with a different toolchain).

sorry, meant launch configuration of course

On Fri, 7 Feb 2020 at 08:13, Fabrizio Iannetti <[hidden email]> wrote:
@William: thanks, that would be interesting
@Jeff: I created a meson project to have a look and could see the settings page (nice :-), and BTW I saw you have done something similar for cmake if running inside a container, I guess it could be used for local runs too), what I did not manage to do was to create a second configuration, I could only modify the default one, even with a new build configuration (did not try with a different toolchain).

I went through the code myself a bit and I saw that the build configuration provider interface implemented by the specific build systems offers

ICBuildConfigurationProvider.createBuildConfiguration(
  IProject project,
  IToolChain toolChain,
  String launchMode,
  IProgressMonitor monitor)

so, for a given project/toolchain pair, it only allows to differentiate based on launchMode (Release/Debug). I thought of extending the launchMode to include an optional configuration name, e.g. Debug/conf_1, Debug/conf_2, an empty configuration name would point to the default config.

The  drop-down for the launch mode would then actually show the configurations (with a 'new configuration...' option) and a gear icon would open a dialog to edit the configuration, the middle drop-down could filter the launch configurations based on the selected build configurations.

If a project has sane defaults when created with a CDT wizard the simplification that the core build wants to achieve is not be impacted in my opinion.

cheers
Fabrizio



On Thu, 6 Feb 2020 at 22:06, Jeff Johnston <[hidden email]> wrote:
Hi Fabrizio,

I think the right answer is that build configuration options were never added generally for the Core Build model.  Doug may have had
plans, but I think we (CDT) can determine what we want to do.

Meson projects do support build configuration options.  They are found under on the Meson page in the Project Properties like old build configuration options used to be.
Currently, there is no distinction for launch mode as run/debug configurations share the same build configuration directory name but there is a distinction
per launch configuration/target.  The launch mode issue could be rectified.

The CMake project also has an options page in Project Properties.  It punts to the cmake-gui command which no longer comes with the cmake package
on Linux so I can't say how useful it is.  No idea about Mac/OS.  The logic should be changed to do some form of parsing like Meson does and use the Eclipse UI.
This allows additional options that may not exist in the tool itself.

There is nothing for Core Make projects at the moment.

-- Jeff J.




On Thu, Feb 6, 2020 at 2:07 PM Jonah Graham <[hidden email]> wrote:
Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

Thanks,
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: Configurations in core.build

Fabrizio Iannetti
I take that idea back: the launch mode is really listing launch modes registered with the platform debug and filtering launch configurations based on the currently selected mode.


On Fri, 7 Feb 2020 at 08:15, Fabrizio Iannetti <[hidden email]> wrote:
...I could only modify the default one, even with a new build configuration (did not try with a different toolchain).

sorry, meant launch configuration of course

On Fri, 7 Feb 2020 at 08:13, Fabrizio Iannetti <[hidden email]> wrote:
@William: thanks, that would be interesting
@Jeff: I created a meson project to have a look and could see the settings page (nice :-), and BTW I saw you have done something similar for cmake if running inside a container, I guess it could be used for local runs too), what I did not manage to do was to create a second configuration, I could only modify the default one, even with a new build configuration (did not try with a different toolchain).

I went through the code myself a bit and I saw that the build configuration provider interface implemented by the specific build systems offers

ICBuildConfigurationProvider.createBuildConfiguration(
  IProject project,
  IToolChain toolChain,
  String launchMode,
  IProgressMonitor monitor)

so, for a given project/toolchain pair, it only allows to differentiate based on launchMode (Release/Debug). I thought of extending the launchMode to include an optional configuration name, e.g. Debug/conf_1, Debug/conf_2, an empty configuration name would point to the default config.

The  drop-down for the launch mode would then actually show the configurations (with a 'new configuration...' option) and a gear icon would open a dialog to edit the configuration, the middle drop-down could filter the launch configurations based on the selected build configurations.

If a project has sane defaults when created with a CDT wizard the simplification that the core build wants to achieve is not be impacted in my opinion.

cheers
Fabrizio



On Thu, 6 Feb 2020 at 22:06, Jeff Johnston <[hidden email]> wrote:
Hi Fabrizio,

I think the right answer is that build configuration options were never added generally for the Core Build model.  Doug may have had
plans, but I think we (CDT) can determine what we want to do.

Meson projects do support build configuration options.  They are found under on the Meson page in the Project Properties like old build configuration options used to be.
Currently, there is no distinction for launch mode as run/debug configurations share the same build configuration directory name but there is a distinction
per launch configuration/target.  The launch mode issue could be rectified.

The CMake project also has an options page in Project Properties.  It punts to the cmake-gui command which no longer comes with the cmake package
on Linux so I can't say how useful it is.  No idea about Mac/OS.  The logic should be changed to do some form of parsing like Meson does and use the Eclipse UI.
This allows additional options that may not exist in the tool itself.

There is nothing for Core Make projects at the moment.

-- Jeff J.




On Thu, Feb 6, 2020 at 2:07 PM Jonah Graham <[hidden email]> wrote:
Hello fellow CDTers who have been looking at this area. Can anyone answer Fabrizio's questions?

Hi Fabrizio, I don't have immediate answers on these questions. I was hoping someone else may step in - so this is my explicit try at that.

Thanks,
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 3 Feb 2020 at 03:28, Fabrizio Iannetti <[hidden email]> wrote:
Hi Jonah,

I've looked a bit into supporting more build configurations in core.build.cmake.

I've resumed an old idea of having a file in the project contain this information and providing an editor to show the configuration UI, like in the attached screenshot.

Now I was wondering how to feed the configurations into core.build, but I'm a bit at a loss there.
From what I understood:
- core.build looks for the ICBuildConfiguration associated to the active IBuildconfiguration of the project (but there is no UI to select a build configuration)
- CMakeBuildConfigurationProvider creates configurations based on the triple project, buildType, toolchain

So the only foreseen use case for a different configuration would be a different toolchain, but not e.g. different options passed to CMake to support different target configurations.

Is it planned to add configuration selection in core.build UI or was it a design decision to remove it?

cheers
Fabrizio

image.png

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev