| set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj") |
| if(NOT EXISTS "${vcProjectFile}") |
| set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.") |
| return() |
| endif() |
| |
| set(found_CustomBuild_cmp0147_new 0) |
| set(found_CustomBuild_cmp0147_old 0) |
| set(found_CustomBuild_CMakeLists 0) |
| set(found_BuildInParallel_cmp0147_new 0) |
| set(found_BuildInParallel_cmp0147_old 0) |
| set(found_BuildInParallel_CMakeLists 0) |
| set(in_CustomBuild "") |
| file(STRINGS "${vcProjectFile}" lines) |
| foreach(line IN LISTS lines) |
| if(line MATCHES [[<CustomBuild Include=".*\\cmp0147-old\.txt\.rule">]]) |
| set(found_CustomBuild_cmp0147_old 1) |
| set(in_CustomBuild "cmp0147_old") |
| endif() |
| if(line MATCHES [[<CustomBuild Include=".*\\cmp0147-new\.txt\.rule">]]) |
| set(found_CustomBuild_cmp0147_new 1) |
| set(in_CustomBuild "cmp0147_new") |
| endif() |
| if(line MATCHES [[<CustomBuild Include=".*\\CMakeLists\.txt">]]) |
| set(found_CustomBuild_CMakeLists 1) |
| set(in_CustomBuild "CMakeLists") |
| endif() |
| if(line MATCHES [[</CustomBuild>]]) |
| set(in_CustomBuild "") |
| endif() |
| if(line MATCHES [[<BuildInParallel .*>true</BuildInParallel>]] AND in_CustomBuild) |
| set(found_BuildInParallel_${in_CustomBuild} 1) |
| endif() |
| endforeach() |
| if(NOT found_CustomBuild_cmp0147_new) |
| string(APPEND RunCMake_TEST_FAILED "CustomBuild for cmp0147-new.txt.rule not found in\n ${vcProjectFile}\n") |
| endif() |
| if(NOT found_CustomBuild_cmp0147_old) |
| string(APPEND RunCMake_TEST_FAILED "CustomBuild for cmp0147-old.txt.rule not found in\n ${vcProjectFile}\n") |
| endif() |
| if(NOT found_CustomBuild_CMakeLists) |
| string(APPEND RunCMake_TEST_FAILED "CustomBuild for CMakeLists.txt not found in\n ${vcProjectFile}\n") |
| endif() |
| if(NOT found_BuildInParallel_cmp0147_new) |
| string(APPEND RunCMake_TEST_FAILED "BuildInParallel for cmp0147-new.txt.rule not found in\n ${vcProjectFile}\n") |
| endif() |
| if(found_BuildInParallel_cmp0147_old) |
| string(APPEND RunCMake_TEST_FAILED "BuildInParallel for cmp0147-old.txt.rule incorrectly found in\n ${vcProjectFile}\n") |
| endif() |
| if(found_BuildInParallel_CMakeLists) |
| string(APPEND RunCMake_TEST_FAILED "BuildInParallel for CMakeLists.txt incorrectly found in\n ${vcProjectFile}\n") |
| endif() |