Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT CMake implementation in an IDE development

Hi Martin,

As you've already contributed the CMake4Eclipse plugin into Eclipse CDT 10.0. I believe with that one should be able to make use of the CDT CMake core build which internally invokes CompileCommandsJsonParser which was implemented by you. Please correct me If my understanding is wrong.

For example, I could see this file

Which was invoked here

Best Regards,

On Thu, Nov 12, 2020 at 1:16 AM 15 knots <fifteenknots505@xxxxxxxxx> wrote:
Am Mi., 11. Nov. 2020 um 06:42 Uhr schrieb Birendra Singh Patel <birendra@xxxxxxxxxxxxxxxx>:



First I want to thanks the very active community for the valuable contributions towards CDT.


I need some suggestions from community on CMake usage. Consider my experience as beginner with CMake.


Currently I am working on Eclipse CDT based IDE development, platform used is Eclipse Photon with CDT 9.5.2.


We had our legacy builder environment implemented using in Eclipse CDT extension “org.eclipse.cdt.managebuilder.core.buildDefinitions”, with our own project type, templates & tool chains.


Now I want to achieve CMake build in IDE for our custom project types,  so want to write few plugins and contribute on CDT CMake for Eclipse based IDE.

With Cmake: I tried two ways below:

  1. CDT CMake along with another plugin “ cmake4eclipse” (thanks to Martin Weber for writing it ) which can create CMake template projects but
CDT CMake along with “cmake4eclipse” won't give you anything from cmake4eclipse since the latter contributes to "Managed Build" projects but your project is of type "CDT CMake".
  1. also read CMakeLists.txt & generate build script make files automatically. But I have few problems( consider my beginner understanding)

Problem-1: In my context when we create Standard Cmake project we are not able to use our own custom tool chain here ( not sure how to do it) as less extension point in cmake4eclipse or which extension from CDT CMake to use not clear.

AFAICT, CDT CMake only provides the extension point "toolChainProvider".

Problem-2: When we create our own custom Project type with custom tool chain, we are not able to use Cmake build nature, as not aware of which and how to use extension points from above.

Problem-3: Also for better User experience we thought to take all User inputs while project creation & write standard Cmakelists.txt as a template, So user can just build with defaults. But not much documentation on it or what should be the implementation approach(which CDT extensions). Overall generating Custom CMakeLists.txt with user inputs is possible.

Problem-4: Can we override Cmake4Eclipse to takes both CMakeLists.txt and some more additional inputs as property file while make file generation. Is there any extension point for this.

Cmake4Eclipse is not maintained by the CDT project, so you might want to ask this on the cmake4eclipse mailing list. Or leave it, read further :-)


Over all Our vision is to achieve CMake build in IDE for our custom project type ( with option for standard CMake tool chain or with our internal tool chain)

Also we want User to get less annoyed for writing CMakeLists.txt, so to generate standard template based CMakeLists.txt file with User Inputs from project creation.

I do see template based CMakeLists.txt file generation more related to a  CMakeLists.txt-editor of your choice than to CDT CMake project creation itself.

Enough of Product vision & wish list, On grounds I will be really thankfull for suggestions on CDT CMake directions. So that we can contribute & make it better over days.

Great to hear Your company might want to throw in man-power to help!
Have a look at effords going on in [1].
Especially testing on non-linux OSses needs support.
And end-user use-case descriptions are highly appreciated.

Regards, Martin (mntnr of cmk4clps)

PS: Apologize; being German, I might sound rude in foreign langs.

cdt-dev mailing list
To unsubscribe from this list, visit

Back to the top