File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -110,6 +110,7 @@ pub struct CmakeProbe<'r> {
110
110
package_name : & ' r str ,
111
111
toolchain : Option < & ' r Path > ,
112
112
is_release : bool ,
113
+ args : Option < & ' r str > ,
113
114
}
114
115
115
116
impl < ' r > CmakeProbe < ' r > {
@@ -120,6 +121,7 @@ impl<'r> CmakeProbe<'r> {
120
121
package_name : & ' r str ,
121
122
toolchain : Option < & ' r Path > ,
122
123
is_release : bool ,
124
+ args : Option < & ' r str > ,
123
125
) -> Self {
124
126
Self {
125
127
cmake_bin : cmake_bin. unwrap_or_else ( || "cmake" . into ( ) ) ,
@@ -128,6 +130,7 @@ impl<'r> CmakeProbe<'r> {
128
130
package_name,
129
131
toolchain,
130
132
is_release,
133
+ args,
131
134
}
132
135
}
133
136
@@ -162,6 +165,9 @@ impl<'r> CmakeProbe<'r> {
162
165
} else {
163
166
out. arg ( "-DCMAKE_BUILD_TYPE=Debug" ) ;
164
167
}
168
+ if let Some ( args) = & self . args {
169
+ out. args ( args. split ( ' ' ) ) ;
170
+ }
165
171
out
166
172
}
167
173
Original file line number Diff line number Diff line change @@ -341,13 +341,16 @@ impl Library {
341
341
cmake_bin : Option < & Path > ,
342
342
ninja_bin : Option < & Path > ,
343
343
) -> Result < Self > {
344
+ let toolchain_var = env:: var_os ( "OPENCV_CMAKE_TOOLCHAIN_FILE" ) . map ( PathBuf :: from) ;
345
+ let toolchain = toolchain. or_else ( || toolchain_var. as_ref ( ) . map ( PathBuf :: as_path) ) ;
344
346
eprintln ! (
345
347
"=== Probing OpenCV library using cmake{}" ,
346
348
toolchain. map_or_else( || "" . to_string( ) , |tc| format!( " with toolchain: {}" , tc. display( ) ) )
347
349
) ;
348
350
349
351
let src_dir = MANIFEST_DIR . join ( "cmake" ) ;
350
352
let package_name = PackageName :: cmake ( ) ;
353
+ let args = env:: var_os ( "OPENCV_CMAKE_ARGS" ) ;
351
354
let cmake = CmakeProbe :: new (
352
355
env:: var_os ( "OPENCV_CMAKE_BIN" )
353
356
. map ( PathBuf :: from)
@@ -357,6 +360,7 @@ impl Library {
357
360
package_name. as_ref ( ) ,
358
361
toolchain,
359
362
env:: var_os ( "PROFILE" ) . is_some_and ( |p| p == "release" ) ,
363
+ args. as_ref ( ) . and_then ( |p| p. to_str ( ) ) ,
360
364
) ;
361
365
let mut probe_result = cmake
362
366
. probe_ninja ( ninja_bin)
You can’t perform that action at this time.
0 commit comments