@@ -45,9 +45,32 @@ else()
45
45
execute_process ( COMMAND ${NETCDF_PROGRAM} --prefix OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_PREFIX )
46
46
execute_process ( COMMAND ${NETCDF_PROGRAM} --libs OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_CLIBS )
47
47
execute_process ( COMMAND ${NETCDF_PROGRAM} --version OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_VERSION_RAW )
48
- execute_process ( COMMAND ${NETCDF_PROGRAM} --has-nc4 OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_NC4_YES )
49
- execute_process ( COMMAND ${NETCDF_PROGRAM} --has-pnetcdf OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_PNETCDF_YES )
50
- execute_process ( COMMAND ${NETCDF_PROGRAM} --has-parallel OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_PARALLEL_YES )
48
+
49
+ # These do not pull all options available from nc-config out, but rather mirrors what is available from netCDFConfig.cmake.in
50
+ set (
51
+ netCDF_QUERY_YES_OPTIONS
52
+ dap
53
+ dap2
54
+ dap4
55
+ nc2
56
+ nc4
57
+ hdf5
58
+ hdf4
59
+ pnetcdf
60
+ parallel
61
+
62
+ # These are not part of the config but used in this to provide the properly linking
63
+ szlib
64
+ zstd
65
+ )
66
+
67
+ foreach ( NC_QUERY ${netCDF_QUERY_YES_OPTIONS} )
68
+ execute_process ( COMMAND ${NETCDF_PROGRAM} --has-${NC_QUERY} OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE netCDF_${NC_QUERY} _LOWERCASE )
69
+ string ( TOUPPER ${NC_QUERY} NC_QUERY_UPPERCASE )
70
+ string ( TOUPPER ${netCDF_${NC_QUERY} _LOWERCASE} NC_ANSWER_UPPERCASE )
71
+ # Convert to netCDF_HAS_* = YES/NO - Note this cannot be generator expression if you want to use it during configuration time
72
+ set ( netCDF_HAS_${NC_QUERY_UPPERCASE} ${NC_ANSWER_UPPERCASE} )
73
+ endforeach ()
51
74
52
75
# check for large file support
53
76
find_file ( netCDF_INCLUDE_FILE netcdf.h ${netCDF_INCLUDE_DIR} )
@@ -63,13 +86,7 @@ else()
63
86
string ( REPLACE " " ";" netCDF_VERSION_LIST ${netCDF_VERSION_RAW} )
64
87
list ( GET netCDF_VERSION_LIST -1 netCDF_VERSION )
65
88
66
- # Convert to YES/NO - Note cannot be generator expression if you want to use it during configuration time
67
- string ( TOUPPER ${netCDF_NC4_YES} netCDF_NC4 )
68
- string ( TOUPPER ${netCDF_PNETCDF_YES} netCDF_PNETCDF )
69
- string ( TOUPPER ${netCDF_PARALLEL_YES} netCDF_PARALLEL )
70
-
71
89
set ( netCDF_DEFINITIONS )
72
-
73
90
set ( netCDF_LIBRARIES
74
91
# All supported language variants will need this regardless - this may conflict with the RPATH in any
75
92
# supplemental packages so be careful to use compatible langauge versions of netCDF
0 commit comments