@@ -28,14 +28,23 @@ fn main() {
28
28
. define ( "BUILD_STATIC_LIB" , "ON" )
29
29
. define ( "USE_CUDA" , "ON" )
30
30
. define ( "BUILD_WITH_CUDA" , "ON" )
31
- . define ( "BUILD_WITH_CUDA_CUB" , "ON" )
32
- . build ( ) ;
31
+ . define ( "BUILD_WITH_CUDA_CUB" , "ON" ) ;
33
32
34
33
#[ cfg( not( feature = "cuda" ) ) ]
35
- let dst = Config :: new ( & xgb_root)
36
- . uses_cxx11 ( )
37
- . define ( "BUILD_STATIC_LIB" , "ON" )
38
- . build ( ) ;
34
+ let mut dst = Config :: new ( & xgb_root) ;
35
+
36
+ let dst = dst. uses_cxx11 ( )
37
+ . define ( "BUILD_STATIC_LIB" , "ON" ) ;
38
+
39
+ #[ cfg( target_os = "macos" ) ]
40
+ let dst =
41
+ dst
42
+ . define ( "CMAKE_C_COMPILER" , "/opt/homebrew/opt/llvm/bin/clang" )
43
+ . define ( "CMAKE_CXX_COMPILER" , "/opt/homebrew/opt/llvm/bin/clang++" )
44
+ . define ( "OPENMP_LIBRARIES" , "/opt/homebrew/opt/llvm/lib" )
45
+ . define ( "OPENMP_INCLUDES" , "/opt/homebrew/opt/llvm/include" ) ;
46
+
47
+ let dst = dst. build ( ) ;
39
48
40
49
let xgb_root = xgb_root. canonicalize ( ) . unwrap ( ) ;
41
50
@@ -57,6 +66,10 @@ fn main() {
57
66
. generate ( )
58
67
. expect ( "Unable to generate bindings." ) ;
59
68
69
+ #[ cfg( targe_os = "darwin" ) ]
70
+ let bindings = bindings
71
+ . clang_arg ( "-L/opt/homebrew/Cellar/libomp/16.0.6/lib/" ) ;
72
+
60
73
let out_path = PathBuf :: from ( env:: var ( "OUT_DIR" ) . unwrap ( ) ) ;
61
74
bindings
62
75
. write_to_file ( out_path. join ( "bindings.rs" ) )
0 commit comments