dependencies between generator and smoke

View: New views
4 Messages — Rating Filter:   Alert me  

dependencies between generator and smoke

by Petr Vanek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi all,

just for your information: we faced some strange errors in our  
bindings last days. It was caused by old smoke library, which was not  
recompiled after some qt's smokeconfig.xml and generator changes. It  
had to be rebuilt manually (and it was forgotten of course).

If you are interested in my solution see this diff:

Index: smoke/qt/CMakeLists.txt
===================================================================
--- smoke/qt/CMakeLists.txt (revision 2862)
+++ smoke/qt/CMakeLists.txt (working copy)
@@ -39,6 +39,8 @@
      COMMAND generator
      ARGS -config "${CMAKE_CURRENT_BINARY_DIR}/config.xml" -
smokeconfig "${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml"
           -- ${CMAKE_CURRENT_SOURCE_DIR}/qt_includes.h
+    MAIN_DEPENDENCY smokeconfig.xml
+    DEPENDS cppparser generator_smoke generator
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})

  macro_add_file_dependencies( ${CMAKE_CURRENT_BINARY_DIR}/
smokedata.cpp ${CMAKE_CURRENT_BINARY_DIR}/x_1.cpp )

I don't know if it's acceptable for main kde-bindings trunk, but it's  
working for us

all the best,
Petr
_______________________________________________
Kde-bindings mailing list
Kde-bindings@...
https://mail.kde.org/mailman/listinfo/kde-bindings

Re: dependencies between generator and smoke

by Bugzilla from ian.monroe@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Nov 4, 2009 at 3:51 AM, Petr Vanek <petr@...> wrote:

> hi all,
>
> just for your information: we faced some strange errors in our
> bindings last days. It was caused by old smoke library, which was not
> recompiled after some qt's smokeconfig.xml and generator changes. It
> had to be rebuilt manually (and it was forgotten of course).
>
> If you are interested in my solution see this diff:
>
> Index: smoke/qt/CMakeLists.txt
> ===================================================================
> --- smoke/qt/CMakeLists.txt     (revision 2862)
> +++ smoke/qt/CMakeLists.txt     (working copy)
> @@ -39,6 +39,8 @@
>      COMMAND generator
>      ARGS -config "${CMAKE_CURRENT_BINARY_DIR}/config.xml" -
> smokeconfig "${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml"
>           -- ${CMAKE_CURRENT_SOURCE_DIR}/qt_includes.h
> +    MAIN_DEPENDENCY smokeconfig.xml
> +    DEPENDS cppparser generator_smoke generator
>      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
>
>  macro_add_file_dependencies( ${CMAKE_CURRENT_BINARY_DIR}/
> smokedata.cpp ${CMAKE_CURRENT_BINARY_DIR}/x_1.cpp )
>
> I don't know if it's acceptable for main kde-bindings trunk, but it's
> working for us
>

I've dealt with generation and cmake before, this is what your supposed to do.

But you should give the dependencies their full path, eg
${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml

Ian
_______________________________________________
Kde-bindings mailing list
Kde-bindings@...
https://mail.kde.org/mailman/listinfo/kde-bindings

Re: dependencies between generator and smoke

by Arno Rehn-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday 04 November 2009 18:04:55 Ian Monroe wrote:

> On Wed, Nov 4, 2009 at 3:51 AM, Petr Vanek <petr@...> wrote:
> > hi all,
> >
> > just for your information: we faced some strange errors in our
> > bindings last days. It was caused by old smoke library, which was not
> > recompiled after some qt's smokeconfig.xml and generator changes. It
> > had to be rebuilt manually (and it was forgotten of course).
> >
> > If you are interested in my solution see this diff:
> >
> > Index: smoke/qt/CMakeLists.txt
> > ===================================================================
> > --- smoke/qt/CMakeLists.txt     (revision 2862)
> > +++ smoke/qt/CMakeLists.txt     (working copy)
> > @@ -39,6 +39,8 @@
> >      COMMAND generator
> >      ARGS -config "${CMAKE_CURRENT_BINARY_DIR}/config.xml" -
> > smokeconfig "${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml"
> >           -- ${CMAKE_CURRENT_SOURCE_DIR}/qt_includes.h
> > +    MAIN_DEPENDENCY smokeconfig.xml
> > +    DEPENDS cppparser generator_smoke generator
> >      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
> >
> >  macro_add_file_dependencies( ${CMAKE_CURRENT_BINARY_DIR}/
> > smokedata.cpp ${CMAKE_CURRENT_BINARY_DIR}/x_1.cpp )
> >
> > I don't know if it's acceptable for main kde-bindings trunk, but it's
> > working for us
Yep, thanks for the info. I'll add that before 4.4 is released, but there's
still a lot of other stuff to do ;)

> I've dealt with generation and cmake before, this is what your supposed to
>  do.
>
> But you should give the dependencies their full path, eg
> ${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml
As long as there's no target or custom command named "smokeconfig.xml" that
shouldn't be a problem.
Btw, is there any convention for KDE cmake files? Currently we have a lot of
mixed all-uppercase and all-lowercase cmake code in kdebindings. It would be
nice if this could be unified.

--
Arno Rehn
arno@...
_______________________________________________
Kde-bindings mailing list
Kde-bindings@...
https://mail.kde.org/mailman/listinfo/kde-bindings

Re: dependencies between generator and smoke

by Bugzilla from ian.monroe@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Nov 4, 2009 at 3:29 PM, Arno Rehn <arno@...> wrote:

> On Wednesday 04 November 2009 18:04:55 Ian Monroe wrote:
>> On Wed, Nov 4, 2009 at 3:51 AM, Petr Vanek <petr@...> wrote:
>> > hi all,
>> >
>> > just for your information: we faced some strange errors in our
>> > bindings last days. It was caused by old smoke library, which was not
>> > recompiled after some qt's smokeconfig.xml and generator changes. It
>> > had to be rebuilt manually (and it was forgotten of course).
>> >
>> > If you are interested in my solution see this diff:
>> >
>> > Index: smoke/qt/CMakeLists.txt
>> > ===================================================================
>> > --- smoke/qt/CMakeLists.txt     (revision 2862)
>> > +++ smoke/qt/CMakeLists.txt     (working copy)
>> > @@ -39,6 +39,8 @@
>> >      COMMAND generator
>> >      ARGS -config "${CMAKE_CURRENT_BINARY_DIR}/config.xml" -
>> > smokeconfig "${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml"
>> >           -- ${CMAKE_CURRENT_SOURCE_DIR}/qt_includes.h
>> > +    MAIN_DEPENDENCY smokeconfig.xml
>> > +    DEPENDS cppparser generator_smoke generator
>> >      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
>> >
>> >  macro_add_file_dependencies( ${CMAKE_CURRENT_BINARY_DIR}/
>> > smokedata.cpp ${CMAKE_CURRENT_BINARY_DIR}/x_1.cpp )
>> >
>> > I don't know if it's acceptable for main kde-bindings trunk, but it's
>> > working for us
> Yep, thanks for the info. I'll add that before 4.4 is released, but there's
> still a lot of other stuff to do ;)
>
>> I've dealt with generation and cmake before, this is what your supposed to
>>  do.
>>
>> But you should give the dependencies their full path, eg
>> ${CMAKE_CURRENT_SOURCE_DIR}/smokeconfig.xml
> As long as there's no target or custom command named "smokeconfig.xml" that
> shouldn't be a problem.

In that same command you give the full path, no reason it shouldn't
because its a dependency.

> Btw, is there any convention for KDE cmake files? Currently we have a lot of
> mixed all-uppercase and all-lowercase cmake code in kdebindings. It would be
> nice if this could be unified.

I doubt it.  :) I personally go lower case for function and macro
calls, and upper case for variables.

Ian
_______________________________________________
Kde-bindings mailing list
Kde-bindings@...
https://mail.kde.org/mailman/listinfo/kde-bindings