Browse Source

MSVC: Use -D instead of /D in RC_FLAGS

llvm-rc can't handle definitions given with /D and without a space.
Zsolt Parragi 6 years ago
parent
commit
e53a968ed5
1 changed files with 4 additions and 2 deletions
  1. 4 2
      Modules/Platform/Windows-MSVC.cmake

+ 4 - 2
Modules/Platform/Windows-MSVC.cmake

@@ -374,10 +374,12 @@ macro(__windows_compiler_msvc_enable_rc flags)
     set(CMAKE_RC_COMPILER_INIT rc)
   endif()
   if(NOT CMAKE_RC_FLAGS_INIT)
-    string(APPEND CMAKE_RC_FLAGS_INIT " ${flags}")
+    # llvm-rc fails when flags are specified with /D and no space after
+    string(REPLACE " /D" " -D" fixed_flags " ${flags}")
+    string(APPEND CMAKE_RC_FLAGS_INIT " ${fixed_flags}")
   endif()
   if(NOT CMAKE_RC_FLAGS_DEBUG_INIT)
-    string(APPEND CMAKE_RC_FLAGS_DEBUG_INIT " /D_DEBUG")
+    string(APPEND CMAKE_RC_FLAGS_DEBUG_INIT " -D_DEBUG")
   endif()
 
   enable_language(RC)