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: Pedro Vicente
Sent: Thursday, December 28, 2017 1:51 PM
To: netcdfgroup@xxxxxxxxxxxxxxxx
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 ----- 
From: Pedro Vicente 
To: netcdfgroup@xxxxxxxxxxxxxxxx 
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
 
 
git clone https://github.com/Unidata/netcdf-c
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
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe,  visit: 
http://www.unidata.ucar.edu/mailing_lists/

PNG image

  • 2017 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: