diff options
author | Ken Martin <ken.martin@kitware.com> | 2005-07-01 14:57:39 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2005-07-01 14:57:39 (GMT) |
commit | 7f2e7443bfb6ad7c1148d0ac4f370b251d663fb3 (patch) | |
tree | 7ae9592d8ac325d54ea13d73e48750e8cbd15e28 /Source | |
parent | d5814719d60ba3b97fa1189de49fd16f405c6ae0 (diff) | |
download | CMake-7f2e7443bfb6ad7c1148d0ac4f370b251d663fb3.zip CMake-7f2e7443bfb6ad7c1148d0ac4f370b251d663fb3.tar.gz CMake-7f2e7443bfb6ad7c1148d0ac4f370b251d663fb3.tar.bz2 |
ENH: added Alexander's target property TYPE
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGetTargetPropertyCommand.h | 4 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 30 |
2 files changed, 34 insertions, 0 deletions
diff --git a/Source/cmGetTargetPropertyCommand.h b/Source/cmGetTargetPropertyCommand.h index 8e455c3..b7ef94c 100644 --- a/Source/cmGetTargetPropertyCommand.h +++ b/Source/cmGetTargetPropertyCommand.h @@ -61,6 +61,10 @@ public: "the full path to the file on disk that will be created for the " "target. This is very useful for executable targets to get " "the path to the executable file for use in a custom command. " + "the path to the executable file for use in a custom command.\n" + "The read-only property \"TYPE\" returns which type the specified " + "target has (EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY, " + "MODULE_LIBRARY, UTILITY, INSTALL_FILES or INSTALL_PROGRAMS)." "This command can get properties for any target so far created. " "The targets do not need to be in the current CMakeLists.txt file."; } diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index a3fb589..4bcfda9 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -743,6 +743,36 @@ const char *cmTarget::GetProperty(const char* prop) this->UpdateLocation(); } + // the type property returns what type the target is + if (!strcmp(prop,"TYPE")) + { + switch( this->GetType() ) + { + case cmTarget::STATIC_LIBRARY: + return "STATIC_LIBRARY"; + break; + case cmTarget::MODULE_LIBRARY: + return "MODULE_LIBRARY"; + break; + case cmTarget::SHARED_LIBRARY: + return "SHARED_LIBRARY"; + break; + case cmTarget::EXECUTABLE: + return "EXECUTABLE"; + break; + case cmTarget::UTILITY: + return "UTILITY"; + break; + case cmTarget::INSTALL_FILES: + return "INSTALL_FILES"; + break; + case cmTarget::INSTALL_PROGRAMS: + return "INSTALL_PROGRAMS"; + break; + } + return 0; + } + std::map<cmStdString,cmStdString>::const_iterator i = m_Properties.find(prop); if (i != m_Properties.end()) |