VsProjectImport-check.cmake 863 B

12345678910111213141516171819202122232425262728
  1. set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj")
  2. if(NOT EXISTS "${vcProjectFile}")
  3. set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.")
  4. return()
  5. endif()
  6. set(test1Import "path\\\\to\\\\nuget_packages\\\\Foo.1.0.0\\\\build\\\\Foo.props")
  7. set(test2Import "path\\\\to\\\\nuget_packages\\\\Bar.1.0.0\\\\build\\\\Bar.props")
  8. set(import1Found FALSE)
  9. set(import2Found FALSE)
  10. file(STRINGS "${vcProjectFile}" lines)
  11. foreach(i 1 2)
  12. set(testImport "${test${i}Import}")
  13. foreach(line IN LISTS lines)
  14. if(line MATCHES "^ *<Import Project=\".*${test1Import}\" />$")
  15. message(STATUS "foo.vcxproj is using project import ${testImport}")
  16. set(import${i}Found TRUE)
  17. endif()
  18. endforeach()
  19. endforeach()
  20. if(NOT import1Found OR NOT import2Found)
  21. set(RunCMake_TEST_FAILED "Imported project not found.")
  22. return()
  23. endif()