DocBook XML & XSL: new dependencies

Alexander Neundorf neundorf at kde.org
Wed May 26 19:03:39 CEST 2010


On Wednesday 26 May 2010, Luigi Toscano wrote:
> Alexander Neundorf wrote:
> > Ok, stupid question.
> > Now I actually tried to build kdelibs again, and it failed because the
> > docbook stuff wasn't found.
> > The given link in the error message is http://docbook.org/schemas/4x.html
> > So, what should I download from there ?
>
> It's not so easy from that link, I changed the URL to something more
> useful.

Ok.

About FindDocBookXSL.cmake:
it looks a bit unspecific to me to search for a file named "VERSION". Can we 
search for another, more specific file ?
Maybe lib/lib.xsl ?


About FindDocBookXML.cmake:
Right now only version 4.2 works for KDE ?
Is there a reason why the variables have this "CURRENT" part in their name ?

The find_package() syntax also support specifying a version number:
find_package(DocBookXML 4.2 EXACT)

If this is used, the variables DocBookXML_FIND_VERSION, 
DocBookXML_FIND_VERSION_MAJOR, DocBookXML_FIND_VERSION_MINOR and 
DocBookXML_FIND_VERSION_EXACT will be set.

Would you mind changing the 

set (DOCBOOKXML_CURRENTDTD_VERSION "4.2"
     CACHE INTERNAL "Required version of XML DTDs")

to something like

if(NOT DocBookXML_FIND_VERSION)
  set(DocBookXML_FIND_VERSION_MAJOR 4)
  set(DocBookXML_FIND_VERSION_MINOR 2)
  set(DocBookXML_FIND_VERSION_EXACT TRUE)
endif(NOT DocBookXML_FIND_VERSION)

set(DOCBOOKXML_DTD_VERSION 
   "${DocBookXML_FIND_VERSION_MAJOR}.${DocBookXML_FIND_VERSION_MINOR}")


?
This way, if no version has been specified in the find_package() call, it will 
be set to exactly 4.2, otherwise to what has been specified.

Also, why do you put DOCBOOKXML_CURRENTDTD_VERSION in the cache ? And why 
as "INTERNAL" ?

Alex




More information about the Kde-buildsystem mailing list