@@ -60,7 +60,15 @@ fn main() {
60
60
let feat_window = env:: var ( "CARGO_FEATURE_WINDOW" ) . is_ok ( ) ;
61
61
let feat_graphics = env:: var ( "CARGO_FEATURE_GRAPHICS" ) . is_ok ( ) ;
62
62
let mut cmake = cmake:: Config :: new ( "SFML" ) ;
63
+ let cmake_debug = cmake. get_profile ( ) == "Debug" ;
64
+ let msvc_rt = if cmake_debug {
65
+ "MultiThreadedDebug"
66
+ } else {
67
+ "MultiThreaded"
68
+ } ;
63
69
cmake
70
+ . define ( "CMAKE_MSVC_RUNTIME_LIBRARY" , msvc_rt)
71
+ . define ( "SFML_USE_STATIC_STD_LIBS" , "TRUE" )
64
72
. define ( "BUILD_SHARED_LIBS" , "FALSE" )
65
73
. define ( "SFML_BUILD_NETWORK" , "FALSE" )
66
74
. define ( "SFML_INSTALL_PKGCONFIG_FILES" , "FALSE" )
@@ -159,10 +167,9 @@ fn main() {
159
167
let is_linux = env:: var ( "CARGO_CFG_TARGET_OS" )
160
168
. map ( |os| os == "linux" )
161
169
. unwrap_or ( false ) ;
162
- let debug = cmake. get_profile ( ) == "Debug" ;
163
170
// I have no idea why this is different on Windows and Linux
164
171
let link_search = if is_windows {
165
- if debug {
172
+ if cmake_debug {
166
173
"build/lib/Debug"
167
174
} else {
168
175
"build/lib/Release"
@@ -175,20 +182,20 @@ fn main() {
175
182
path. join( link_search) . display( )
176
183
) ;
177
184
println ! ( "cargo:rustc-link-lib=static=rcsfml" ) ;
178
- link_sfml_subsystem ( "system" , debug ) ;
185
+ link_sfml_subsystem ( "system" , cmake_debug ) ;
179
186
if is_unix && is_linux {
180
187
static_link_linux ( feat_window, feat_audio, feat_graphics) ;
181
188
} else if is_windows {
182
189
static_link_windows ( feat_window, feat_audio, feat_graphics) ;
183
190
}
184
191
if feat_audio {
185
- link_sfml_subsystem ( "audio" , debug ) ;
192
+ link_sfml_subsystem ( "audio" , cmake_debug ) ;
186
193
}
187
194
if feat_window {
188
- link_sfml_subsystem ( "window" , debug ) ;
195
+ link_sfml_subsystem ( "window" , cmake_debug ) ;
189
196
}
190
197
if feat_graphics {
191
- link_sfml_subsystem ( "graphics" , debug ) ;
198
+ link_sfml_subsystem ( "graphics" , cmake_debug ) ;
192
199
}
193
200
}
194
201
0 commit comments