SourceGroupCMakeLists-check.cmake 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. set(vcFiltersFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj.filters")
  2. if(NOT EXISTS "${vcFiltersFile}")
  3. set(RunCMake_TEST_FAILED "Filters file ${vcFiltersFile} does not exist.")
  4. return()
  5. endif()
  6. set(foundFileFilter 0)
  7. set(foundFilter 0)
  8. file(STRINGS "${vcFiltersFile}" lines)
  9. foreach(line IN LISTS lines)
  10. if(line MATCHES "<Filter>CMakeListsSourceGroup</Filter>")
  11. set(rule "${CMAKE_MATCH_1}")
  12. if(foundFileFilter)
  13. set(RunCMake_TEST_FAILED "Multiple files listed with filter for CMakeListsSourceGroup.")
  14. return()
  15. endif()
  16. set(foundFileFilter 1)
  17. endif()
  18. if(line MATCHES "<Filter.*Include=\"CMakeListsSourceGroup\"")
  19. set(rule "${CMAKE_MATCH_1}")
  20. if(foundFilter)
  21. set(RunCMake_TEST_FAILED "Multiple copies of CMakeListsSourceGroup filter listed.")
  22. return()
  23. endif()
  24. set(foundFilter 1)
  25. endif()
  26. endforeach()
  27. if(NOT foundFileFilter)
  28. set(RunCMake_TEST_FAILED "File filter for CMakeListsSourceGroup not found.")
  29. endif()
  30. if(NOT foundFilter)
  31. set(RunCMake_TEST_FAILED "Filter CMakeListsSourceGroup not found.")
  32. endif()