diff options
author | Stephen Kelly <steveire@gmail.com> | 2016-10-12 22:18:24 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2016-10-15 09:14:21 (GMT) |
commit | fbf1721c94b40ea86eeb183a1916f2066eb64bdc (patch) | |
tree | 06b830d4bbb79404d8c4990c820c8ae349a9f06a /Source/cmTargetPropertyComputer.h | |
parent | 390a7d8647c13570dc6416fceb884dc51c8ef6f9 (diff) | |
download | CMake-fbf1721c94b40ea86eeb183a1916f2066eb64bdc.zip CMake-fbf1721c94b40ea86eeb183a1916f2066eb64bdc.tar.gz CMake-fbf1721c94b40ea86eeb183a1916f2066eb64bdc.tar.bz2 |
cmTargetPropertyComputer: Extract into new files
Diffstat (limited to 'Source/cmTargetPropertyComputer.h')
-rw-r--r-- | Source/cmTargetPropertyComputer.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Source/cmTargetPropertyComputer.h b/Source/cmTargetPropertyComputer.h new file mode 100644 index 0000000..b7c1df4 --- /dev/null +++ b/Source/cmTargetPropertyComputer.h @@ -0,0 +1,43 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmTargetPropertyComputer_h +#define cmTargetPropertyComputer_h + +#include <cmConfigure.h> // IWYU pragma: keep + +#include "cmListFileCache.h" + +#include <map> +#include <string> + +class cmTarget; +class cmMessenger; + +class cmTargetPropertyComputer +{ +public: + static const char* GetProperty(cmTarget const* tgt, const std::string& prop, + cmMessenger* messenger, + cmListFileBacktrace const& context); + + static std::map<std::string, std::string> ComputeFileLocations( + cmTarget const* tgt); + +private: + static bool HandleLocationPropertyPolicy(std::string const& tgtName, + cmMessenger* messenger, + cmListFileBacktrace const& context); + + static const char* ComputeLocationForBuild(cmTarget const* tgt); + static const char* ComputeLocation(cmTarget const* tgt, + std::string const& config); + static const char* GetLocation(cmTarget const* tgt, std::string const& prop, + cmMessenger* messenger, + cmListFileBacktrace const& context); + + static const char* GetSources(cmTarget const* tgt, + cmMessenger* messenger, + cmListFileBacktrace const& context); +}; + +#endif |