From 667dfa72677bcee8a92e690f43542529509be92e Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Thu, 31 Oct 2013 09:59:55 +0000 Subject: [PATCH] [CMAKE] - Add /FS to VS 2013 build to fix issues with concurrent access to PDB files. Patch by David Quintana - Use subsystem version 5.02 for x64, because 5.01 doesn't exist CORE-7434 #resolve svn path=/trunk/; revision=60803 --- reactos/cmake/msvc.cmake | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/reactos/cmake/msvc.cmake b/reactos/cmake/msvc.cmake index 2c1f4df26b6..6819df61771 100644 --- a/reactos/cmake/msvc.cmake +++ b/reactos/cmake/msvc.cmake @@ -24,10 +24,15 @@ add_compile_flags("/X /GR- /EHs-c- /GS- /Zl /W3") # HACK: for VS 11+ we need to explicitly disable SSE, which is off by # default for older compilers. See CORE-6507 -if (MSVC_VERSION GREATER 1699 AND ARCH STREQUAL "i386") +if(MSVC_VERSION GREATER 1699 AND ARCH STREQUAL "i386") add_compile_flags("/arch:IA32") endif () +# VS 12+ requires /FS when used in parallel compilations +if(MSVC_VERSION GREATER 1799 AND NOT MSVC_IDE) + add_compile_flags("/FS") +endif () + # C++ exception specification ignored... yeah we don't care add_compile_flags("/wd4290") @@ -111,7 +116,11 @@ endfunction() function(set_subsystem MODULE SUBSYSTEM) if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 17) - add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.01") + if(ARCH STREQUAL "amd64") + add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.02") + else() + add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM},5.01") + endif() else() add_target_link_flags(${MODULE} "/SUBSYSTEM:${SUBSYSTEM}") endif()