Browse Source

Merge branch 'fix-LOCATION-with-TARGET_OBJECTS' into release

Brad King 10 years ago
parent
commit
a08a444bab

+ 1 - 0
Source/cmTarget.cxx

@@ -547,6 +547,7 @@ void cmTarget::ClearLinkMaps()
   this->Internal->LinkInterfaceMap.clear();
   this->Internal->LinkInterfaceUsageRequirementsOnlyMap.clear();
   this->Internal->LinkClosureMap.clear();
+  this->Internal->SourceFilesMap.clear();
   for (cmTargetLinkInformationMap::const_iterator it
       = this->LinkInformation.begin();
       it != this->LinkInformation.end(); ++it)

+ 1 - 0
Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS-result.txt

@@ -0,0 +1 @@
+0

+ 12 - 0
Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS-stderr.txt

@@ -0,0 +1,12 @@
+CMake Warning \(dev\) at LOCATION-and-TARGET_OBJECTS.cmake:[0-9]+ \(get_target_property\):
+  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
+  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
+  command to set the policy and suppress this warning.
+
+  The LOCATION property should not be read from target "bar".  Use the target
+  name directly with add_custom_command, or use the generator expression
+  \$<TARGET_FILE>, as appropriate.
+
+Call Stack \(most recent call first\):
+  CMakeLists.txt:[0-9]+ \(include\)
+This warning is for project developers.  Use -Wno-dev to suppress it.

+ 6 - 0
Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake

@@ -0,0 +1,6 @@
+
+enable_language(CXX)
+
+add_library(foo OBJECT empty.cpp)
+add_executable(bar $<TARGET_OBJECTS:foo>)
+get_target_property(location bar LOCATION)

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

@@ -10,3 +10,4 @@ run_cmake(CMP0026-LOCATION-CONFIG-NEW)
 run_cmake(CMP0026-LOCATION-CONFIG-OLD)
 run_cmake(CMP0026-LOCATION-CONFIG-WARN)
 run_cmake(ObjlibNotDefined)
+run_cmake(LOCATION-and-TARGET_OBJECTS)