summaryrefslogtreecommitdiffstats
path: root/Source/cmTargetPrecompileHeadersCommand.h
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2015-03-12 16:44:36 (GMT)
committerCristian Adam <cristian.adam@gmail.com>2019-08-27 10:49:53 (GMT)
commit9b6797e71d28d4ee201cb0f8ed5efa39784a2af3 (patch)
tree7d2f9dea125a78743b12d6e000eccb5b0679dab8 /Source/cmTargetPrecompileHeadersCommand.h
parent0467a2f91b632e9eb69805b7f0a2034ed4c8f39e (diff)
downloadCMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.zip
CMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.tar.gz
CMake-9b6797e71d28d4ee201cb0f8ed5efa39784a2af3.tar.bz2
PCH: add target_precompile_headers command
Diffstat (limited to 'Source/cmTargetPrecompileHeadersCommand.h')
-rw-r--r--Source/cmTargetPrecompileHeadersCommand.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/cmTargetPrecompileHeadersCommand.h b/Source/cmTargetPrecompileHeadersCommand.h
new file mode 100644
index 0000000..1ddf2af
--- /dev/null
+++ b/Source/cmTargetPrecompileHeadersCommand.h
@@ -0,0 +1,41 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#ifndef cmTargetPrecompileHeadersCommand_h
+#define cmTargetPrecompileHeadersCommand_h
+
+#include "cmConfigure.h" // IWYU pragma: keep
+
+#include <string>
+#include <vector>
+
+#include "cm_memory.hxx"
+
+#include "cmCommand.h"
+
+#include "cmTargetPropCommandBase.h"
+
+class cmExecutionStatus;
+class cmTarget;
+
+class cmTargetPrecompileHeadersCommand : public cmTargetPropCommandBase
+{
+public:
+ std::unique_ptr<cmCommand> Clone() override
+ {
+ return cm::make_unique<cmTargetPrecompileHeadersCommand>();
+ }
+
+ bool InitialPass(std::vector<std::string> const& args,
+ cmExecutionStatus& status) override;
+
+private:
+ void HandleMissingTarget(const std::string& name) override;
+
+ bool HandleDirectContent(cmTarget* tgt,
+ const std::vector<std::string>& content,
+ bool prepend, bool system) override;
+
+ std::string Join(const std::vector<std::string>& content) override;
+};
+
+#endif