I've been testing using the cmake support for building examples in the 
install tree and encountered 3 bugs to do with references back to the
original plplot source / binary tree or problems using a separate
binary directory.

For reference the recipe was something like

mkdir build_examples
cd build_examples
cmake /path/to/plplot/share/plplot5.9.9/examples/
make

1) ocaml: the examples/ocaml/CMakeLists.txt file checked whether 
BUILD_SHARED_LIBS was set to see whether the rpath needed to be set. This
was never set in the install tree so the library and rpath information 
was missing. This resulted in a linking error, unless the original
plplot binary tree was still present. Fix is to add BUILD_SHARED_LIBS
to the examples/plplot_configure.cmake_installed_examples.in file.

2) tk examples tried to call mktclIndex, but this was only present
if the original source tree was present. I've fixed this by installing
script/mktclIndex into the examples/tcl directory. Perhaps a tcl / tk
expert could comment whether this is really necessary, or should we
just use the installed version and remove calls to mktclIndex

3) finally, the tcl examples only copied the .tcl files over to a 
separate binary directory if it the examples were being built in the
build tree, not in the install tree. This meant that the 
standard_examples script failed in the the install tree case if the
examples were built in a separate binary directory. Fix is to copy
if different for both build tree and install tree cases. This also 
ensure the mktclIndex script works in this case too.

These problems only emerged because I tried this procedure after 
installing the debian packages in a chroot environment to check the
install. Of course there was no plplot binary / source tree in that
case. Normally I would always have that still lying around so these
subtle bugs were missed. Moral: always be careful and thorough in
testing!

Having sorted these problems the cmake approach is much nicer and 
also should deal more gracefully with the case when examples are
missing (e.g. when the examples are split between several packages
in a distribution and not all packages are installed). Next
step is to test that aspect properly.

Andrew


------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook 
in minutes. BlackBerry App World™ now supports Android™ Apps 
for the BlackBerry® PlayBook™. Discover just how easy and simple 
it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to