still using cmake < 2.4.3 ?

Alexander Neundorf neundorf at kde.org
Thu Sep 7 23:06:07 CEST 2006


On Thursday 07 September 2006 22:55, Adam Treat wrote:
> On Thursday 07 September 2006 4:42 pm, Alexander Neundorf wrote:
> > On Thursday 07 September 2006 22:35, Adam Treat wrote:
> > > Regression problem!!!
> > >
> > > Right now if you try and build unity AND/OR WebKit from Apple with
> > > either CMake 2.4.3 or cvs trunk, it doesn't work.  Can a CMake dev have
> > > a look at this?
> > >
> > > Here is the error building WebKit svn:
> > >
> > > .../WebCore/css/cssparser.cpp:3098:25: error: tokenizer.cpp: No such
> > > file or directory
>
> Sorry, I think that was the wrong error.  Here is the one that is first
> encountered.  And yes, JSHTMLInputElementBaseTable.cpp is a generated file.

And that file is included in another file, right ?
I remember the problem, but since nobody complained again I considered it 
working.
The simple and right solution would be to rename the generated included files 
from *.cpp to *.inl and simply add them to the list of source files.
Then everything will just work.

All other options are more or less hacks.
Here we go:

Next option: generated a helper target which depends on the cpp files:

add_custom_target(generator_helper DEPENDS 
${CMAKE_CURRENT_BINARY_DIR}/JSHTMLInputElementBaseTable.cpp ... )
(I didn't look up the exact syntax) and then do
add_dependencies(unity generator_helper)

Then the helper target will be built before the rest and so the files should 
be generated.

Next option: add the generated .cpp files to the list of source files but add 
some weird stuff with #ifdefs so that they are empty for the compiler when it 
tries to compile them separately, but work as expected if they are included.

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net


More information about the Kde-buildsystem mailing list