@@ -188,6 +188,8 @@ function(build_external_dependencies)
188
188
set (CMAKE_SUB_BUILD_OPTIONS ${CMAKE_SUB_BUILD_OPTIONS}
189
189
--config Release )
190
190
endif ()
191
+ # On Windows, disable warning 4191: unsafe type conversion
192
+ set (disable_warnings "/WD4191" )
191
193
if (MSVC_RUNTIME_LIBRARY_STATIC )
192
194
set (CMAKE_SUB_CONFIGURE_OPTIONS ${CMAKE_SUB_CONFIGURE_OPTIONS}
193
195
-DCMAKE_C_FLAGS_RELEASE= "/MT"
@@ -196,13 +198,13 @@ function(build_external_dependencies)
196
198
-DCMAKE_CXX_FLAGS_DEBUG= "/MTd" )
197
199
if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
198
200
set (CMAKE_SUB_CONFIGURE_OPTIONS ${CMAKE_SUB_CONFIGURE_OPTIONS}
199
- -DCMAKE_C_FLAGS= "/MTd"
200
- -DCMAKE_CXX_FLAGS= "/MTd"
201
+ -DCMAKE_C_FLAGS= "/MTd ${disable_warnings} "
202
+ -DCMAKE_CXX_FLAGS= "/MTd ${disable_warnings} "
201
203
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug )
202
204
else ()
203
205
set (CMAKE_SUB_CONFIGURE_OPTIONS ${CMAKE_SUB_CONFIGURE_OPTIONS}
204
- -DCMAKE_C_FLAGS= "/MT"
205
- -DCMAKE_CXX_FLAGS= "/MT"
206
+ -DCMAKE_C_FLAGS= "/MT ${disable_warnings} "
207
+ -DCMAKE_CXX_FLAGS= "/MT ${disable_warnings} "
206
208
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded )
207
209
endif ()
208
210
else () # dynamic (DLL) runtime
@@ -213,13 +215,13 @@ function(build_external_dependencies)
213
215
-DCMAKE_CXX_FLAGS_DEBUG= "/MDd" )
214
216
if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
215
217
set (CMAKE_SUB_CONFIGURE_OPTIONS ${CMAKE_SUB_CONFIGURE_OPTIONS}
216
- -DCMAKE_C_FLAGS= "/MDd"
217
- -DCMAKE_CXX_FLAGS= "/MDd"
218
+ -DCMAKE_C_FLAGS= "/MDd ${disable_warnings} "
219
+ -DCMAKE_CXX_FLAGS= "/MDd ${disable_warnings} "
218
220
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL )
219
221
else ()
220
222
set (CMAKE_SUB_CONFIGURE_OPTIONS ${CMAKE_SUB_CONFIGURE_OPTIONS}
221
- -DCMAKE_C_FLAGS= "/MD"
222
- -DCMAKE_CXX_FLAGS= "/MD"
223
+ -DCMAKE_C_FLAGS= "/MD ${disable_warnings} "
224
+ -DCMAKE_CXX_FLAGS= "/MD ${disable_warnings} "
223
225
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL )
224
226
endif ()
225
227
endif ()
0 commit comments