Skip to content

Commit 343687c

Browse files
authored
[CHERRY-PICK 1.8]fix windows bug that compile .cu files use MSVC dynamic C runtime (#24826)
* cherry-pick #24729
1 parent ab06556 commit 343687c

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

cmake/cuda.cmake

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,9 @@ set(CUDA_PROPAGATE_HOST_FLAGS OFF)
202202
# Release/Debug flags set by cmake. Such as -O3 -g -DNDEBUG etc.
203203
# So, don't set these flags here.
204204
if (NOT WIN32) # windows msvc2015 support c++11 natively.
205-
# -std=c++11 -fPIC not recoginize by msvc, -Xcompiler will be added by cmake.
206-
list(APPEND CUDA_NVCC_FLAGS "-std=c++11")
207-
list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -fPIC")
205+
# -std=c++11 -fPIC not recoginize by msvc, -Xcompiler will be added by cmake.
206+
list(APPEND CUDA_NVCC_FLAGS "-std=c++11")
207+
list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -fPIC")
208208
endif(NOT WIN32)
209209

210210
# in cuda9, suppress cuda warning on eigen
@@ -226,6 +226,11 @@ if (NOT WIN32)
226226
else(NOT WIN32)
227227
list(APPEND CUDA_NVCC_FLAGS "-Xcompiler \"/wd 4244 /wd 4267 /wd 4819\"")
228228
list(APPEND CUDA_NVCC_FLAGS "--compiler-options;/bigobj")
229+
if(MSVC_STATIC_CRT)
230+
list(APPEND CUDA_NVCC_FLAGS "-Xcompiler" "-MT$<$<CONFIG:Debug>:d>")
231+
else()
232+
list(APPEND CUDA_NVCC_FLAGS "-Xcompiler" "-MD$<$<CONFIG:Debug>:d>")
233+
endif()
229234
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
230235
list(APPEND CUDA_NVCC_FLAGS "-g -G")
231236
# match the cl's _ITERATOR_DEBUG_LEVEL

cmake/flags.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ foreach(flag ${GPU_COMMON_FLAGS})
217217
endforeach()
218218

219219
if(WIN32 AND MSVC_STATIC_CRT)
220-
# windows build turn off warnings.
221-
safe_set_static_flag()
220+
# windows build turn off warnings.
221+
safe_set_static_flag()
222222
foreach(flag_var
223223
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
224224
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO

0 commit comments

Comments
 (0)