[gdal-dev] cmake status update - 99% good news!

Joaquim Manuel Freire Luís jluis at ualg.pt
Tue Jan 25 11:26:36 PST 2022


>> I made also an attempt on Windows and so far my findings are:

>> The docs say that the PROJ variables should be

>> PROJ_INCLUDE_DIR
>> PROJ_LIBRARY_RELEASE

>> But the lib var must in fact be

>> PROJ_LIBRARY

> How do you build exactly ?

> If you build with "cmake --build . --config Release" then I believe PROJ_LIBRARY_RELEASE should be honored. Perhaps if you don't specify a configuration (is it possible with MSVC CMake builds ? I don't have a VM started right now), then PROJ_LIBRARY will be used.

I build with Ninja and by including a ConfigUser.make file (like GMT and NetCDF do) that is made of lines like

	set(PROJ_INCLUDE_DIR "C:/programs/compa_libs/proj5_GIT/compileds/VC14_64/include")
	set(PROJ_LIBRARY "C:/programs/compa_libs/proj5_GIT/compileds/VC14_64/lib/proj.lib")

I also built all the dependencies myself. I do this because I want to be able to control the dll file name (I'll get back to this in a future thread).

>> Couldn't yet find a way to build with HDF5, ECW and MRSID, which I can do with no problems with the current nmake solution.

> HDF5 1.12.1 is tested with Windows Conda builds


HDF5 is a bit confusing. Here I use the same settings that I use to build NetCDF, some settings are likely repeated but it works to build netCDF

set(HDF5_path C:/programs/compa_libs/hdf5-1.10.5)
set(HDF5_ROOT_DIR ${HDF5_path}/compileds/VC14_64)
set(HDF5_INCLUDE_DIRS ${HDF5_path}/compileds/VC14_32/include)
set(HDF5_LIBRARIES ${HDF5_path}/compileds/VC14_64/lib/hdf5.lib 	${HDF5_path}/compileds/VC14_64/lib/hdf5_hl.lib 	${HDF5_path}/compileds/VC14_${BITAGE}/lib/hdf5_hl_cpp.lib 	${HDF5_path}/compileds/VC14_${BITAGE}/lib/hdf5_cpp.lib)
set(HDF5_HL_LIBRARIES ${HDF5_path}/compileds/VC14_64/lib/hdf5.lib 	${HDF5_path}/compileds/VC14_${BITAGE}/lib/hdf5_hl.lib 	${HDF5_path}/compileds/VC14_${BITAGE}/lib/hdf5_hl_cpp.lib 	${HDF5_path}/compileds/VC14_${BITAGE}/lib/hdf5_cpp.lib)

but the build complains with

-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS) (found version "1.10.5")

>> For ECW, it looks like I tested on Windows with ECW 5.5

I use SDK 3.3 and

-- Could NOT find ECW (missing: ECWnet_LIBRARY ECWC_LIBRARY NCSUtil_LIBRARY) (found version "NCS_VERSION_NUMBER 3.3.0.161")

> For MrSID, not sure I tested on Windows. Works on Linux with
DSDK-9.5.4.4709-rhel6

I don't really know what to set in this one. I have MrSID_DSDK-8.5.0.3422, that works in the nmake build

	set(MRSID_INCLUDE_DIR "C:/programs/compa_libs/MrSID_DSDK-8.5.0.3422/compileds/VC14_64/include")
	set(MRSID_LIBRARY "C:/programs/compa_libs/MrSID_DSDK-8.5.0.3422/compileds/VC14_64/lib/lti_dsdk.lib")

and get

-- Could NOT find ECW (missing: ECWnet_LIBRARY ECWC_LIBRARY NCSUtil_LIBRARY) (found version "NCS_VERSION_NUMBER 3.3.0.161")


More information about the gdal-dev mailing list