Christoph Thompson
2013-01-24 04:32:15 UTC
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>
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>