diff options
author | Gregor Jasny <gjasny@googlemail.com> | 2016-06-25 20:51:51 (GMT) |
---|---|---|
committer | Gregor Jasny <gjasny@googlemail.com> | 2016-07-16 18:09:18 (GMT) |
commit | ea6475334aff57633ad7bb80c013c8953328a909 (patch) | |
tree | 86e55baf1e76205b3021cf2ce297b90adc1baf30 | |
parent | 564234912935ddb57c8553b7c9c97e8745a09ede (diff) | |
download | CMake-ea6475334aff57633ad7bb80c013c8953328a909.zip CMake-ea6475334aff57633ad7bb80c013c8953328a909.tar.gz CMake-ea6475334aff57633ad7bb80c013c8953328a909.tar.bz2 |
Do not report ALIASED_TARGET as always set (#15783)
The cmGetPropertyCommand::StoreResult expects NULL for unset
properties. Make ALIASED_TARGET align with that expectation.
Additional corrections to the unit tests are necessary because
get_property removes variables for unset properties (in contrast
to get_target_property which stores a -NOTFOUND value).
-rw-r--r-- | Source/cmGetPropertyCommand.cxx | 2 | ||||
-rw-r--r-- | Tests/AliasTarget/CMakeLists.txt | 13 |
2 files changed, 7 insertions, 8 deletions
diff --git a/Source/cmGetPropertyCommand.cxx b/Source/cmGetPropertyCommand.cxx index 854fdb8..2307e08 100644 --- a/Source/cmGetPropertyCommand.cxx +++ b/Source/cmGetPropertyCommand.cxx @@ -253,7 +253,7 @@ bool cmGetPropertyCommand::HandleTargetMode() if (this->Makefile->IsAlias(this->Name)) { return this->StoreResult(target->GetName().c_str()); } else { - return this->StoreResult((this->Variable + "-NOTFOUND").c_str()); + return this->StoreResult(NULL); } } return this->StoreResult( diff --git a/Tests/AliasTarget/CMakeLists.txt b/Tests/AliasTarget/CMakeLists.txt index 47ccbdc..552c83c 100644 --- a/Tests/AliasTarget/CMakeLists.txt +++ b/Tests/AliasTarget/CMakeLists.txt @@ -66,6 +66,11 @@ endif() add_library(iface INTERFACE) add_library(Alias::Iface ALIAS iface) +get_property(_aliased_target_set TARGET foo PROPERTY ALIASED_TARGET SET) +if(_aliased_target_set) + message(SEND_ERROR "ALIASED_TARGET is set for target foo") +endif() + get_target_property(_notAlias1 foo ALIASED_TARGET) if (NOT DEFINED _notAlias1) message(SEND_ERROR "_notAlias1 is not defined") @@ -78,12 +83,6 @@ if (NOT _notAlias1 STREQUAL _notAlias1-NOTFOUND) endif() get_property(_notAlias2 TARGET foo PROPERTY ALIASED_TARGET) -if (NOT DEFINED _notAlias2) - message(SEND_ERROR "_notAlias2 is not defined") -endif() if (_notAlias2) - message(SEND_ERROR "_notAlias2 is defined, but foo is not an ALIAS") -endif() -if (NOT _notAlias2 STREQUAL _notAlias2-NOTFOUND) - message(SEND_ERROR "_notAlias2 not defined to a -NOTFOUND variant") + message(SEND_ERROR "_notAlias2 evaluates to true, but foo is not an ALIAS") endif() |