VsConfigurationType-check.cmake 804 B

123456789101112131415161718192021222324
  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(propertyFound FALSE)
  7. file(STRINGS "${vcProjectFile}" lines)
  8. foreach(line IN LISTS lines)
  9. if(line MATCHES "^ *<ConfigurationType>(.*)</ConfigurationType>$")
  10. set(propertyFound TRUE)
  11. set(expectedValue "MyValue")
  12. set(actualValue ${CMAKE_MATCH_1})
  13. if(NOT (${actualValue} STREQUAL ${expectedValue}))
  14. set(RunCMake_TEST_FAILED "ConfigurationType \"${actualValue}\" differs from expected value \"${expectedValue}\".")
  15. return()
  16. endif()
  17. endif()
  18. endforeach()
  19. if(NOT propertyFound)
  20. set(RunCMake_TEST_FAILED "Property ConfigurationType not found in project file.")
  21. return()
  22. endif()