Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Is there a `legal` way for ISVs to programmatically create an MBS project and configure it?

Dear list,

the CDT developer FAQ [1] tells me to look at some CDT unit testing code, but 
these examples rely on CDT packages marked as non-public (*.internal.*).

My other opportunity, class 
org.eclipse.cdt.managedbuilder.templateengine.ProjectCreatedActions looks like 
a promising candidate to do it, but it needs some IConfiguration objects to do 
the job. But how can I construct an IConfiguration object? IConfiguration is 
annotated as @noimplement, and Configuration is managedbuilder.internal.core.


Some background: 
I created an Eclipse plugin that generates build scripts for make/mingw-
make/ninja/cygwin from an existing cmake recipe (CMakeLissts.txt) [2]. It does 
not claim to add cmake support to eclipse, it just focuses on 'Import eclipse 
project and build', trying to ease the pain for end users (not) mentioned in 
[3].

In the last months, I received more and more issues submitted by users who 
failed to set up their eclipse project properly in order to make buildscript 
generation work. Apparently, these users have been attracted by the labels 
'cmake' and 'eclipse' at my plugin, but are not aware of the pitfalls coming 
from the CDT project properties pages.
To provide a quick start to these users, I am planning to add an import wizard 
that
- asks for project location (where to create the .project and .cproject 
files),
- asks for the top-level CMakeLissts.txt,
- creates the CDT project,
- adds a Debug and Release configuration zo the project
- sets the buildscript generator on each config,
- configures a LanguagesSettingProvider for the indexer.

Is there a way to accomplish this without violating API restrictions?

Martin

PS: Yes, i know Doug is working on 'Eclipse cmake support: and it has to be 
good'

 
[1] 
https://wiki.eclipse.org/CDT/Developer/FAQ#How_can_I_programmatically_create_a_new_CDT_project.3F
[2] https://marketplace.eclipse.org/sites/default/files/cmake4eclipse-linux.PNG
[3] https://cmake.org/Wiki/CMake:Eclipse_UNIX_Tutorial#CMake_with_Eclipse
-- 
Cd wrttn wtht vwls s mch trsr.




Back to the top