Explorar o código

VS: add test for VS_CSHARP_* source file property

Michael Stürmer %!s(int64=8) %!d(string=hai) anos
pai
achega
506207f928

+ 1 - 0
Tests/RunCMake/VS10Project/RunCMakeTest.cmake

@@ -3,3 +3,4 @@ run_cmake(VsConfigurationType)
 run_cmake(VsTargetsFileReferences)
 run_cmake(VsCustomProps)
 run_cmake(VsDebuggerWorkingDir)
+run_cmake(VsCSharpCustomTags)

+ 23 - 0
Tests/RunCMake/VS10Project/VsCSharpCustomTags-check.cmake

@@ -0,0 +1,23 @@
+set(csProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.csproj")
+if(NOT EXISTS "${csProjectFile}")
+  set(RunCMake_TEST_FAILED "Project file ${csProjectFile} does not exist.")
+  return()
+endif()
+
+set(tagFound FALSE)
+
+set(tagName "MyCustomTag")
+set(tagValue "MyCustomValue")
+
+file(STRINGS "${csProjectFile}" lines)
+foreach(line IN LISTS lines)
+  if(line MATCHES "^ *<${tagName}>${tagValue}</${tagName}>")
+    message(STATUS "foo.csproj has tag ${tagName} with value ${tagValue} defined")
+    set(tagFound TRUE)
+  endif()
+endforeach()
+
+if(NOT tagFound)
+  set(RunCMake_TEST_FAILED "Source file tag ${tagName} with value ${tagValue} not found.")
+  return()
+endif()

+ 11 - 0
Tests/RunCMake/VS10Project/VsCSharpCustomTags.cmake

@@ -0,0 +1,11 @@
+enable_language(CSharp)
+add_library(foo foo.cs)
+
+set(props_file "${CMAKE_CURRENT_SOURCE_DIR}/my.props")
+
+set(tagName "MyCustomTag")
+set(tagValue "MyCustomValue")
+
+set_source_files_properties(foo.cs
+  PROPERTIES
+  VS_CSHARP_${tagName} "${tagValue}")

+ 3 - 0
Tests/RunCMake/VS10Project/foo.cs

@@ -0,0 +1,3 @@
+void foo()
+{
+}