On 2015-05-25 13:06-0700 Alan W. Irwin wrote:

> Don't get me wrong, I would like this limitation to be resolved so
> that our traditional build of the installed examples works as well as
> the CMake build of those.  When discussing this with Andrew I
> mentioned one possibility for implementing a fix for this issue, but
> that is a lot of work which I am going to leave to others if they want
> to make our Makefile+pkg-config approach as high quality as the
> CMake-based one for building our installed examples.

There was a question about CMake and C++ this morning on the CMake list
where the reply contained this very useful bit of information:

"Look at CMakeFiles/${CMAKE_VERSION}/CMake*Compiler.cmake for details
of the compiler detected for each language.  Look for these variables:

  CMAKE_C_COMPILER
  CMAKE_C_IMPLICIT_LINK_LIBRARIES

  CMAKE_CXX_COMPILER
  CMAKE_CXX_IMPLICIT_LINK_LIBRARIES

"

So I did that for my latest build and found

software@raven> grep CMAKE_CXX_IMPLICIT_LINK_ 
CMakeFiles/3.0.2/CMakeCXXCompiler.cmake
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES 
"/usr/lib/gcc/x86_64-linux-gnu/4.7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

So it appears to me that CMake has collected all of its knowledge
about the special libraries associated with any given C++ compiler in
this file.  Therefore, I plan to remove the current restriction on our
traditional build system for the installed examples by finding and
parsing this file for the values of CMAKE_CXX_IMPLICIT_LINK_LIBRARIES
and CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES; doing the appropriate
find_library commands to find exact special library locations, and
transforming this information into the -L and -l format required by
our configured pkg-config files.

Anyhow, once I have implemented this change there should be no further
traditional build system concern over linking issues with C++ either
for PLplot 5 or PLplot 6 unless the user is using some exotic C++
compiler that CMake has never heard of.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to