VsCustomProps-check.cmake 811 B

12345678910111213141516171819202122232425
  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(importFound FALSE)
  7. set(props_file "${RunCMake_SOURCE_DIR}/my.props")
  8. file(TO_NATIVE_PATH "${props_file}" check_file)
  9. file(STRINGS "${vcProjectFile}" lines)
  10. foreach(line IN LISTS lines)
  11. if(line MATCHES "^ *<Import Project=\"([^\"]+)\".*Label=\"([^\"]+)\".*$")
  12. if("${CMAKE_MATCH_1}" STREQUAL "${check_file}" AND
  13. "${CMAKE_MATCH_2}" STREQUAL "LocalAppDataPlatform")
  14. message(STATUS "foo.vcxproj is importing ${check_file}")
  15. set(importFound TRUE)
  16. endif()
  17. endif()
  18. endforeach()
  19. if(NOT importFound)
  20. set(RunCMake_TEST_FAILED "Import of custom .props file not found.")
  21. return()
  22. endif()