From 41e48c45e8069ea551ab8511457fd712f5b3b89b Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 29 Nov 2013 13:18:24 +0100 Subject: [PATCH 1/2] Avoid certain actions on IMPORTED targets. As we're iterating over IMPORTED targets now, handle them in the loop body. The existing behavior is harmless because generally nothing is done anyway for IMPORTED targets in these code paths, because they do not have sources for example. --- Source/cmGlobalGenerator.cxx | 4 ++++ Source/cmLocalGenerator.cxx | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index e6f3d9435..83281ce11 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1379,6 +1379,10 @@ void cmGlobalGenerator::ComputeGeneratorTargetObjects() for(cmGeneratorTargetsType::iterator ti = targets.begin(); ti != targets.end(); ++ti) { + if (ti->second->Target->IsImported()) + { + continue; + } cmGeneratorTarget* gt = ti->second; gt->ClassifySources(); gt->LookupObjectLibraries(); diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index c3c529973..0845120eb 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -261,6 +261,10 @@ void cmLocalGenerator::TraceDependencies() for(cmGeneratorTargetsType::iterator t = targets.begin(); t != targets.end(); ++t) { + if (t->second->Target->IsImported()) + { + continue; + } t->second->TraceDependencies(); } } @@ -545,6 +549,10 @@ void cmLocalGenerator::GenerateTargetManifest() { continue; } + if (target.Target->IsImported()) + { + continue; + } if(configNames.empty()) { target.GenerateTargetManifest(0); From e2cb3e7d43936b86cee81007375c3b648c8edc00 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 13 Dec 2013 14:48:19 +0100 Subject: [PATCH 2/2] Help: Note that COMPATIBLE_INTERFACE_ properties may be origin-debugged. Link to other properties mentioned in the docs already. --- Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst b/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst index 6b17f6e69..11aed0c0b 100644 --- a/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst +++ b/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst @@ -5,7 +5,9 @@ Enables tracing output for target properties. This variable can be populated with a list of properties to generate debug output for when evaluating target properties. Currently it can -only be used when evaluating the INCLUDE_DIRECTORIES, -COMPILE_DEFINITIONS, COMPILE_OPTIONS and AUTOUIC_OPTIONS target properties. -In that case, it outputs a backtrace for each entry in the target property. +only be used when evaluating the :prop_tgt:`INCLUDE_DIRECTORIES`, +:prop_tgt:`COMPILE_DEFINITIONS`, :prop_tgt:`COMPILE_OPTIONS`, :prop_tgt:`AUTOUIC_OPTIONS`, +:prop_tgt:`POSITION_INDEPENDENT_CODE` target properties and any other property +listed in :prop_tgt:`COMPATIBLE_INTERFACE_STRING` and other ``COMPATIBLE_INTERFACE_`` +properties. It outputs an origin for each entry in the target property. Default is unset.