[Expat-bugs] CMake build problems with expat 2.1.0 and a patch to fix them

Christoph Thompson cjsthompson at gmail.com
Thu Jan 24 05:32:15 CET 2013


Hi,

I ran into the following problems while trying to build expat 2.1.0 with
CMake:

* I couldn't set the directories for man pages and libraries. Some Linux
distros such as
Slackware put the man pages in /usr/man instead of /usr/share/man and on
x86_64
libs go into /usr/lib64. It's useful when you can override the defaults
from the command
line like:

cmake -DMAN_INSTALL_DIR=PATH:"/usr/man" -DLIB_INSTALL_DIR=PATH:"/usr/lib64"

So I made all this configurable instead of being hardcoded.

* The pkgconfig file was not generated correctly for /usr/lib64 since it
was hardcoding /usr/lib.
Also it's nice when you can set the include dir so you can put the headers
in /usr/include/expat for example. The exec_prefix is not 'bin', I don't
know what it's used for, but all .pc files I have ever seen just set it to
${prefix}. So it seems safe to do that here too.

* xmlwf couldn't be built because the compiler couldn't write the xmlwf
executable at the root
of the source because there was already a directory named xmlwf. The
solution to that was to
make another CMakeLists.txt inside the xmlwf directory with the part about
building it.

* The expat shared library wasn't built with the usual sonames. So I fixed
that too.

I hope you will find my patch helpful.

Regards,

C. Thompson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.libexpat.org/pipermail/expat-bugs/attachments/20130124/dee618b6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: expat-2.1.0-cmakefixes.patch
Type: application/octet-stream
Size: 3601 bytes
Desc: not available
URL: <http://mail.libexpat.org/pipermail/expat-bugs/attachments/20130124/dee618b6/attachment.obj>


More information about the Expat-bugs mailing list