summaryrefslogtreecommitdiff
path: root/Source/cmTargetPropCommandBase.cxx
diff options
context:
space:
mode:
authorDeniz Bahadir <dbahadir@benocs.com>2017-09-18 17:50:11 +0200
committerBrad King <brad.king@kitware.com>2017-10-26 09:11:04 -0400
commitfe4b25ec2fa09a50b6ffbfcf29e118afdfba0659 (patch)
treead60a1043e9ec894f76171b686d1d7e83808e1fc /Source/cmTargetPropCommandBase.cxx
parente40fd9fd19923c84be725da41c233100f400bd93 (diff)
downloadcmake-fe4b25ec2fa09a50b6ffbfcf29e118afdfba0659.tar.gz
Teach target_* commands to set INTERFACE properties of IMPORTED targets
Now, several `INTERFACE_*` properties can be set on `IMPORTED` targets, not only via `set_property` and `set_target_properties` but also via `target_compile_definitions`, `target_compile_features`, `target_compile_options`, `target_include_directories`, `target_sources` and `target_link_libraries`. Fixes: #15689 Issue: #17197
Diffstat (limited to 'Source/cmTargetPropCommandBase.cxx')
-rw-r--r--Source/cmTargetPropCommandBase.cxx10
1 files changed, 4 insertions, 6 deletions
diff --git a/Source/cmTargetPropCommandBase.cxx b/Source/cmTargetPropCommandBase.cxx
index 9f69dea2f2..9a8fd96f1f 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -84,17 +84,15 @@ bool cmTargetPropCommandBase::ProcessContentArgs(
this->SetError("called with invalid arguments");
return false;
}
-
- if (this->Target->IsImported()) {
- this->HandleImportedTarget(args[0]);
- return false;
- }
-
if (this->Target->GetType() == cmStateEnums::INTERFACE_LIBRARY &&
scope != "INTERFACE") {
this->SetError("may only set INTERFACE properties on INTERFACE targets");
return false;
}
+ if (this->Target->IsImported() && scope != "INTERFACE") {
+ this->SetError("may only set INTERFACE properties on IMPORTED targets");
+ return false;
+ }
++argIndex;