| # |
| # 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() |