diff --git a/Tests/RunCMake/VS10Project/VsDefaultFlags-check.cmake b/Tests/RunCMake/VS10Project/VsDefaultFlags-check.cmake index deeafe493c..5a71b3055a 100644 --- a/Tests/RunCMake/VS10Project/VsDefaultFlags-check.cmake +++ b/Tests/RunCMake/VS10Project/VsDefaultFlags-check.cmake @@ -5,15 +5,23 @@ macro(VsDefaultCompilerFlags_check tgt) return() endif() + set(HAVE_BasicRuntimeChecks 0) set(HAVE_BufferSecurityCheck 0) set(HAVE_CallingConvention 0) set(HAVE_FloatingPointModel 0) set(HAVE_ForceConformanceInForLoopScope 0) + set(HAVE_MinimalRebuild 0) + set(HAVE_Optimization 0) set(HAVE_RemoveUnreferencedCodeData 0) + set(HAVE_RuntimeLibrary 0) + set(HAVE_SupportJustMyCode 0) set(HAVE_TreatWChar_tAsBuiltInType 0) file(STRINGS "${vcProjectFile}" lines) foreach(line IN LISTS lines) + if(line MATCHES "^ *Default") + set(HAVE_BasicRuntimeChecks 1) + endif() if(line MATCHES "^ *") set(HAVE_BufferSecurityCheck 1) endif() @@ -26,14 +34,31 @@ macro(VsDefaultCompilerFlags_check tgt) if(line MATCHES "^ *") set(HAVE_ForceConformanceInForLoopScope 1) endif() + if(line MATCHES "^ *") + set(HAVE_MinimalRebuild 1) + endif() + if(line MATCHES "^ *[^\\n<]*") + set(HAVE_Optimization 1) + endif() if(line MATCHES "^ *") set(HAVE_RemoveUnreferencedCodeData 1) endif() + if(line MATCHES "^ *[^\\n<]*") + set(HAVE_RuntimeLibrary 1) + endif() + if(line MATCHES "^ *") + set(HAVE_SupportJustMyCode 1) + endif() if(line MATCHES "^ *") set(HAVE_TreatWChar_tAsBuiltInType 1) endif() endforeach() + if(NOT HAVE_BasicRuntimeChecks) + set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") + return() + endif() + if(NOT HAVE_BufferSecurityCheck) set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") return() @@ -54,11 +79,31 @@ macro(VsDefaultCompilerFlags_check tgt) return() endif() + if(NOT HAVE_MinimalRebuild) + set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") + return() + endif() + + if(NOT HAVE_Optimization) + set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") + return() + endif() + if(NOT HAVE_RemoveUnreferencedCodeData) set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") return() endif() + if(NOT HAVE_RuntimeLibrary) + set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") + return() + endif() + + if(NOT HAVE_SupportJustMyCode) + set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") + return() + endif() + if(NOT HAVE_TreatWChar_tAsBuiltInType) set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") return()