summaryrefslogtreecommitdiffstats
path: root/Source/cmTargetCompileDefinitionsCommand.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-01-21 11:28:27 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-01-21 11:32:46 (GMT)
commitb98d14d40016efee420bee26b9795880fdf6a5f8 (patch)
tree7226b6db415fb92680bbefcebf205a21b6175f3f /Source/cmTargetCompileDefinitionsCommand.h
parent48a4cf21825c9ed5f53ac25d5f4577baaf92d1f7 (diff)
downloadCMake-b98d14d40016efee420bee26b9795880fdf6a5f8.zip
CMake-b98d14d40016efee420bee26b9795880fdf6a5f8.tar.gz
CMake-b98d14d40016efee420bee26b9795880fdf6a5f8.tar.bz2
Disallow porcelain to populate includes and defines of IMPORTED targets.
With similar reasoning to the parent commit, as downstreams, we can't determine what $<CONFIG> generator expressions would be appropriate. Upstream would have populated the INTERFACE_INCLUDE_DIRECTORIES with config-specific generator expressions, possibly appropriate for their DEBUG_CONFIGURATIONS. In theory, if we would add include directories for a DEBUG intent, we would have to match the upstream configurations for that. Rather than attempting to discover the appropriate configurations at this time, simplify the feature instead. The use of IMPORTED targets with these commands could still be added in the future if targets would export their DEBUG_CONFIGURATIONS somehow.
Diffstat (limited to 'Source/cmTargetCompileDefinitionsCommand.h')
-rw-r--r--Source/cmTargetCompileDefinitionsCommand.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/cmTargetCompileDefinitionsCommand.h b/Source/cmTargetCompileDefinitionsCommand.h
index 4b066b7a..d49b9e8 100644
--- a/Source/cmTargetCompileDefinitionsCommand.h
+++ b/Source/cmTargetCompileDefinitionsCommand.h
@@ -59,7 +59,7 @@ public:
"Specify compile definitions or targets to use when compiling a given "
"target. "
"The named <target> must have been created by a command such as "
- "add_executable or add_library. "
+ "add_executable or add_library and must not be an IMPORTED target. "
"The INTERFACE, PUBLIC and PRIVATE keywords are required to specify "
"the scope of the following arguments. PRIVATE and PUBLIC items will "
"populate the COMPILE_DEFINITIONS property of <target>. PUBLIC and "
@@ -78,8 +78,7 @@ public:
cmTypeMacro(cmTargetCompileDefinitionsCommand, cmCommand);
private:
- virtual void HandleImportedTargetInvalidScope(const std::string &scope,
- const std::string &tgt);
+ virtual void HandleImportedTarget(const std::string &tgt);
virtual void HandleMissingTarget(const std::string &name);
virtual bool HandleNonTargetArg(std::string &content,