summaryrefslogtreecommitdiffstats
path: root/Source/cmJsonObjects.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-09-21 15:11:36 (GMT)
committerBrad King <brad.king@kitware.com>2018-09-21 15:39:59 (GMT)
commit72b4c2c48ae7dfd8c2813018c72ed0d2e6bb907a (patch)
tree11976bcd9d3e5da19fa1151eeb05389f7796e846 /Source/cmJsonObjects.h
parentb48165346f7dfcd025beca743abf2eaf849bf17d (diff)
downloadCMake-72b4c2c48ae7dfd8c2813018c72ed0d2e6bb907a.zip
CMake-72b4c2c48ae7dfd8c2813018c72ed0d2e6bb907a.tar.gz
CMake-72b4c2c48ae7dfd8c2813018c72ed0d2e6bb907a.tar.bz2
server: Compile json object generation source separately
Declare entry points in a dedicated header and compile the source separately instead of including it in the server implementation.
Diffstat (limited to 'Source/cmJsonObjects.h')
-rw-r--r--Source/cmJsonObjects.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/cmJsonObjects.h b/Source/cmJsonObjects.h
new file mode 100644
index 0000000..cd4da94
--- /dev/null
+++ b/Source/cmJsonObjects.h
@@ -0,0 +1,27 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#ifndef cmJsonObjects_h
+#define cmJsonObjects_h
+
+#include "cmConfigure.h" // IWYU pragma: keep
+
+#include "cm_jsoncpp_value.h"
+
+#include <string>
+#include <vector>
+
+class cmake;
+class cmGlobalGenerator;
+
+extern void cmGetCMakeInputs(const cmGlobalGenerator* gg,
+ const std::string& sourceDir,
+ const std::string& buildDir,
+ std::vector<std::string>* internalFiles,
+ std::vector<std::string>* explicitFiles,
+ std::vector<std::string>* tmpFiles);
+
+extern Json::Value cmDumpCodeModel(const cmake* cm);
+extern Json::Value cmDumpCTestInfo(const cmake* cm);
+extern Json::Value cmDumpCMakeInputs(const cmake* cm);
+
+#endif