Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / VS10Project / InterfaceLibSources-check.cmake
1 set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/iface.vcxproj")
2 if(NOT EXISTS "${vcProjectFile}")
3   set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.")
4   return()
5 endif()
6
7 set(found_iface_h 0)
8 set(found_int_dir 0)
9 file(STRINGS "${vcProjectFile}" lines)
10 foreach(line IN LISTS lines)
11   if(line MATCHES "<([A-Za-z0-9_]+) +Include=.*iface\\.h")
12     set(rule "${CMAKE_MATCH_1}")
13     if(NOT rule STREQUAL "None")
14       set(RunCMake_TEST_FAILED "iface.h referenced as ${rule} instead of None in\n  ${vcProjectFile}")
15       return()
16     endif()
17     if(found_iface_h)
18       set(RunCMake_TEST_FAILED "iface.h referenced multiple times in\n  ${vcProjectFile}")
19       return()
20     endif()
21     set(found_iface_h 1)
22   endif()
23   if(line MATCHES "^ *<IntDir [^<>]+>[^<>]+</IntDir>")
24     set(found_int_dir 1)
25   endif()
26 endforeach()
27 if(NOT found_iface_h)
28   set(RunCMake_TEST_FAILED "iface.h not referenced in\n  ${vcProjectFile}")
29   return()
30 endif()
31 if(NOT found_int_dir)
32   set(RunCMake_TEST_FAILED "No references to IntDir in\n  ${vcProjectFile}")
33   return()
34 endif()