@@ -29,7 +29,7 @@ impl Version {
29
29
}
30
30
31
31
pub fn parse ( s : & str ) -> Option < Self > {
32
- let re = Regex :: new ( r"^(1)\.(8|10|12|13)\.(\d\d?)(_\d+)?(-patch\d+)?$" ) . ok ( ) ?;
32
+ let re = Regex :: new ( r"^(1)\.(8|10|12|13|14 )\.(\d\d?)(_\d+)?(-( patch)? \d+)?$" ) . ok ( ) ?;
33
33
let captures = re. captures ( s) ?;
34
34
Some ( Self {
35
35
major : captures. get ( 1 ) . and_then ( |c| c. as_str ( ) . parse :: < u8 > ( ) . ok ( ) ) ?,
@@ -305,14 +305,15 @@ mod macos {
305
305
}
306
306
// We have to explicitly support homebrew since the HDF5 bottle isn't
307
307
// packaged with pkg-config metadata.
308
- let ( v18, v110, v112) = if let Some ( version) = config. version {
308
+ let ( v18, v110, v112, v114 ) = if let Some ( version) = config. version {
309
309
(
310
310
version. major == 1 && version. minor == 8 ,
311
311
version. major == 1 && version. minor == 10 ,
312
312
version. major == 1 && version. minor == 12 ,
313
+ version. major == 1 && version. minor == 14 ,
313
314
)
314
315
} else {
315
- ( false , false , false )
316
+ ( false , false , false , false )
316
317
} ;
317
318
println ! (
318
319
"Attempting to find HDF5 via Homebrew ({})..." ,
@@ -322,10 +323,19 @@ mod macos {
322
323
"1.10.*"
323
324
} else if v112 {
324
325
"1.12.*"
326
+ } else if v114 {
327
+ "1.14.*"
325
328
} else {
326
329
"any version"
327
330
}
328
331
) ;
332
+ if !( v18 || v110 || v112) {
333
+ if let Some ( out
) =
run_command ( "brew" , & [ "--prefix" , "[email protected] " ] ) {
334
+ if is_root_dir ( & out) {
335
+ config. inc_dir = Some ( PathBuf :: from ( out) . join ( "include" ) ) ;
336
+ }
337
+ }
338
+ }
329
339
if !( v18 || v110) {
330
340
if let Some ( out
) =
run_command ( "brew" , & [ "--prefix" , "[email protected] " ] ) {
331
341
if is_root_dir ( & out) {
@@ -611,8 +621,9 @@ impl Config {
611
621
assert ! ( version >= Version :: new( 1 , 8 , 4 ) , "required HDF5 version: >=1.8.4" ) ;
612
622
let mut vs: Vec < _ > = ( 5 ..=21 ) . map ( |v| Version :: new ( 1 , 8 , v) ) . collect ( ) ; // 1.8.[5-21]
613
623
vs. extend ( ( 0 ..=8 ) . map ( |v| Version :: new ( 1 , 10 , v) ) ) ; // 1.10.[0-8]
614
- vs. extend ( ( 0 ..=1 ) . map ( |v| Version :: new ( 1 , 12 , v) ) ) ; // 1.12.[0-1 ]
624
+ vs. extend ( ( 0 ..=2 ) . map ( |v| Version :: new ( 1 , 12 , v) ) ) ; // 1.12.[0-2 ]
615
625
vs. extend ( ( 0 ..=0 ) . map ( |v| Version :: new ( 1 , 13 , v) ) ) ; // 1.13.[0-0]
626
+ vs. extend ( ( 0 ..=0 ) . map ( |v| Version :: new ( 1 , 14 , v) ) ) ; // 1.14.[0-0]
616
627
for v in vs. into_iter ( ) . filter ( |& v| version >= v) {
617
628
println ! ( "cargo:rustc-cfg=feature=\" {}.{}.{}\" " , v. major, v. minor, v. micro) ;
618
629
println ! ( "cargo:version_{}_{}_{}=1" , v. major, v. minor, v. micro) ;
0 commit comments