Skip to content

Commit

Permalink
Fix LNK4098 warning from sentencepiece forcibly changing the build fl…
Browse files Browse the repository at this point in the history
…ags (microsoft#516)

* Fix LNK4098 warning from sentencepiece forcibly changing the build flags.

> LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

* Use CMAKE_MSVC_RUNTIME_LIBRARY to determine whether /MT should be used.
  • Loading branch information
skottmckay committed Aug 10, 2023
1 parent 978ada6 commit cd416e2
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions cmake/externals/sentencepieceproject_cmake.patch
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3870cb..159cd84 100644
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3870cb..a8732f4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,7 +63,7 @@ if (MSVC)
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
@@ -59,11 +59,13 @@ else()
endif()

if (MSVC)
- string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
- string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
- string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
- string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
- add_definitions("/wd4267 /wd4244 /wd4305 /Zc:strictStrings /utf-8")
+ if (CMAKE_MSVC_RUNTIME_LIBRARY STREQUAL "MultiThreaded" OR CMAKE_MSVC_RUNTIME_LIBRARY STREQUAL "MultiThreadedDebug")
+ string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
+ string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
+ string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
+ string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
+ endif()
+ add_definitions("/wd4305 /Zc:strictStrings /utf-8")
endif()

if (APPLE)
@@ -108,7 +108,7 @@ if (SPM_USE_EXTERNAL_ABSL)
@@ -108,7 +110,7 @@ if (SPM_USE_EXTERNAL_ABSL)
endif()

add_subdirectory(src)
Expand Down

0 comments on commit cd416e2

Please sign in to comment.