diff options
Diffstat (limited to 'cmake/scripts/windows')
-rw-r--r-- | cmake/scripts/windows/ArchSetup.cmake | 10 | ||||
-rw-r--r-- | cmake/scripts/windows/CFlagOverrides.cmake | 7 | ||||
-rw-r--r-- | cmake/scripts/windows/CXXFlagOverrides.cmake | 7 |
3 files changed, 20 insertions, 4 deletions
diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake index 49a0f38a29..f0f8a085b5 100644 --- a/cmake/scripts/windows/ArchSetup.cmake +++ b/cmake/scripts/windows/ArchSetup.cmake @@ -62,9 +62,15 @@ set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_M # Additional SYSTEM_DEFINES list(APPEND SYSTEM_DEFINES -DHAS_WIN32_NETWORK -DHAS_FILESYSTEM_SMB) -# Make sure /FS is set for Visual Studio in order to prevent simultaneous access to pdb files. +# The /MP option enables /FS by default. if(CMAKE_GENERATOR MATCHES "Visual Studio") - set(CMAKE_CXX_FLAGS "/permissive- /MP /FS ${CMAKE_CXX_FLAGS}") + if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") + else() + set(MP_FLAG "/MP") + endif() + + set(CMAKE_CXX_FLAGS "/permissive- ${MP_FLAG} ${CMAKE_CXX_FLAGS}") endif() # Google Test needs to use shared version of runtime libraries diff --git a/cmake/scripts/windows/CFlagOverrides.cmake b/cmake/scripts/windows/CFlagOverrides.cmake index 1c796fda25..cd966899e1 100644 --- a/cmake/scripts/windows/CFlagOverrides.cmake +++ b/cmake/scripts/windows/CFlagOverrides.cmake @@ -1,5 +1,10 @@ if(MSVC) - set(CMAKE_C_FLAGS "/D_UNICODE /DUNICODE /DRPC_USE_NATIVE_WCHAR /MP /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") + if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") + else() + set(MP_FLAG "/MP") + endif() + set(CMAKE_C_FLAGS "/D_UNICODE /DUNICODE /DRPC_USE_NATIVE_WCHAR ${MP_FLAG} /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") set(CMAKE_C_FLAGS_RELEASE "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") endif() diff --git a/cmake/scripts/windows/CXXFlagOverrides.cmake b/cmake/scripts/windows/CXXFlagOverrides.cmake index 44ae602bfe..72df9de168 100644 --- a/cmake/scripts/windows/CXXFlagOverrides.cmake +++ b/cmake/scripts/windows/CXXFlagOverrides.cmake @@ -1,5 +1,10 @@ if(MSVC) - set(CMAKE_CXX_FLAGS "/D_UNICODE /DUNICODE /DRPC_USE_NATIVE_WCHAR /MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") + if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") + else() + set(MP_FLAG "/MP") + endif() + set(CMAKE_CXX_FLAGS "/D_UNICODE /DUNICODE /DRPC_USE_NATIVE_WCHAR ${MP_FLAG} /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") set(CMAKE_CXX_FLAGS_RELEASE "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") endif() |