diff options
Diffstat (limited to 'Tests/RunCMake/VSSolution/AddPackageToDefault-check.cmake')
-rw-r--r-- | Tests/RunCMake/VSSolution/AddPackageToDefault-check.cmake | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Tests/RunCMake/VSSolution/AddPackageToDefault-check.cmake b/Tests/RunCMake/VSSolution/AddPackageToDefault-check.cmake new file mode 100644 index 0000000..7265900 --- /dev/null +++ b/Tests/RunCMake/VSSolution/AddPackageToDefault-check.cmake @@ -0,0 +1,29 @@ +set(vcSlnFile "${RunCMake_TEST_BINARY_DIR}/AddPackageToDefault.sln") +if(NOT EXISTS "${vcSlnFile}") + set(RunCMake_TEST_FAILED "Project file ${vcSlnFile} does not exist.") + return() +endif() + +set(packageGuidFound FALSE) +set(packageGuid "") +set(packageInBuild FALSE) +file(STRINGS "${vcSlnFile}" lines) +foreach(line IN LISTS lines) + if(NOT packageGuidFound) + if(line MATCHES "^Project.*\"PACKAGE.vcx?proj\".*\"{([A-F0-9-]+)}\"$") + set(packageGuidFound TRUE) + set(packageGuid ${CMAKE_MATCH_1}) + endif() + else() + if(line MATCHES ".*{${packageGuid}}.*") + if(line MATCHES "^[ \t]*{${packageGuid}}\\..*\\.Build.0 = .*$") + set(packageInBuild TRUE) + endif() + endif() + endif() +endforeach() + +if(NOT packageInBuild) + set(RunCMake_TEST_FAILED "PACKAGE is not in default build") + return() +endif() |