[Qt-creator] Qt Creator and CMake
ideasman42 at gmail.com
Thu Feb 16 13:39:55 CET 2012
2012/2/16 Konstantin Tokarev <annulen at yandex.ru>:
> 16.02.2012, 04:06, "Pau Garcia i Quiles" <pgquiles at elpauer.org>:
>> On Wed, Feb 15, 2012 at 10:05 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
>>> Im not sure what there is to be gained here.
>> Adding/removing files directly from Qt Creator (yes, that is important for many developers), creating modules ("finders") directly in Qt Creator, integration with the simulators, cross-compilation chains, etc I'd say there is a lot to be gained.
>>> CMake is a language - it executes, and poops out a project file.
>>> As a qtcreator/cmake user Im happy for qtcreator not to be *smart*
>>>> about cmake, infact I'd prefer it be kept that way.
>>> All qtcreator needs to do is load that project file correctly, which,
>>> I should add - it currently does not do (it misses includes and
>>> defines from CMake), IMHO this should be first priority to get
>> Avoiding the project generation altogether would be even better.
> Irrelevance of any intermediate product is beyond question for me; one may argue that hand-crafted parser (like in KDevelop) is better, but use of CMakeLib seems to be more reliable (Qt Creator will see actual project model of CMake instead of "guessed" one), and will provide additional capabilities like changing of project configuration from GUI without use of external tools.
regarding adding/removing cmake files from QtCreator (basically
managing a cmake project via the GUI),
- this would depend on making some assumptions about the CMakeLists.txt files,
for example, in our project some source files are auto generated and
the file lists created by regex.
other files are compiled twice for different targets and different
defines. Having QtCreator (or any IDE) parse this and edit it in a
useful way is just not going to happen.
On the other hand maybe you can accept reduced functionality - but in
doing this you _are_ defining some new kinds of cmake-standard which
currently doesn't exist. It means people not using QtCreator may make
changes by hand that QtCreator users complain about because the
project manager cant properly manipulate it.
Is this whats being proposed or am I missing something?
As for parsing the config and editing it from QtCreator - great!,
but thats a totally different kettle of fish, comparing CMake's cache
file (a simple key-value store) to a programming language.
More information about the Qt-creator