macro(VsNoCompileBatching_check tgt ofn_expect) set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/${tgt}.vcxproj") if(NOT EXISTS "${vcProjectFile}") set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not exist.") return() endif() set(HAVE_OFN 0) file(STRINGS "${vcProjectFile}" lines) foreach(line IN LISTS lines) if(line MATCHES "^ *([^<>]+)") set(ofn_actual "${CMAKE_MATCH_1}") if(NOT "${ofn_actual}" STREQUAL "${ofn_expect}") set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj has '${ofn_actual}', not '${ofn_expect}'.") return() endif() set(HAVE_OFN 1) break() endif() endforeach() if(NOT HAVE_OFN) set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a property.") return() endif() endmacro() VsNoCompileBatching_check(foo "$(IntDir)") VsNoCompileBatching_check(foo_NB "$(IntDir)%(filename).obj") VsNoCompileBatching_check(foo_NB_OFF "$(IntDir)")