[CMake] Problem with GNU compilers - difference between Windows and MinGW

2010-09-23 Thread Alan W. Irwin

I would definitely like the build system for the FreeEOS software
project to work properly on Windows.  I have no access to that
platform so I was very happy that Arjen was willing to test that build
on Windows for me. However, he cannot finish that effort until the
questions below are addressed so help with those questions would be
much appreciated.

I also have a further question.  Isn't it dangerous for
FindLAPACK.cmake and FindBLAS.cmake (for at least CMake 2.8.2 version)
to set CMAKE_FIND_LIBRARY_SUFFIXES?  That variable potentially has
far-reaching consequences so wouldn't it be better to save the old
value, set CMAKE_FIND_LIBRARY_SUFFIXES for the particular find that is
being done, then restore the old value? The only other Find module
that sets CMAKE_FIND_LIBRARY_SUFFIXES is FindBoost.cmake, but that
module is careful to save and restore that variable like I suggest
should be done with FindLAPACK.cmake and FindBLAS.cmake.

If there is agreement from the CMake developers that FindLAPACK.cmake
and FindBLAS.cmake should be changed to save and restore
CMAKE_FIND_LIBRARY_SUFFIXES, I will write up the appropriate bug
report.

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); PLplot scientific plotting software
package (plplot.org); 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
__

-- Forwarded message --
Date: Mon, 20 Sep 2010 13:48:38 +0200
From: Arjen Markus arjen.mar...@deltares.nl
To: cmake@cmake.org cmake@cmake.org
Subject: [CMake] Problem with GNU compilers - difference between Windows and
MinGW

Hello,

Alan Irwin and me ran into a rather peculiar problem concerning the
use of the GNU compiler suite on Windows. Here is the set-up:
- Alan's free_eos project uses the LAPACK and BLAS libraries.
- I tested his build system under Windows and to do that I first
  built BLAS and LAPACK from sources.
- To my surprise the free_eos project's build system failed to
  find the libblas.a and liblapack.a files that I had generated.
- I used the MinGW Makefiles generator in both cases.

Here is what I conclude from an analysis of what is going on:
- With the MinGW Makefiles generator, the GNU compilers are
  recognised first - which is what I wanted.
- I use the GNU compilers in an environment that does not state
  it is MinGW and so, find_library uses the Windows convention
  for naming libraries. So with in free_eos, CMake expects the
  files blas.lib and lapack.lib.
- The CMake configuration for the GNU compilers - ignoring the specifics
  of Windows - always uses the Linux convention for library names.
  So it produces libblas.a and liblapack.a.

I may be mistaken in the details, but this is definitely what it boils
down to. Shouldn't the MinGW Makefiles generator take care of these
two naming conventions?

Regards,

Arjen
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Problem with GNU compilers - difference between Windows and MinGW

2010-09-20 Thread Arjen Markus

Hello,

Alan Irwin and me ran into a rather peculiar problem concerning the
use of the GNU compiler suite on Windows. Here is the set-up:
- Alan's free_eos project uses the LAPACK and BLAS libraries.
- I tested his build system under Windows and to do that I first
  built BLAS and LAPACK from sources.
- To my surprise the free_eos project's build system failed to
  find the libblas.a and liblapack.a files that I had generated.
- I used the MinGW Makefiles generator in both cases.

Here is what I conclude from an analysis of what is going on:
- With the MinGW Makefiles generator, the GNU compilers are
  recognised first - which is what I wanted.
- I use the GNU compilers in an environment that does not state
  it is MinGW and so, find_library uses the Windows convention
  for naming libraries. So with in free_eos, CMake expects the
  files blas.lib and lapack.lib.
- The CMake configuration for the GNU compilers - ignoring the specifics
  of Windows - always uses the Linux convention for library names.
  So it produces libblas.a and liblapack.a.

I may be mistaken in the details, but this is definitely what it boils
down to. Shouldn't the MinGW Makefiles generator take care of these
two naming conventions?

Regards,

Arjen



DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
contain confidential and privileged information. If you are not the intended 
recipient please notify the sender immediately and destroy this message. 
Unauthorized use, disclosure or copying of this message is strictly prohibited.
The foundation 'Stichting Deltares', which has its seat at Delft, The 
Netherlands, Commercial Registration Number 41146461, is not liable in any way 
whatsoever for consequences and/or damages resulting from the improper, 
incomplete and untimely dispatch, receipt and/or content of this e-mail.




___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake