cmake/Tests/RunCMake/VS10Project/InterfaceLibSources-check.cmake

35 lines
1.0 KiB
CMake
Raw Normal View History

2021-09-14 00:13:48 +02:00
set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/iface.vcxproj")
if(NOT EXISTS "${vcProjectFile}")
set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.")
return()
endif()
set(found_iface_h 0)
2022-11-16 20:14:03 +01:00
set(found_int_dir 0)
2021-09-14 00:13:48 +02:00
file(STRINGS "${vcProjectFile}" lines)
foreach(line IN LISTS lines)
if(line MATCHES "<([A-Za-z0-9_]+) +Include=.*iface\\.h")
set(rule "${CMAKE_MATCH_1}")
if(NOT rule STREQUAL "None")
set(RunCMake_TEST_FAILED "iface.h referenced as ${rule} instead of None in\n ${vcProjectFile}")
return()
endif()
if(found_iface_h)
set(RunCMake_TEST_FAILED "iface.h referenced multiple times in\n ${vcProjectFile}")
return()
endif()
set(found_iface_h 1)
endif()
2022-11-16 20:14:03 +01:00
if(line MATCHES "^ *<IntDir [^<>]+>[^<>]+</IntDir>")
set(found_int_dir 1)
endif()
2021-09-14 00:13:48 +02:00
endforeach()
if(NOT found_iface_h)
set(RunCMake_TEST_FAILED "iface.h not referenced in\n ${vcProjectFile}")
2022-11-16 20:14:03 +01:00
return()
endif()
if(NOT found_int_dir)
set(RunCMake_TEST_FAILED "No references to IntDir in\n ${vcProjectFile}")
return()
2021-09-14 00:13:48 +02:00
endif()