static lib names with cmake build in 1.8.6pre2

Hi,

When building HDF5 with static libraries on linux using cmake, the libraries created are liblibhdf5.a liblibhdf5_hl.a ... instead of libhdf5.a etc. Here is a fix for it which I hope can still be integrated for 1.8.6.

diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake
index a20e3b5..9751ddd 100644
--- a/config/cmake/HDF5Macros.cmake
+++ b/config/cmake/HDF5Macros.cmake
@@ -73,8 +73,8 @@ MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype)
          SET (LIB_DEBUG_NAME "lib${libname}_D")
        ENDIF (H5_LEGACY_NAMING)
      ELSE (WIN32 AND NOT MINGW)
- SET (LIB_RELEASE_NAME "lib${libname}")
- SET (LIB_DEBUG_NAME "lib${libname}_debug")
+ SET (LIB_RELEASE_NAME "${libname}")
+ SET (LIB_DEBUG_NAME "${libname}_debug")
      ENDIF (WIN32 AND NOT MINGW)
    ENDIF (${libtype} MATCHES "SHARED")

Thanks,

Jerome

···

--
Jérôme Soumagne
Scientific Computing Research Group
CSCS, Swiss National Supercomputing Centre
Galleria 2, Via Cantonale | Tel: +41 (0)91 610 8258
CH-6928 Manno, Switzerland | Fax: +41 (0)91 610 8282

Jerome,
  I can't duplicate it on my fedora 13 machine, what linux are you using? Also what options?

Allen

···

Hi,

When building HDF5 with static libraries on linux using cmake, the
libraries created are liblibhdf5.a liblibhdf5_hl.a ... instead of
libhdf5.a etc. Here is a fix for it which I hope can still be integrated
for 1.8.6.

diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake
index a20e3b5..9751ddd 100644
--- a/config/cmake/HDF5Macros.cmake
+++ b/config/cmake/HDF5Macros.cmake
@@ -73,8 +73,8 @@ MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype)
          SET (LIB_DEBUG_NAME "lib${libname}_D")
        ENDIF (H5_LEGACY_NAMING)
      ELSE (WIN32 AND NOT MINGW)
- SET (LIB_RELEASE_NAME "lib${libname}")
- SET (LIB_DEBUG_NAME "lib${libname}_debug")
+ SET (LIB_RELEASE_NAME "${libname}")
+ SET (LIB_DEBUG_NAME "${libname}_debug")
      ENDIF (WIN32 AND NOT MINGW)
    ENDIF (${libtype} MATCHES "SHARED")

Thanks,

Jerome

Allen,

you get this when you set the CMAKE_BUILD_TYPE to either Release, Debug, etc. I have fedora 13 too.
I do something like this (with more options):
cmake -DCMAKE_BUILD_TYPE="RelWithDebInfo" ../hdf5-1.8.6-pre2

Just noticed that the problem does not appear if CMAKE_BUILD_TYPE is not set.

Jerome

···

On 11/16/2010 02:12 PM, Allen D Byrne wrote:

Jerome,

I can't duplicate it on my fedora 13 machine, what linux are you using? Also what options?

Allen

> Hi,

>

> When building HDF5 with static libraries on linux using cmake, the

> libraries created are liblibhdf5.a liblibhdf5_hl.a ... instead of

> libhdf5.a etc. Here is a fix for it which I hope can still be integrated

> for 1.8.6.

>

> diff --git a/config/cmake/HDF5Macros.cmake b/config/cmake/HDF5Macros.cmake

> index a20e3b5..9751ddd 100644

> --- a/config/cmake/HDF5Macros.cmake

> +++ b/config/cmake/HDF5Macros.cmake

> @@ -73,8 +73,8 @@ MACRO (H5_SET_LIB_OPTIONS libtarget libname libtype)

> SET (LIB_DEBUG_NAME "lib${libname}_D")

> ENDIF (H5_LEGACY_NAMING)

> ELSE (WIN32 AND NOT MINGW)

> - SET (LIB_RELEASE_NAME "lib${libname}")

> - SET (LIB_DEBUG_NAME "lib${libname}_debug")

> + SET (LIB_RELEASE_NAME "${libname}")

> + SET (LIB_DEBUG_NAME "${libname}_debug")

> ENDIF (WIN32 AND NOT MINGW)

> ENDIF (${libtype} MATCHES "SHARED")

>

> Thanks,

>

> Jerome

>

>