[mlpack-git] [mlpack/mlpack] pkg-config support? (#777)

Dirk Eddelbuettel notifications at github.com
Sun Sep 4 08:58:08 EDT 2016

I am currently building a small project against MLPACK and its library.  I use standard tools to 'find' where `libmlpack.so` may be installed.  

One solution that has emerged over the years is support for [pkg-config](https://en.wikipedia.org/wiki/Pkg-config).  This seems to have originated from the desktop world but is clearly used in other places.  Take for example [nlopt](http://ab-initio.mit.edu/wiki/index.php/NLopt) which has support:

edd at max:~$ pkg-config nlopt --cflags       # on Ubuntu, and headers in /usr/include

edd at max:~$ pkg-config nlopt --libs         # ditto, no -L needed
-lnlopt -lm
edd at max:~$ pkg-config nlopt --version      # useful for 'minimal version x.y.z ?' comp.
edd at max:~$ 

Getting these results back is way faster and easier than fiddling with `auto*` or `cmake`.  (There are older, one-off variants other projects have, i.e. `gsl-config` is very similar.  I will not name another big project starting with B and ending in oost for its awful alternative ;-) .) 

Here, [nlopt](http://ab-initio.mit.edu/wiki/index.php/NLopt) has [this file](https://github.com/stevengj/nlopt/blob/master/nlopt.pc.in) in its GitHub repo:


Name: NLopt
Description: nonlinear optimization libary
Libs: -L${libdir} -lnlopt at NLOPT_SUFFIX@ -lm
Cflags: -I${includedir}

and this paragraph in its [`CMakeLists.txt`](https://github.com/stevengj/nlopt/blob/master/CMakeLists.txt):

# pkgconfig file
  configure_file (${CMAKE_CURRENT_SOURCE_DIR}/nlopt.pc.in ${CMAKE_CURRENT_BINARY_DIR}/nlopt.pc @ONLY)
endif ()

I haven't `pkg-config`-ified a library myself, but would try to work up a pull request if you like the idea.  
Of course, you being fluent at CMake when I am not it would also be very nice if you just carried this over :)  It looks simple enough, and would be really useful.   Thoughts?

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160904/a0b358b8/attachment-0001.html>

More information about the mlpack-git mailing list