diff options
author | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2015-03-12 16:44:36 (GMT) |
---|---|---|
committer | Cristian Adam <cristian.adam@gmail.com> | 2019-08-27 10:49:53 (GMT) |
commit | 9b6797e71d28d4ee201cb0f8ed5efa39784a2af3 (patch) | |
tree | 7d2f9dea125a78743b12d6e000eccb5b0679dab8 /Source/cmTargetPrecompileHeadersCommand.cxx | |
parent | 0467a2f91b632e9eb69805b7f0a2034ed4c8f39e (diff) | |
download | CMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.zip CMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.tar.gz CMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.tar.bz2 |
PCH: add target_precompile_headers command
Diffstat (limited to 'Source/cmTargetPrecompileHeadersCommand.cxx')
-rw-r--r-- | Source/cmTargetPrecompileHeadersCommand.cxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/cmTargetPrecompileHeadersCommand.cxx b/Source/cmTargetPrecompileHeadersCommand.cxx new file mode 100644 index 0000000..30cf1be --- /dev/null +++ b/Source/cmTargetPrecompileHeadersCommand.cxx @@ -0,0 +1,36 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmTargetPrecompileHeadersCommand.h" + +#include "cmMakefile.h" +#include "cmMessageType.h" +#include "cmStringAlgorithms.h" +#include "cmTarget.h" + +bool cmTargetPrecompileHeadersCommand::InitialPass( + std::vector<std::string> const& args, cmExecutionStatus&) +{ + return this->HandleArguments(args, "PRECOMPILE_HEADERS"); +} + +void cmTargetPrecompileHeadersCommand::HandleMissingTarget( + const std::string& name) +{ + const std::string e = + cmStrCat("Cannot specify precompile headers for target \"", name, + "\" which is not built by this project."); + this->Makefile->IssueMessage(MessageType::FATAL_ERROR, e); +} + +std::string cmTargetPrecompileHeadersCommand::Join( + const std::vector<std::string>& content) +{ + return cmJoin(content, ";"); +} + +bool cmTargetPrecompileHeadersCommand::HandleDirectContent( + cmTarget* tgt, const std::vector<std::string>& content, bool, bool) +{ + tgt->AppendProperty("PRECOMPILE_HEADERS", this->Join(content).c_str()); + return true; +} |