https://github.com/Kitware/CMake
Tip revision: f65cebf51a2cf3af2017fd9b03c685c77da00c74 authored by Brad King on 27 October 2021, 13:51:39 UTC
CMake 3.21.4
CMake 3.21.4
Tip revision: f65cebf
EnsurePropertiesSet.cmake
macro(ensure_props_set projectFile)
if(NOT EXISTS "${projectFile}")
message(FATAL_ERROR "Project file ${projectFile} does not exist.")
return()
endif()
set(SourcePropertyFound FALSE)
set(DebugTargetPropertyFound FALSE)
set(ReleaseTargetPropertyFound FALSE)
file(STRINGS "${projectFile}" lines)
foreach(line IN LISTS lines)
if(line MATCHES "<SourceProperty1.*Debug.*>SourceProperty1Value</SourceProperty1>")
message("SourceProperty1 setting found")
set(SourcePropertyFound TRUE)
endif()
if(line MATCHES "<TargetProperty1.*Debug.*>TargetProperty1ValueDebug</TargetProperty1>")
message("Debug TargetProperty1 setting found")
set(DebugTargetPropertyFound TRUE)
endif()
if(line MATCHES "<TargetProperty1.*Release.*>TargetProperty1ValueRelease</TargetProperty1>")
message("Release TargetProperty1 setting found")
set(ReleaseTargetPropertyFound TRUE)
endif()
endforeach()
if (NOT SourcePropertyFound)
message(FATAL_ERROR "SourceProperty1 setting not found")
return()
endif()
if (NOT DebugTargetPropertyFound)
message(FATAL_ERROR "Debug TargetProperty1 setting not found")
return()
endif()
if (NOT ReleaseTargetPropertyFound)
message(FATAL_ERROR "Release TargetProperty1 setting not found")
return()
endif()
endmacro()
ensure_props_set("${vcxproj}")