[Cmake-commits] CMake branch, next, updated. v3.7.0-1198-ge909a7d
Brad King
brad.king at kitware.com
Tue Nov 15 10:55:21 EST 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via e909a7d71cc39698e2613722cc43122d33b0472a (commit)
via c9560a9a7b4ff56233008a9622683738765edfa5 (commit)
from e5f9144f30f14da9fdd5f2a3e12e57c0e5cfa5ad (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e909a7d71cc39698e2613722cc43122d33b0472a
commit e909a7d71cc39698e2613722cc43122d33b0472a
Merge: e5f9144 c9560a9
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Nov 15 10:55:20 2016 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Nov 15 10:55:20 2016 -0500
Merge topic 'test_vs_targets_file_reference' into next
c9560a9a Tests: Extend VS10Project to cover `.targets` file linking
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c9560a9a7b4ff56233008a9622683738765edfa5
commit c9560a9a7b4ff56233008a9622683738765edfa5
Author: Soji Yamakawa <soji at andrew.cmu.edu>
AuthorDate: Fri Nov 11 21:34:38 2016 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Nov 15 10:47:15 2016 -0500
Tests: Extend VS10Project to cover `.targets` file linking
With VS generators for 2010 and above, passing a `.targets` file to
`target_link_libraries` is expected to generate content in the
`.vcxproj` file to import the targets file. Add a test to cover this.
diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
index cc2cc2e..22d8164 100644
--- a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
@@ -1,2 +1,3 @@
include(RunCMake)
run_cmake(VsConfigurationType)
+run_cmake(VsTargetsFileReferences)
diff --git a/Tests/RunCMake/VS10Project/VsTargetsFileReferences-check.cmake b/Tests/RunCMake/VS10Project/VsTargetsFileReferences-check.cmake
new file mode 100644
index 0000000..3d01c2c
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsTargetsFileReferences-check.cmake
@@ -0,0 +1,45 @@
+set(files foo.vcxproj bar.vcxproj baz.vcxproj)
+
+foreach(file ${files})
+ set(vsProjectFile ${RunCMake_TEST_BINARY_DIR}/${file})
+
+ if(NOT EXISTS "${vsProjectFile}")
+ set(RunCMake_TEST_FAILED "Project file ${vsProjectFile} does not exist.")
+ return()
+ endif()
+
+ set(waldoFound FALSE)
+ set(xyzzyFound FALSE)
+ file(STRINGS "${vsProjectFile}" lines)
+ foreach(line IN LISTS lines)
+ if(line MATCHES "^ *<Import Project=.*/>$")
+ if(line MATCHES "^.*waldo.targets.*$")
+ set(waldoFound TRUE)
+ message(STATUS "${file} is importing waldo.targets")
+ elseif(line MATCHES "^.*xyzzy.targets.*$")
+ set(xyzzyFound TRUE)
+ message(STATUS "${file} is importing xyzzy.targets")
+ endif()
+ endif()
+ endforeach()
+
+ if("${file}" STREQUAL "foo.vcxproj")
+ if(NOT xyzzyFound)
+ set(RunCMake_TEST_FAILED "xyzzy.targets not imported from ${file}")
+ return()
+ endif()
+ if(waldoFound)
+ set(RunCMake_TEST_FAILED "waldo.targets imported from ${file}")
+ return()
+ endif()
+ else()
+ if(NOT xyzzyFound)
+ set(RunCMake_TEST_FAILED "xyzzy.targets not imported from ${file}")
+ return()
+ endif()
+ if(NOT waldoFound)
+ set(RunCMake_TEST_FAILED "waldo.targets not imported from ${file}")
+ return()
+ endif()
+ endif()
+endforeach()
diff --git a/Tests/RunCMake/VS10Project/VsTargetsFileReferences.cmake b/Tests/RunCMake/VS10Project/VsTargetsFileReferences.cmake
new file mode 100644
index 0000000..5ca4f1f
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsTargetsFileReferences.cmake
@@ -0,0 +1,9 @@
+enable_language(CXX)
+add_library(foo foo.cpp)
+target_link_libraries(foo ${CMAKE_BINARY_DIR}/xyzzy.targets)
+
+add_library(bar bar.cpp)
+target_link_libraries(bar foo ${CMAKE_BINARY_DIR}/waldo.targets)
+
+add_executable(baz baz.cpp)
+target_link_libraries(baz bar)
diff --git a/Tests/RunCMake/VS10Project/bar.cpp b/Tests/RunCMake/VS10Project/bar.cpp
new file mode 100644
index 0000000..b72a1a5
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/bar.cpp
@@ -0,0 +1,3 @@
+void bar()
+{
+}
diff --git a/Tests/RunCMake/VS10Project/baz.cpp b/Tests/RunCMake/VS10Project/baz.cpp
new file mode 100644
index 0000000..d5d334a
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/baz.cpp
@@ -0,0 +1,3 @@
+void baz()
+{
+}
-----------------------------------------------------------------------
Summary of changes:
Tests/RunCMake/VS10Project/RunCMakeTest.cmake | 1 +
.../VsTargetsFileReferences-check.cmake | 45 ++++++++++++++++++++
.../VS10Project/VsTargetsFileReferences.cmake | 9 ++++
.../bar.c => RunCMake/VS10Project/bar.cpp} | 0
Tests/RunCMake/VS10Project/baz.cpp | 3 ++
5 files changed, 58 insertions(+)
create mode 100644 Tests/RunCMake/VS10Project/VsTargetsFileReferences-check.cmake
create mode 100644 Tests/RunCMake/VS10Project/VsTargetsFileReferences.cmake
copy Tests/{Visibility/bar.c => RunCMake/VS10Project/bar.cpp} (100%)
create mode 100644 Tests/RunCMake/VS10Project/baz.cpp
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list