summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/CMP0069/CMP0069-NEW-cmake.cmake2
-rw-r--r--Tests/RunCMake/CMP0069/CMP0069-NEW-compiler.cmake4
-rw-r--r--Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake4
-rw-r--r--Tests/RunCMake/CMP0069/CMP0069-WARN.cmake2
-rw-r--r--Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake-stderr.txt2
-rw-r--r--Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake.cmake2
-rw-r--r--Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler-stderr.txt2
-rw-r--r--Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler.cmake4
-rw-r--r--Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake4
-rw-r--r--Tests/RunCMake/VS10Project/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/VS10Project/VsCSharpReferenceProps-check.cmake49
-rw-r--r--Tests/RunCMake/VS10Project/VsCSharpReferenceProps.cmake19
12 files changed, 82 insertions, 13 deletions
diff --git a/Tests/RunCMake/CMP0069/CMP0069-NEW-cmake.cmake b/Tests/RunCMake/CMP0069/CMP0069-NEW-cmake.cmake
index 23fae13..6968c8b 100644
--- a/Tests/RunCMake/CMP0069/CMP0069-NEW-cmake.cmake
+++ b/Tests/RunCMake/CMP0069/CMP0069-NEW-cmake.cmake
@@ -1,6 +1,6 @@
cmake_policy(SET CMP0069 NEW)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE NO)
+set(_CMAKE_CXX_IPO_SUPPORTED_BY_CMAKE NO)
add_executable(foo main.cpp)
set_target_properties(foo PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
diff --git a/Tests/RunCMake/CMP0069/CMP0069-NEW-compiler.cmake b/Tests/RunCMake/CMP0069/CMP0069-NEW-compiler.cmake
index 24b409a..ecb197b 100644
--- a/Tests/RunCMake/CMP0069/CMP0069-NEW-compiler.cmake
+++ b/Tests/RunCMake/CMP0069/CMP0069-NEW-compiler.cmake
@@ -1,7 +1,7 @@
cmake_policy(SET CMP0069 NEW)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+set(_CMAKE_CXX_IPO_SUPPORTED_BY_CMAKE YES)
+set(_CMAKE_CXX_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
add_executable(foo main.cpp)
set_target_properties(foo PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
diff --git a/Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake b/Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake
index df2a888..80d4e15 100644
--- a/Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake
+++ b/Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake
@@ -1,7 +1,7 @@
cmake_policy(SET CMP0069 NEW)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+set(_CMAKE_CXX_IPO_SUPPORTED_BY_CMAKE YES)
+set(_CMAKE_CXX_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
add_executable(foo main.cpp)
set_target_properties(foo PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
diff --git a/Tests/RunCMake/CMP0069/CMP0069-WARN.cmake b/Tests/RunCMake/CMP0069/CMP0069-WARN.cmake
index 0e3e670..2049c9e 100644
--- a/Tests/RunCMake/CMP0069/CMP0069-WARN.cmake
+++ b/Tests/RunCMake/CMP0069/CMP0069-WARN.cmake
@@ -1,4 +1,4 @@
-set(_CMAKE_IPO_LEGACY_BEHAVIOR NO)
+set(_CMAKE_CXX_IPO_LEGACY_BEHAVIOR NO)
add_executable(foo main.cpp)
set_target_properties(foo PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
diff --git a/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake-stderr.txt b/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake-stderr.txt
index f63f30f..c49a024 100644
--- a/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake-stderr.txt
+++ b/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake-stderr.txt
@@ -1,5 +1,5 @@
^CMake Error at .*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(message\):
- IPO is not supported \(CMake doesn't support IPO for current compiler\)\.
+ IPO is not supported \(CMake doesn't support IPO for current C compiler\)\.
Call Stack \(most recent call first\):
.*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(_ipo_not_supported\)
not-supported-by-cmake\.cmake:[0-9]+ \(check_ipo_supported\)
diff --git a/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake.cmake b/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake.cmake
index 6f61f7e..e583dd0 100644
--- a/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake.cmake
+++ b/Tests/RunCMake/CheckIPOSupported/not-supported-by-cmake.cmake
@@ -1,3 +1,3 @@
project(${RunCMake_TEST} LANGUAGES C)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE NO)
+set(_CMAKE_C_IPO_SUPPORTED_BY_CMAKE NO)
check_ipo_supported()
diff --git a/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler-stderr.txt b/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler-stderr.txt
index 5f5f410..675c2d3 100644
--- a/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler-stderr.txt
+++ b/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler-stderr.txt
@@ -1,5 +1,5 @@
^CMake Error at .*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(message\):
- IPO is not supported \(Compiler doesn't support IPO\)\.
+ IPO is not supported \(C compiler doesn't support IPO\)\.
Call Stack \(most recent call first\):
.*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(_ipo_not_supported\)
not-supported-by-compiler\.cmake:[0-9]+ \(check_ipo_supported\)
diff --git a/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler.cmake b/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler.cmake
index 652cfd5..86c8f8d 100644
--- a/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler.cmake
+++ b/Tests/RunCMake/CheckIPOSupported/not-supported-by-compiler.cmake
@@ -1,4 +1,4 @@
project(${RunCMake_TEST} LANGUAGES C)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+set(_CMAKE_C_IPO_SUPPORTED_BY_CMAKE YES)
+set(_CMAKE_C_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
check_ipo_supported()
diff --git a/Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake b/Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake
index dc0fa09..c32af6e 100644
--- a/Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake
+++ b/Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake
@@ -1,6 +1,6 @@
project(${RunCMake_TEST} LANGUAGES C)
-set(_CMAKE_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+set(_CMAKE_C_IPO_SUPPORTED_BY_CMAKE YES)
+set(_CMAKE_C_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
check_ipo_supported()
diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
index 3af877f..6e7c2f3 100644
--- a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
@@ -4,3 +4,4 @@ run_cmake(VsTargetsFileReferences)
run_cmake(VsCustomProps)
run_cmake(VsDebuggerWorkingDir)
run_cmake(VsCSharpCustomTags)
+run_cmake(VsCSharpReferenceProps)
diff --git a/Tests/RunCMake/VS10Project/VsCSharpReferenceProps-check.cmake b/Tests/RunCMake/VS10Project/VsCSharpReferenceProps-check.cmake
new file mode 100644
index 0000000..8b9bb67
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsCSharpReferenceProps-check.cmake
@@ -0,0 +1,49 @@
+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(test1Reference "System")
+set(test1Tag "Hello")
+set(test1Value "World")
+
+set(test2Reference "foo2")
+set(test2Tag "Hallo")
+set(test2Value "Welt")
+
+set(tag1Found FALSE)
+set(ref1Found FALSE)
+
+file(STRINGS "${csProjectFile}" lines)
+
+foreach(i 1 2)
+ set(testReference "${test${i}Reference}")
+ set(testTag "${test${i}Tag}")
+ set(testValue "${test${i}Value}")
+ foreach(line IN LISTS lines)
+ if(line MATCHES "^ *<(Project|)Reference .*>$")
+ set(validTag FALSE)
+ if(line MATCHES "^ *<(Project|)Reference .*\".*${testReference}.*\".*>$")
+ set(validTag TRUE)
+ message(STATUS "foo.csproj is using reference ${testReference}")
+ set(ref${i}Found TRUE)
+ endif()
+ endif()
+ if(line MATCHES "^ *<${testTag}>${testValue}</${testTag}>$")
+ if(validTag)
+ message(STATUS "foo.csproj reference ${testReference} has tag ${testTag}")
+ set(tag${i}Found TRUE)
+ else()
+ message(STATUS "tag ${testTag} found in wrong place!")
+ set(tag${i}Found FALSE)
+ endif()
+ endif()
+ endforeach()
+endforeach()
+
+if(NOT tag1Found OR NOT ref1Found OR
+ NOT tag2Found OR NOT ref2Found)
+ set(RunCMake_TEST_FAILED "Custom reference XML tag not found.")
+ return()
+endif()
diff --git a/Tests/RunCMake/VS10Project/VsCSharpReferenceProps.cmake b/Tests/RunCMake/VS10Project/VsCSharpReferenceProps.cmake
new file mode 100644
index 0000000..2af1756
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsCSharpReferenceProps.cmake
@@ -0,0 +1,19 @@
+enable_language(CSharp)
+add_library(foo foo.cs)
+add_library(foo2 foo.cs)
+
+set(test1Reference "System")
+set(test1Tag "Hello")
+set(test1Value "World")
+
+set(test2Reference "foo2")
+set(test2Tag "Hallo")
+set(test2Value "Welt")
+
+target_link_libraries(foo foo2)
+
+set_target_properties(foo PROPERTIES
+ VS_DOTNET_REFERENCES "${test1Reference};Blubb"
+ VS_DOTNET_REFERENCEPROP_${test1Reference}_TAG_${test1Tag} ${test1Value}
+ VS_DOTNET_REFERENCEPROP_${test2Reference}_TAG_${test2Tag} ${test2Value}
+ )