Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Configurations in core.build

...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 <fabrizio.iannetti@xxxxxxxxx> 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 <jjohnstn@xxxxxxxxxx> 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 <jonah@xxxxxxxxxxxxxxxx> 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 <fabrizio.iannetti@xxxxxxxxx> 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
cdt-dev@xxxxxxxxxxx
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
cdt-dev@xxxxxxxxxxx
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
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev

Back to the top