diff options
author | Brad King <brad.king@kitware.com> | 2012-11-13 19:31:54 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2012-11-13 19:31:54 (GMT) |
commit | 035c29fee4b74fcd9146941193f88670dfa0e437 (patch) | |
tree | 3932a74dec5dfdd18e42a9e34b9993c712061ad8 /Source/cmTarget.cxx | |
parent | 87b8487d149ac4fcf081bee6871f4f04a096b0b6 (diff) | |
parent | 306796e86206f2b6cf0bd3b66735f2e825c6bcbd (diff) | |
download | CMake-035c29fee4b74fcd9146941193f88670dfa0e437.zip CMake-035c29fee4b74fcd9146941193f88670dfa0e437.tar.gz CMake-035c29fee4b74fcd9146941193f88670dfa0e437.tar.bz2 |
Merge topic 'link-depends-no-shared'
306796e Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED
ed97631 Optionally skip link dependencies on shared library files
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index f3eb52b..a81fa3e 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -651,6 +651,22 @@ void cmTarget::DefineProperties(cmake *cm) "custom Makefile link rules."); cm->DefineProperty + ("LINK_DEPENDS_NO_SHARED", cmProperty::TARGET, + "Do not depend on linked shared library files.", + "Set this property to true to tell CMake generators not to add " + "file-level dependencies on the shared library files linked by " + "this target. " + "Modification to the shared libraries will not be sufficient to " + "re-link this target. " + "Logical target-level dependencies will not be affected so the " + "linked shared libraries will still be brought up to date before " + "this target is built." + "\n" + "This property is initialized by the value of the variable " + "CMAKE_LINK_DEPENDS_NO_SHARED if it is set when a target is " + "created."); + + cm->DefineProperty ("LINK_INTERFACE_LIBRARIES", cmProperty::TARGET, "List public interface libraries for a shared library or executable.", "By default linking to a shared library target transitively " @@ -1314,6 +1330,7 @@ void cmTarget::SetMakefile(cmMakefile* mf) this->SetPropertyDefault("OSX_ARCHITECTURES", 0); this->SetPropertyDefault("AUTOMOC", 0); this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", 0); + this->SetPropertyDefault("LINK_DEPENDS_NO_SHARED", 0); this->SetPropertyDefault("LINK_INTERFACE_LIBRARIES", 0); this->SetPropertyDefault("WIN32_EXECUTABLE", 0); this->SetPropertyDefault("MACOSX_BUNDLE", 0); |