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: Pedro Vicente
Sent: Friday, December 29, 2017 2:26 PM
To: netcdfgroup@xxxxxxxxxxxxxxxx
Cc: hdf-forum@xxxxxxxxxxxxxxxxxx
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: 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/