@@ -4,83 +4,48 @@ macro_rules! feature {
4
4
} ;
5
5
}
6
6
7
- fn get_hdf5_version ( ) -> String {
8
- let ( major, minor, patch) = std:: env:: vars ( )
9
- . filter_map ( |( key, value) | {
10
- key. strip_prefix ( "DEP_HDF5_VERSION_" ) . map ( |key| {
11
- assert_eq ! ( value, "1" ) ;
12
- let mut version = key. split ( '_' ) ;
13
- let major: usize = version. next ( ) . unwrap ( ) . parse ( ) . unwrap ( ) ;
14
- let minor: usize = version. next ( ) . unwrap ( ) . parse ( ) . unwrap ( ) ;
15
- let patch: usize = version. next ( ) . unwrap ( ) . parse ( ) . unwrap ( ) ;
16
-
17
- ( major, minor, patch)
18
- } )
19
- } )
20
- . max ( )
21
- . expect ( "Crate hdf5 should have emitted a hdf5 version" ) ;
22
-
23
- format ! ( "{major}.{minor}.{patch}" )
24
- }
25
-
26
7
fn main ( ) {
27
8
println ! ( "cargo::rerun-if-changed=build.rs" ) ;
28
9
29
10
let hdf5_incdir = std:: env:: var ( "DEP_HDF5_INCLUDE" ) . unwrap ( ) ;
30
- let mut hdf5_lib = std:: env:: var ( "DEP_HDF5_LIBRARY" ) . unwrap ( ) ;
31
- let mut hdf5_hl_lib = std:: env:: var ( "DEP_HDF5_HL_LIBRARY" ) . unwrap ( ) ;
32
-
33
- #[ cfg( unix) ]
34
- {
35
- let hdf5_root = format ! ( "{hdf5_incdir}/../" ) ;
36
- let mut hdf5_libdir = format ! ( "{hdf5_root}/lib/" ) ;
37
- if !std:: path:: Path :: new ( & hdf5_libdir) . exists ( ) {
38
- hdf5_libdir = format ! ( "{hdf5_root}/lib64/" ) ;
39
- }
40
- hdf5_lib = format ! ( "{hdf5_libdir}/{hdf5_lib}.a" ) ;
41
- hdf5_hl_lib = format ! ( "{hdf5_libdir}/{hdf5_hl_lib}.a" ) ;
42
- }
43
-
44
- let hdf5_version = get_hdf5_version ( ) ;
11
+ let hdf5_root = format ! ( "{hdf5_incdir}/../" ) ;
45
12
46
13
let mut netcdf_config = cmake:: Config :: new ( "source" ) ;
47
14
netcdf_config
48
15
. define ( "BUILD_SHARED_LIBS" , "OFF" )
49
- . define ( "NC_FIND_SHARED_LIBS" , "OFF" )
50
- . define ( "BUILD_UTILITIES" , "OFF" )
51
- . define ( "ENABLE_EXAMPLES" , "OFF" )
52
- . define ( "ENABLE_DAP_REMOTE_TESTS" , "OFF" )
53
- . define ( "ENABLE_TESTS" , "OFF" )
54
- . define ( "ENABLE_EXTREME_NUMBERS" , "OFF" )
55
- . define ( "ENABLE_PARALLEL_TESTS" , "OFF" )
56
- . define ( "ENABLE_FILTER_TESTING" , "OFF" )
16
+ . define ( "NETCDF_FIND_SHARED_LIBS" , "OFF" )
17
+ . define ( "NETCDF_BUILD_UTILITIES" , "OFF" )
18
+ . define ( "NETCDF_ENABLE_EXAMPLES" , "OFF" )
19
+ . define ( "NETCDF_ENABLE_DAP_REMOTE_TESTS" , "OFF" )
20
+ . define ( "NETCDF_ENABLE_TESTS" , "OFF" )
21
+ . define ( "NETCDF_ENABLE_EXTREME_NUMBERS" , "OFF" )
22
+ . define ( "NETCDF_ENABLE_FILTER_TESTING" , "OFF" )
23
+ . define ( "NETCDF_ENABLE_PARALLEL_TESTS" , "OFF" )
24
+ . define ( "NETCDF_ENABLE_FILTER_TESTING" , "OFF" )
57
25
. define ( "ENABLE_BASH_SCRIPT_TESTING" , "OFF" )
58
- . define ( "ENABLE_PLUGINS " , "OFF" )
26
+ . define ( "NETCDF_NETCDF_ENABLE_PLUGINS " , "OFF" )
59
27
. define ( "PLUGIN_INSTALL_DIR" , "OFF" )
60
28
//
61
- . define ( "HDF5_VERSION" , & hdf5_version)
62
- . define ( "HDF5_C_LIBRARY" , & hdf5_lib)
63
- . define ( "HDF5_HL_LIBRARY" , & hdf5_hl_lib)
64
- . define ( "HDF5_INCLUDE_DIR" , hdf5_incdir)
29
+ . define ( "HDF5_ROOT" , & hdf5_root)
30
+ . define ( "HDF5_USE_STATIC_LIBRARIES" , "ON" )
65
31
//
66
- . define ( "ENABLE_LIBXML2 " , "OFF" ) // Use bundled xml2
32
+ . define ( "NETCDF_ENABLE_LIBXML2 " , "OFF" ) // Use bundled xml2
67
33
//
68
- . define ( "ENABLE_PARALLEL4 " , "OFF" ) // TODO: Enable mpi support
34
+ . define ( "NETCDF_ENABLE_PARALLEL4 " , "OFF" ) // TODO: Enable mpi support
69
35
//
70
- . define ( "ENABLE_NCZARR " , "OFF" ) // TODO: requires a bunch of deps
36
+ . define ( "NETCDF_ENABLE_NCZARR " , "OFF" ) // TODO: requires a bunch of deps
71
37
//
72
- . define ( "ENABLE_DAP" , "OFF" ) // TODO: feature flag, requires curl
73
- . define ( "ENABLE_BYTERANGE" , "OFF" ) // TODO: feature flag, requires curl
74
- . define ( "ENABLE_DAP_REMOTE_TESTS" , "OFF" )
38
+ . define ( "NETCDF_ENABLE_DAP" , "OFF" ) // TODO: feature flag, requires curl
39
+ . define ( "NETCDF_ENABLE_BYTERANGE" , "OFF" ) // TODO: feature flag, requires curl
75
40
//
76
41
. profile ( "RelWithDebInfo" ) ; // TODO: detect opt-level
77
42
78
43
let zlib_include_dir = std:: env:: var ( "DEP_Z_INCLUDE" ) . unwrap ( ) ;
79
44
netcdf_config. define ( "ZLIB_ROOT" , format ! ( "{zlib_include_dir}/.." ) ) ;
80
45
81
46
if feature ! ( "DAP" ) . is_ok ( ) {
82
- netcdf_config. define ( "ENABLE_DAP " , "ON" ) ;
83
- netcdf_config. define ( "ENABLE_BYTERANGE " , "ON" ) ;
47
+ netcdf_config. define ( "NETCDF_ENABLE_DAP " , "ON" ) ;
48
+ netcdf_config. define ( "NETCDF_ENABLE_BYTERANGE " , "ON" ) ;
84
49
}
85
50
86
51
if feature ! ( "MPI" ) . is_ok ( ) {
0 commit comments