diff options
Diffstat (limited to 'Tests/RunCMake/SolutionGlobalSections/solution_parsing.cmake')
-rw-r--r-- | Tests/RunCMake/SolutionGlobalSections/solution_parsing.cmake | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/Tests/RunCMake/SolutionGlobalSections/solution_parsing.cmake b/Tests/RunCMake/SolutionGlobalSections/solution_parsing.cmake deleted file mode 100644 index dd158ef..0000000 --- a/Tests/RunCMake/SolutionGlobalSections/solution_parsing.cmake +++ /dev/null @@ -1,60 +0,0 @@ -macro(error text) - set(RunCMake_TEST_FAILED "${text}") - return() -endmacro() - - -macro(parseGlobalSections arg_out_pre arg_out_post testName) - set(out_pre ${arg_out_pre}) - set(out_post ${arg_out_post}) - set(sln "${RunCMake_TEST_BINARY_DIR}/${testName}.sln") - if(NOT EXISTS "${sln}") - error("Expected solution file ${sln} does not exist") - endif() - file(STRINGS "${sln}" lines) - set(sectionLines "") - set(store FALSE) - foreach(line IN LISTS lines) - if(line MATCHES "^\t*Global\n?$") - set(store TRUE) - elseif(line MATCHES "^\t*EndGlobal\n?$") - set(store FALSE) - elseif(store) - list(APPEND sectionLines "${line}") - endif() - endforeach() - set(sectionName "") - set(sectionType "") - foreach(line IN LISTS sectionLines) - if(line MATCHES "^\t*GlobalSection\\((.*)\\) *= *(pre|post)Solution\n?$") - set(sectionName "${CMAKE_MATCH_1}") - set(sectionType ${CMAKE_MATCH_2}) - list(APPEND ${out_${sectionType}} "${sectionName}") - if(DEFINED ${out_${sectionType}}_${sectionName}) - error("Section ${sectionName} defined twice") - endif() - set(${out_${sectionType}}_${sectionName} "") - elseif(line MATCHES "\t*EndGlobalSection\n?$") - set(sectionName "") - set(sectionType "") - elseif(sectionName) - string(REGEX MATCH "^\t*([^=]*)=([^\n]*)\n?$" matches "${line}") - if(NOT matches) - error("Bad syntax in solution file: '${line}'") - endif() - string(STRIP "${CMAKE_MATCH_1}" key) - string(STRIP "${CMAKE_MATCH_2}" value) - list(APPEND ${out_${sectionType}}_${sectionName} "${key}=${value}") - endif() - endforeach() -endmacro() - - -macro(testGlobalSection prefix sectionName) - if(NOT DEFINED ${prefix}_${sectionName}) - error("Section ${sectionName} does not exist") - endif() - if(NOT "${${prefix}_${sectionName}}" STREQUAL "${ARGN}") - error("Section ${sectionName} content mismatch\n expected: ${ARGN}\n actual: ${${prefix}_${sectionName}}") - endif() -endmacro() |