diff options
author | fuzzard <fuzzard@kodi.tv> | 2023-02-19 16:37:04 +1000 |
---|---|---|
committer | fuzzard <fuzzard@kodi.tv> | 2023-03-14 20:22:33 +1000 |
commit | 8ca18068de2c74296e41e38a09aec06125986e79 (patch) | |
tree | 71d2ffb3eb9f305ed567dd1252b3911035d482cc /cmake/scripts/windowsstore | |
parent | 50c977326ceab9b738924d9bbb182006a5161157 (diff) |
[cmake][win] allow MAXTHREADS env var for /MP use
Diffstat (limited to 'cmake/scripts/windowsstore')
-rw-r--r-- | cmake/scripts/windowsstore/ArchSetup.cmake | 7 | ||||
-rw-r--r-- | cmake/scripts/windowsstore/CFlagOverrides.cmake | 7 | ||||
-rw-r--r-- | cmake/scripts/windowsstore/CXXFlagOverrides.cmake | 7 |
3 files changed, 18 insertions, 3 deletions
diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake index a4e30a5ce4..f71ca7a32f 100644 --- a/cmake/scripts/windowsstore/ArchSetup.cmake +++ b/cmake/scripts/windowsstore/ArchSetup.cmake @@ -86,7 +86,12 @@ set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_M list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) # The /MP option enables /FS by default. -set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /EHsc /await /permissive-") +if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") +else() + set(MP_FLAG "/MP") +endif() +set(CMAKE_CXX_FLAGS "${MP_FLAG} ${CMAKE_CXX_FLAGS} /EHsc /await /permissive-") # Google Test needs to use shared version of runtime libraries set(gtest_force_shared_crt ON CACHE STRING "" FORCE) diff --git a/cmake/scripts/windowsstore/CFlagOverrides.cmake b/cmake/scripts/windowsstore/CFlagOverrides.cmake index 0cd1c4d74a..ab2f59cc23 100644 --- a/cmake/scripts/windowsstore/CFlagOverrides.cmake +++ b/cmake/scripts/windowsstore/CFlagOverrides.cmake @@ -1,5 +1,10 @@ # compiler flags -string(APPEND CMAKE_C_FLAGS_INIT " /D_UNICODE /DUNICODE /MP /DWIN32 /D_WINDOWS /W3 /Zi /DTARGET_WINDOWS") +if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") +else() + set(MP_FLAG "/MP") +endif() +string(APPEND CMAKE_C_FLAGS_INIT " /D_UNICODE /DUNICODE ${MP_FLAG} /DWIN32 /D_WINDOWS /W3 /Zi /DTARGET_WINDOWS") string(APPEND CMAKE_C_FLAGS_INIT " /DWINAPI_FAMILY=2 /DTARGET_WINDOWS_STORE /D_WINSOCK_DEPRECATED_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " /D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " /MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") diff --git a/cmake/scripts/windowsstore/CXXFlagOverrides.cmake b/cmake/scripts/windowsstore/CXXFlagOverrides.cmake index 2219af4bd0..4ae3ac3cb0 100644 --- a/cmake/scripts/windowsstore/CXXFlagOverrides.cmake +++ b/cmake/scripts/windowsstore/CXXFlagOverrides.cmake @@ -1,5 +1,10 @@ # compiler flags -string(APPEND CMAKE_CXX_FLAGS_INIT " /D_UNICODE /DUNICODE /MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /DTARGET_WINDOWS") +if(DEFINED ENV{MAXTHREADS}) + set(MP_FLAG "/MP$ENV{MAXTHREADS}") +else() + set(MP_FLAG "/MP") +endif() +string(APPEND CMAKE_CXX_FLAGS_INIT " /D_UNICODE /DUNICODE ${MP_FLAG} /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /DTARGET_WINDOWS") string(APPEND CMAKE_CXX_FLAGS_INIT " /DWINAPI_FAMILY=2 /DTARGET_WINDOWS_STORE /D_WINSOCK_DEPRECATED_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE") string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " /D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " /MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") |