/*========================================================================= Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef cmGetTargetPropertyCommand_h #define cmGetTargetPropertyCommand_h #include "cmCommand.h" class cmGetTargetPropertyCommand : public cmCommand { public: virtual cmCommand* Clone() { return new cmGetTargetPropertyCommand; } /** * This is called when the command is first encountered in * the input file. */ virtual bool InitialPass(std::vector const& args, cmExecutionStatus &status); /** * The name of the command as specified in CMakeList.txt. */ virtual const char* GetName() { return "get_target_property";} /** * Succinct documentation. */ virtual const char* GetTerseDocumentation() { return "Get a property from a target."; } /** * Longer documentation. */ virtual const char* GetFullDocumentation() { return " get_target_property(VAR target property)\n" "Get a property from a target. The value of the property is " "stored in the variable VAR. If the property is not found, VAR " "will be set to \"NOTFOUND\". Use set_target_properties to set " "property values. Properties are usually used to control how " "a target is built.\n" "The read-only property \"_LOCATION\" provides the full " "path to the file on disk that will be created for the target when " "building under configuration " "(in upper-case, such as \"DEBUG_LOCATION\"). " "The read-only property \"LOCATION\" specifies " "the full path to the file on disk that will be created for the " "target. The path may contain a build-system-specific portion that " "is replaced at build time with the configuration getting built " "(such as \"$(ConfigurationName)\" in VS). " "This is very useful for executable targets to get " "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."; } cmTypeMacro(cmGetTargetPropertyCommand, cmCommand); }; #endif