Re: [netcdfgroup] cmake changes

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [netcdfgroup] cmake changes

Pedro Vicente

 

Another thing that needs fixing in the Cmake script

 

 

Hdf5 is a bit of a mess regarding the use use of header files

Instead of simply having one “hdf5.h”, there are many and they are scattered all over the place

 

When using cmake and *NOT* doing an install, there are 3 header files that netCDF needs

From hdf5

 

In this example %root% is some path

 

“hdf5.h”

needs

-DHDF5_INCLUDE_DIR=%root%/hdf5/src

 

Also needed is “H5pubconf.h”

That is generated by cmake

Here in the “build” subfolder because that was the location of the cmake build

-DHAVE_HDF5_H=%root%/hdf5/build

 

And finally the high level header files

 

Located in

-DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src

 

So this new symbol “HDF5_HL_INCLUDE_DIR”

Needs to be added , like this

 

INCLUDE_DIRECTORIES(${HDF5_HL_INCLUDE_DIR})

 

Another symbol would be needed for the location of

“H5pubconf.h”

 

But the script has a “HAVE_HDF5_H” that can be used like this

 

 

cmake .. -G "NMake Makefiles" ^

           -DCMAKE_BUILD_TYPE=Debug ^

           -DBUILD_SHARED_LIBS=OFF ^

           -DHDF5_HL_LIBRARY=%root%/hdf5/build/bin/libhdf5_hl_D.lib ^

           -DHDF5_C_LIBRARY=%root%/hdf5/build/bin/libhdf5_D.lib ^

           -DHDF5_INCLUDE_DIR=%root%/hdf5/src ^

           -DZLIB_LIBRARY:FILE=%root%/zlib/build/zlibstaticd.lib ^

           -DZLIB_INCLUDE_DIR:PATH=%root%/zlib ^

           -DHAVE_HDF5_H=%root%/hdf5/build ^

           -DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src ^

           -DCURL_LIBRARY=%root%/curl/build/lib/libcurl-d_imp.lib ^

           -DCURL_INCLUDE_DIR=%root%/curl/include

 

 

 

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

 

From: [hidden email]
Sent: Thursday, December 28, 2017 1:51 PM
To: [hidden email]
Subject: Re: [netcdfgroup] cmake option NC_USE_STATIC_CRT

 

this can be fixed if in CMakeLists.txt,  you move the definition of

 

MACRO(specify_static_crt_flag)

 

before its call at

 

IF(MSVC)
  OPTION(NC_USE_STATIC_CRT "Use static CRT Libraries ('\\MT')." OFF)

 

could anyone push this fix to the repo?

 

I am relying on a script that assumes the github versions of the libraries build

 

thanks

 

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

----- Original Message -----

Sent: Thursday, December 28, 2017 1:22 PM

Subject: [netcdfgroup] cmake option NC_USE_STATIC_CRT

 

I am trying to build a script that clones and builds a series of libraries , including netcdf

 

On Windows, in a command prompt, I did

 

 

cd netcdf-c

mkdir build

cd build

cmake .. -DNC_USE_STATIC_CRT=ON

 

and I get this error

CMake Error at CMakeLists.txt:334 (specify_static_crt_flag):

  Unknown CMake command "specify_static_crt_flag".

this is the code called

 IF(MSVC)
  OPTION(NC_USE_STATIC_CRT "Use static CRT Libraries ('\\MT')." OFF)
  IF(NC_USE_STATIC_CRT)
    SET(USE_STATIC_CRT ON)
    specify_static_crt_flag()
  ENDIF()
ENDIF()

"specify_static_crt_flag" is a macro included in CMakeLists.txt

MACRO(specify_static_crt_flag)

so, I'm not sure why this gives that error

thanks

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

 

 

 

_______________________________________________
NOTE: All exchanges posted to Unidata maintained email lists are
recorded in the Unidata inquiry tracking system and made publicly
available through the web.  Users who post to any of the lists we
maintain are reminded to remove any personal information that they
do not want to be made public.


netcdfgroup mailing list
[hidden email]
For list information or to unsubscribe,  visit: http://www.unidata.ucar.edu/mailing_lists/

 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
Reply | Threaded
Open this post in threaded view
|

Re: [netcdfgroup] cmake changes

Pedro Vicente

To test the bug, do on a windows shell

 

 

git clone https://github.com/nco/nco

cd nco/cmake

clone.bat

dep.bat

 

dep.bat

builds the current netcdf repo using cmake (actually the 4.50 tag) and its dependencies, like hdf5

 

the cmake build will fail because it cannot find the hdf5 HL headers

 

 

 

 

From: [hidden email]
Sent: Friday, December 29, 2017 2:26 PM
To: [hidden email]
Cc: [hidden email]
Subject: Re: [netcdfgroup] cmake changes

 

 

Another thing that needs fixing in the Cmake script

 

 

Hdf5 is a bit of a mess regarding the use use of header files

Instead of simply having one “hdf5.h”, there are many and they are scattered all over the place

 

When using cmake and *NOT* doing an install, there are 3 header files that netCDF needs

From hdf5

 

In this example %root% is some path

 

“hdf5.h”

needs

-DHDF5_INCLUDE_DIR=%root%/hdf5/src

 

Also needed is “H5pubconf.h”

That is generated by cmake

Here in the “build” subfolder because that was the location of the cmake build

-DHAVE_HDF5_H=%root%/hdf5/build

 

And finally the high level header files

 

Located in

-DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src

 

So this new symbol “HDF5_HL_INCLUDE_DIR”

Needs to be added , like this

 

INCLUDE_DIRECTORIES(${HDF5_HL_INCLUDE_DIR})

 

Another symbol would be needed for the location of

“H5pubconf.h”

 

But the script has a “HAVE_HDF5_H” that can be used like this

 

 

cmake .. -G "NMake Makefiles" ^

           -DCMAKE_BUILD_TYPE=Debug ^

           -DBUILD_SHARED_LIBS=OFF ^

           -DHDF5_HL_LIBRARY=%root%/hdf5/build/bin/libhdf5_hl_D.lib ^

           -DHDF5_C_LIBRARY=%root%/hdf5/build/bin/libhdf5_D.lib ^

           -DHDF5_INCLUDE_DIR=%root%/hdf5/src ^

           -DZLIB_LIBRARY:FILE=%root%/zlib/build/zlibstaticd.lib ^

           -DZLIB_INCLUDE_DIR:PATH=%root%/zlib ^

           -DHAVE_HDF5_H=%root%/hdf5/build ^

           -DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src ^

           -DCURL_LIBRARY=%root%/curl/build/lib/libcurl-d_imp.lib ^

           -DCURL_INCLUDE_DIR=%root%/curl/include

 

 

 

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

 

From: [hidden email]
Sent: Thursday, December 28, 2017 1:51 PM
To: [hidden email]
Subject: Re: [netcdfgroup] cmake option NC_USE_STATIC_CRT

 

this can be fixed if in CMakeLists.txt,  you move the definition of

 

MACRO(specify_static_crt_flag)

 

before its call at

 

IF(MSVC)
  OPTION(NC_USE_STATIC_CRT "Use static CRT Libraries ('\\MT')." OFF)

 

could anyone push this fix to the repo?

 

I am relying on a script that assumes the github versions of the libraries build

 

thanks

 

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

----- Original Message -----

Sent: Thursday, December 28, 2017 1:22 PM

Subject: [netcdfgroup] cmake option NC_USE_STATIC_CRT

 

I am trying to build a script that clones and builds a series of libraries , including netcdf

 

On Windows, in a command prompt, I did

 

 

cd netcdf-c

mkdir build

cd build

cmake .. -DNC_USE_STATIC_CRT=ON

 

and I get this error

CMake Error at CMakeLists.txt:334 (specify_static_crt_flag):

  Unknown CMake command "specify_static_crt_flag".

this is the code called

 IF(MSVC)
  OPTION(NC_USE_STATIC_CRT "Use static CRT Libraries ('\\MT')." OFF)
  IF(NC_USE_STATIC_CRT)
    SET(USE_STATIC_CRT ON)
    specify_static_crt_flag()
  ENDIF()
ENDIF()

"specify_static_crt_flag" is a macro included in CMakeLists.txt

MACRO(specify_static_crt_flag)

so, I'm not sure why this gives that error

thanks

----------------------
Pedro Vicente
http://www.space-research.org/

 

 

 

 

 

cid:image002.png@01D380B0.FA4E20E0

_______________________________________________
NOTE: All exchanges posted to Unidata maintained email lists are
recorded in the Unidata inquiry tracking system and made publicly
available through the web.  Users who post to any of the lists we
maintain are reminded to remove any personal information that they
do not want to be made public.


netcdfgroup mailing list
[hidden email]
For list information or to unsubscribe,  visit: http://www.unidata.ucar.edu/mailing_lists/

 

 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5