You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cmake/Tests/RunCMake/VS10ProjectWinCE/VsCSharpCFProject-check.cmake

55 lines
1.9 KiB

#
# Check C# Compact Framework project for required elements.
#
set(csProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.csproj")
if(NOT EXISTS "${csProjectFile}")
set(RunCMake_TEST_FAILED "Project file ${csProjectFile} does not exist.")
return()
endif()
if( NOT ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsCE" )
set(RunCMake_TEST_FAILED "Test only valid for WindowsCE")
return()
endif()
set(FoundTargetFrameworkTargetsVersion FALSE)
set(FoundDotNetFrameworkVersion FALSE)
set(FoundTargetFrameworkIdentifier FALSE)
set(FoundCFTargetsImport FALSE)
file(STRINGS "${csProjectFile}" lines)
foreach(line IN LISTS lines)
#message(STATUS ${line})
if(line MATCHES "^ *<TargetFrameworkIdentifier>WindowsEmbeddedCompact</TargetFrameworkIdentifier> *$")
set(FoundTargetFrameworkIdentifier TRUE)
elseif(line MATCHES " *<TargetFrameworkVersion>v3.9</TargetFrameworkVersion> *$")
set(FoundDotNetFrameworkVersion TRUE)
elseif(line MATCHES " *<TargetFrameworkTargetsVersion>v8.0</TargetFrameworkTargetsVersion> *$")
set(FoundTargetFrameworkTargetsVersion TRUE)
elseif( line MATCHES " *<Import Project=\"\\$\\(MSBuildExtensionsPath\\)\\\\Microsoft\\\\\\$\\(TargetFrameworkIdentifier\\)\\\\\\$\\(TargetFrameworkTargetsVersion\\)\\\\Microsoft\\.\\$\\(TargetFrameworkIdentifier\\)\\.CSharp\\.targets\" */> *" )
set(FoundCFTargetsImport TRUE)
endif()
endforeach()
if(NOT FoundTargetFrameworkTargetsVersion)
set(RunCMake_TEST_FAILED "TargetFrameworkIdentifier not found or not set correctly.")
return()
endif()
if(NOT FoundDotNetFrameworkVersion)
set(RunCMake_TEST_FAILED "TargetFrameworkVersion not found or not set correctly.")
return()
endif()
if(NOT FoundTargetFrameworkIdentifier)
set(RunCMake_TEST_FAILED "TargetFrameworkTargetsVersion not found or not set correctly.")
return()
endif()
if(NOT FoundCFTargetsImport)
set(RunCMake_TEST_FAILED "Import of Compact Framework targets file not found or not set correctly.")
return()
endif()