aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCengizhan Pasaoglu <cengizhanpasaoglu@gmail.com>2020-10-09 08:31:21 +0300
committerGitHub <noreply@github.com>2020-10-08 22:31:21 -0700
commit0dcc11ac2212941212540e379dfdf8d73f77d461 (patch)
treef4215f88a88ed39cf868ebf18f0dfa0a60d3337c
parentd1929059861f183ec8c50dc114442a08aa7b2e8d (diff)
downloadvcpkg-0dcc11ac2212941212540e379dfdf8d73f77d461.tar.gz
vcpkg-0dcc11ac2212941212540e379dfdf8d73f77d461.zip
[vcpkg] Use more forward declarations rather than definitions (#13623)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
-rw-r--r--toolsrc/include/vcpkg/base/json.h2
-rw-r--r--toolsrc/include/vcpkg/build.h11
-rw-r--r--toolsrc/include/vcpkg/cmakevars.h6
-rw-r--r--toolsrc/include/vcpkg/commands.h1
-rw-r--r--toolsrc/include/vcpkg/dependencies.h13
-rw-r--r--toolsrc/include/vcpkg/export.chocolatey.h3
-rw-r--r--toolsrc/include/vcpkg/export.prefab.h3
-rw-r--r--toolsrc/include/vcpkg/fwd/build.h7
-rw-r--r--toolsrc/include/vcpkg/fwd/cmakevars.h6
-rw-r--r--toolsrc/include/vcpkg/fwd/dependencies.h7
-rw-r--r--toolsrc/include/vcpkg/fwd/portfileprovider.h7
-rw-r--r--toolsrc/include/vcpkg/portfileprovider.h3
-rw-r--r--toolsrc/include/vcpkg/postbuildlint.h12
-rw-r--r--toolsrc/include/vcpkg/registries.h4
-rw-r--r--toolsrc/include/vcpkg/remove.h5
-rw-r--r--toolsrc/include/vcpkg/triplet.h3
-rw-r--r--toolsrc/include/vcpkg/update.h11
-rw-r--r--toolsrc/src/vcpkg-test/commands.build.cpp1
-rw-r--r--toolsrc/src/vcpkg-test/update.cpp2
-rw-r--r--toolsrc/src/vcpkg.cpp1
-rw-r--r--toolsrc/src/vcpkg/build.cpp1
-rw-r--r--toolsrc/src/vcpkg/commands.ci.cpp1
-rw-r--r--toolsrc/src/vcpkg/commands.dependinfo.cpp1
-rw-r--r--toolsrc/src/vcpkg/commands.search.cpp1
-rw-r--r--toolsrc/src/vcpkg/commands.upgrade.cpp2
-rw-r--r--toolsrc/src/vcpkg/dependencies.cpp1
-rw-r--r--toolsrc/src/vcpkg/export.cpp1
-rw-r--r--toolsrc/src/vcpkg/input.cpp1
-rw-r--r--toolsrc/src/vcpkg/registries.cpp1
-rw-r--r--toolsrc/src/vcpkg/remove.cpp1
-rw-r--r--toolsrc/src/vcpkg/update.cpp2
-rw-r--r--toolsrc/src/vcpkg/vcpkgcmdarguments.cpp1
32 files changed, 86 insertions, 36 deletions
diff --git a/toolsrc/include/vcpkg/base/json.h b/toolsrc/include/vcpkg/base/json.h
index 66d147918..a16e9ed82 100644
--- a/toolsrc/include/vcpkg/base/json.h
+++ b/toolsrc/include/vcpkg/base/json.h
@@ -480,7 +480,7 @@ namespace vcpkg::Json
m_path.push_back(key);
auto res = internal_visit(value, visitor);
m_path.pop_back();
- return std::move(res);
+ return res;
}
template<class Type>
Optional<Type> visit_map_field(StringView key, const Value& value, IDeserializer<Type>&& visitor)
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index 443bcd3a2..4a3b39638 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -1,11 +1,14 @@
#pragma once
+#include <vcpkg/fwd/cmakevars.h>
+#include <vcpkg/fwd/dependencies.h>
+#include <vcpkg/fwd/portfileprovider.h>
+
#include <vcpkg/base/cstringview.h>
#include <vcpkg/base/files.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/base/system.process.h>
-#include <vcpkg/cmakevars.h>
#include <vcpkg/commands.integrate.h>
#include <vcpkg/packagespec.h>
#include <vcpkg/statusparagraphs.h>
@@ -23,12 +26,6 @@ namespace vcpkg
struct IBinaryProvider;
}
-namespace vcpkg::Dependencies
-{
- struct InstallPlanAction;
- struct ActionPlan;
-}
-
namespace vcpkg::System
{
struct Environment;
diff --git a/toolsrc/include/vcpkg/cmakevars.h b/toolsrc/include/vcpkg/cmakevars.h
index 66dd287b8..e92f50ab2 100644
--- a/toolsrc/include/vcpkg/cmakevars.h
+++ b/toolsrc/include/vcpkg/cmakevars.h
@@ -1,16 +1,12 @@
#pragma once
+#include <vcpkg/fwd/dependencies.h>
#include <vcpkg/fwd/vcpkgpaths.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/portfileprovider.h>
-namespace vcpkg::Dependencies
-{
- struct ActionPlan;
-}
-
namespace vcpkg::CMakeVars
{
struct CMakeVarProvider
diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h
index 77e478219..dfabb809f 100644
--- a/toolsrc/include/vcpkg/commands.h
+++ b/toolsrc/include/vcpkg/commands.h
@@ -1,6 +1,5 @@
#pragma once
-#include <vcpkg/build.h>
#include <vcpkg/commands.interface.h>
namespace vcpkg::Commands
diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h
index 080a28f52..db135aa28 100644
--- a/toolsrc/include/vcpkg/dependencies.h
+++ b/toolsrc/include/vcpkg/dependencies.h
@@ -1,5 +1,8 @@
#pragma once
+#include <vcpkg/fwd/cmakevars.h>
+#include <vcpkg/fwd/portfileprovider.h>
+
#include <vcpkg/base/optional.h>
#include <vcpkg/base/util.h>
@@ -15,16 +18,6 @@ namespace vcpkg::Graphs
struct Randomizer;
}
-namespace vcpkg::CMakeVars
-{
- struct CMakeVarProvider;
-}
-
-namespace vcpkg::PortFileProvider
-{
- struct PortFileProvider;
-}
-
namespace vcpkg
{
struct StatusParagraphs;
diff --git a/toolsrc/include/vcpkg/export.chocolatey.h b/toolsrc/include/vcpkg/export.chocolatey.h
index 1e6f9a12b..26238cf43 100644
--- a/toolsrc/include/vcpkg/export.chocolatey.h
+++ b/toolsrc/include/vcpkg/export.chocolatey.h
@@ -1,7 +1,8 @@
#pragma once
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/dependencies.h>
-#include <vcpkg/vcpkgpaths.h>
#include <vector>
diff --git a/toolsrc/include/vcpkg/export.prefab.h b/toolsrc/include/vcpkg/export.prefab.h
index 8fa064e77..2038949be 100644
--- a/toolsrc/include/vcpkg/export.prefab.h
+++ b/toolsrc/include/vcpkg/export.prefab.h
@@ -1,9 +1,10 @@
#pragma once
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/base/system.h>
#include <vcpkg/dependencies.h>
-#include <vcpkg/vcpkgpaths.h>
#include <vector>
diff --git a/toolsrc/include/vcpkg/fwd/build.h b/toolsrc/include/vcpkg/fwd/build.h
new file mode 100644
index 000000000..c7f74513f
--- /dev/null
+++ b/toolsrc/include/vcpkg/fwd/build.h
@@ -0,0 +1,7 @@
+#pragma once
+
+namespace vcpkg::Build
+{
+ struct BuildInfo;
+ struct PreBuildInfo;
+}
diff --git a/toolsrc/include/vcpkg/fwd/cmakevars.h b/toolsrc/include/vcpkg/fwd/cmakevars.h
new file mode 100644
index 000000000..e1dade368
--- /dev/null
+++ b/toolsrc/include/vcpkg/fwd/cmakevars.h
@@ -0,0 +1,6 @@
+#pragma once
+
+namespace vcpkg::CMakeVars
+{
+ struct CMakeVarProvider;
+}
diff --git a/toolsrc/include/vcpkg/fwd/dependencies.h b/toolsrc/include/vcpkg/fwd/dependencies.h
new file mode 100644
index 000000000..08e824b4c
--- /dev/null
+++ b/toolsrc/include/vcpkg/fwd/dependencies.h
@@ -0,0 +1,7 @@
+#pragma once
+
+namespace vcpkg::Dependencies
+{
+ struct InstallPlanAction;
+ struct ActionPlan;
+}
diff --git a/toolsrc/include/vcpkg/fwd/portfileprovider.h b/toolsrc/include/vcpkg/fwd/portfileprovider.h
new file mode 100644
index 000000000..08cce1324
--- /dev/null
+++ b/toolsrc/include/vcpkg/fwd/portfileprovider.h
@@ -0,0 +1,7 @@
+#pragma once
+
+namespace vcpkg::PortFileProvider
+{
+ struct PortFileProvider;
+ struct PathsPortFileProvider;
+}
diff --git a/toolsrc/include/vcpkg/portfileprovider.h b/toolsrc/include/vcpkg/portfileprovider.h
index d3fa0b51f..c127aed40 100644
--- a/toolsrc/include/vcpkg/portfileprovider.h
+++ b/toolsrc/include/vcpkg/portfileprovider.h
@@ -1,10 +1,11 @@
#pragma once
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/base/expected.h>
#include <vcpkg/base/util.h>
#include <vcpkg/sourceparagraph.h>
-#include <vcpkg/vcpkgpaths.h>
namespace vcpkg::PortFileProvider
{
diff --git a/toolsrc/include/vcpkg/postbuildlint.h b/toolsrc/include/vcpkg/postbuildlint.h
index 027619eb8..deaf3a2ae 100644
--- a/toolsrc/include/vcpkg/postbuildlint.h
+++ b/toolsrc/include/vcpkg/postbuildlint.h
@@ -1,8 +1,14 @@
#pragma once
-#include <vcpkg/build.h>
-#include <vcpkg/packagespec.h>
-#include <vcpkg/vcpkgpaths.h>
+#include <vcpkg/fwd/build.h>
+#include <vcpkg/fwd/vcpkgpaths.h>
+
+#include <vcpkg/base/files.h>
+
+namespace vcpkg
+{
+ struct PackageSpec;
+}
namespace vcpkg::PostBuildLint
{
diff --git a/toolsrc/include/vcpkg/registries.h b/toolsrc/include/vcpkg/registries.h
index 100bee170..9119ba17b 100644
--- a/toolsrc/include/vcpkg/registries.h
+++ b/toolsrc/include/vcpkg/registries.h
@@ -2,11 +2,11 @@
#include <vcpkg/base/fwd/json.h>
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/base/files.h>
#include <vcpkg/base/optional.h>
-#include <vcpkg/vcpkgpaths.h>
-
#include <memory>
#include <string>
#include <system_error>
diff --git a/toolsrc/include/vcpkg/remove.h b/toolsrc/include/vcpkg/remove.h
index f68e8bd9f..06bdc23f5 100644
--- a/toolsrc/include/vcpkg/remove.h
+++ b/toolsrc/include/vcpkg/remove.h
@@ -1,7 +1,10 @@
#pragma once
+#include <vcpkg/fwd/dependencies.h>
+#include <vcpkg/fwd/vcpkgcmdarguments.h>
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/commands.interface.h>
-#include <vcpkg/dependencies.h>
namespace vcpkg::Remove
{
diff --git a/toolsrc/include/vcpkg/triplet.h b/toolsrc/include/vcpkg/triplet.h
index 42d99dc3e..40f6d6f23 100644
--- a/toolsrc/include/vcpkg/triplet.h
+++ b/toolsrc/include/vcpkg/triplet.h
@@ -1,5 +1,7 @@
#pragma once
+#include <vcpkg/fwd/vcpkgcmdarguments.h>
+
#include <vcpkg/base/optional.h>
#include <vcpkg/base/system.h>
@@ -8,7 +10,6 @@
namespace vcpkg
{
struct TripletInstance;
- struct VcpkgCmdArguments;
struct Triplet
{
diff --git a/toolsrc/include/vcpkg/update.h b/toolsrc/include/vcpkg/update.h
index 2c05e489e..063e16997 100644
--- a/toolsrc/include/vcpkg/update.h
+++ b/toolsrc/include/vcpkg/update.h
@@ -1,11 +1,18 @@
#pragma once
+#include <vcpkg/fwd/portfileprovider.h>
+#include <vcpkg/fwd/vcpkgcmdarguments.h>
+#include <vcpkg/fwd/vcpkgpaths.h>
+
#include <vcpkg/commands.interface.h>
-#include <vcpkg/dependencies.h>
#include <vcpkg/packagespec.h>
-#include <vcpkg/statusparagraphs.h>
#include <vcpkg/versiont.h>
+namespace vcpkg
+{
+ struct StatusParagraphs;
+}
+
namespace vcpkg::Update
{
struct OutdatedPackage
diff --git a/toolsrc/src/vcpkg-test/commands.build.cpp b/toolsrc/src/vcpkg-test/commands.build.cpp
index 76b205426..467fadd72 100644
--- a/toolsrc/src/vcpkg-test/commands.build.cpp
+++ b/toolsrc/src/vcpkg-test/commands.build.cpp
@@ -2,6 +2,7 @@
#include <vcpkg/base/files.h>
+#include <vcpkg/build.h>
#include <vcpkg/commands.h>
#include <vcpkg/vcpkgcmdarguments.h>
#include <vcpkg/vcpkgpaths.h>
diff --git a/toolsrc/src/vcpkg-test/update.cpp b/toolsrc/src/vcpkg-test/update.cpp
index 68339547a..bce663d28 100644
--- a/toolsrc/src/vcpkg-test/update.cpp
+++ b/toolsrc/src/vcpkg-test/update.cpp
@@ -2,6 +2,8 @@
#include <vcpkg/base/sortedvector.h>
+#include <vcpkg/portfileprovider.h>
+#include <vcpkg/statusparagraphs.h>
#include <vcpkg/update.h>
#include <vcpkg-test/util.h>
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index 876449fb8..23796bb46 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -17,6 +17,7 @@
#include <vcpkg/metrics.h>
#include <vcpkg/paragraphs.h>
#include <vcpkg/userconfig.h>
+#include <vcpkg/vcpkgcmdarguments.h>
#include <vcpkg/vcpkglib.h>
#include <cassert>
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 92b657c9b..c44de0c56 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -13,6 +13,7 @@
#include <vcpkg/binarycaching.h>
#include <vcpkg/build.h>
#include <vcpkg/buildenvironment.h>
+#include <vcpkg/cmakevars.h>
#include <vcpkg/commands.h>
#include <vcpkg/commands.version.h>
#include <vcpkg/dependencies.h>
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp
index ee7b4d4a0..8fe1bf32e 100644
--- a/toolsrc/src/vcpkg/commands.ci.cpp
+++ b/toolsrc/src/vcpkg/commands.ci.cpp
@@ -7,6 +7,7 @@
#include <vcpkg/binarycaching.h>
#include <vcpkg/build.h>
+#include <vcpkg/cmakevars.h>
#include <vcpkg/commands.ci.h>
#include <vcpkg/dependencies.h>
#include <vcpkg/globalstate.h>
diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp
index 8c14c4b3d..3442e8c3d 100644
--- a/toolsrc/src/vcpkg/commands.dependinfo.cpp
+++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp
@@ -2,6 +2,7 @@
#include <vcpkg/base/system.print.h>
#include <vcpkg/base/util.h>
+#include <vcpkg/cmakevars.h>
#include <vcpkg/commands.dependinfo.h>
#include <vcpkg/dependencies.h>
#include <vcpkg/help.h>
diff --git a/toolsrc/src/vcpkg/commands.search.cpp b/toolsrc/src/vcpkg/commands.search.cpp
index 9f493bf35..69d31a249 100644
--- a/toolsrc/src/vcpkg/commands.search.cpp
+++ b/toolsrc/src/vcpkg/commands.search.cpp
@@ -5,6 +5,7 @@
#include <vcpkg/globalstate.h>
#include <vcpkg/help.h>
#include <vcpkg/paragraphs.h>
+#include <vcpkg/portfileprovider.h>
#include <vcpkg/sourceparagraph.h>
#include <vcpkg/vcpkgcmdarguments.h>
#include <vcpkg/vcpkglib.h>
diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp
index 5e9ed7ce2..7abf1865d 100644
--- a/toolsrc/src/vcpkg/commands.upgrade.cpp
+++ b/toolsrc/src/vcpkg/commands.upgrade.cpp
@@ -2,12 +2,14 @@
#include <vcpkg/base/util.h>
#include <vcpkg/binarycaching.h>
+#include <vcpkg/cmakevars.h>
#include <vcpkg/commands.upgrade.h>
#include <vcpkg/dependencies.h>
#include <vcpkg/globalstate.h>
#include <vcpkg/help.h>
#include <vcpkg/input.h>
#include <vcpkg/install.h>
+#include <vcpkg/portfileprovider.h>
#include <vcpkg/statusparagraphs.h>
#include <vcpkg/update.h>
#include <vcpkg/vcpkgcmdarguments.h>
diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp
index 58e692908..bbea346a6 100644
--- a/toolsrc/src/vcpkg/dependencies.cpp
+++ b/toolsrc/src/vcpkg/dependencies.cpp
@@ -3,6 +3,7 @@
#include <vcpkg/base/strings.h>
#include <vcpkg/base/util.h>
+#include <vcpkg/cmakevars.h>
#include <vcpkg/dependencies.h>
#include <vcpkg/packagespec.h>
#include <vcpkg/paragraphs.h>
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp
index 967534863..6d0c95aa8 100644
--- a/toolsrc/src/vcpkg/export.cpp
+++ b/toolsrc/src/vcpkg/export.cpp
@@ -13,6 +13,7 @@
#include <vcpkg/input.h>
#include <vcpkg/install.h>
#include <vcpkg/paragraphs.h>
+#include <vcpkg/portfileprovider.h>
#include <vcpkg/tools.h>
#include <vcpkg/vcpkglib.h>
diff --git a/toolsrc/src/vcpkg/input.cpp b/toolsrc/src/vcpkg/input.cpp
index b82dc44fb..0d7a9fd7d 100644
--- a/toolsrc/src/vcpkg/input.cpp
+++ b/toolsrc/src/vcpkg/input.cpp
@@ -5,6 +5,7 @@
#include <vcpkg/input.h>
#include <vcpkg/metrics.h>
#include <vcpkg/packagespec.h>
+#include <vcpkg/vcpkgpaths.h>
namespace vcpkg
{
diff --git a/toolsrc/src/vcpkg/registries.cpp b/toolsrc/src/vcpkg/registries.cpp
index aa9a3a336..ecc63ab3d 100644
--- a/toolsrc/src/vcpkg/registries.cpp
+++ b/toolsrc/src/vcpkg/registries.cpp
@@ -1,6 +1,7 @@
#include <vcpkg/base/json.h>
#include <vcpkg/registries.h>
+#include <vcpkg/vcpkgpaths.h>
namespace
{
diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp
index 8561003a8..0db35d51f 100644
--- a/toolsrc/src/vcpkg/remove.cpp
+++ b/toolsrc/src/vcpkg/remove.cpp
@@ -6,6 +6,7 @@
#include <vcpkg/help.h>
#include <vcpkg/input.h>
#include <vcpkg/paragraphs.h>
+#include <vcpkg/portfileprovider.h>
#include <vcpkg/remove.h>
#include <vcpkg/update.h>
#include <vcpkg/vcpkglib.h>
diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp
index ceb4b9876..a9ef4a3f7 100644
--- a/toolsrc/src/vcpkg/update.cpp
+++ b/toolsrc/src/vcpkg/update.cpp
@@ -3,7 +3,9 @@
#include <vcpkg/commands.h>
#include <vcpkg/help.h>
#include <vcpkg/paragraphs.h>
+#include <vcpkg/portfileprovider.h>
#include <vcpkg/update.h>
+#include <vcpkg/vcpkgcmdarguments.h>
#include <vcpkg/vcpkglib.h>
namespace vcpkg::Update
diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
index 7b4e9c40d..84d4526b1 100644
--- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
+++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
@@ -1,3 +1,4 @@
+#include <vcpkg/base/json.h>
#include <vcpkg/base/system.debug.h>
#include <vcpkg/base/system.print.h>