aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorPhoebe <20694052+PhoebeHui@users.noreply.github.com>2020-04-07 15:38:52 +0800
committerGitHub <noreply@github.com>2020-04-07 15:38:52 +0800
commitdeca92ce4eec3a3d6808cc11fbaa4456c9a600b0 (patch)
tree4b2417bbd7957b05664273c53b24925418dc8c84 /toolsrc/include
parent7f2bb735dfcfa5ac580f9e825c687d017c476c17 (diff)
parent6c4e822611324de4af9c8bb0ef8094e4a9b30a6e (diff)
downloadvcpkg-deca92ce4eec3a3d6808cc11fbaa4456c9a600b0.tar.gz
vcpkg-deca92ce4eec3a3d6808cc11fbaa4456c9a600b0.zip
Merge branch 'master' into supported-version-change
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/vcpkg/export.prefab.h82
-rw-r--r--toolsrc/include/vcpkg/triplet.h5
-rw-r--r--toolsrc/include/vcpkg/vcpkgpaths.h2
3 files changed, 89 insertions, 0 deletions
diff --git a/toolsrc/include/vcpkg/export.prefab.h b/toolsrc/include/vcpkg/export.prefab.h
new file mode 100644
index 000000000..56a5ba371
--- /dev/null
+++ b/toolsrc/include/vcpkg/export.prefab.h
@@ -0,0 +1,82 @@
+#pragma once
+
+#include <vcpkg/base/system.h>
+#include <vcpkg/dependencies.h>
+#include <vcpkg/vcpkgpaths.h>
+
+
+#include <vector>
+
+namespace vcpkg::Export::Prefab
+{
+ constexpr int kFragmentSize = 3;
+
+ struct Options
+ {
+ Optional<std::string> maybe_group_id;
+ Optional<std::string> maybe_artifact_id;
+ Optional<std::string> maybe_version;
+ Optional<std::string> maybe_min_sdk;
+ Optional<std::string> maybe_target_sdk;
+ bool enable_maven;
+ bool enable_debug;
+ };
+ struct NdkVersion
+ {
+ NdkVersion(int _major, int _minor, int _patch) : m_major{_major},
+ m_minor{_minor},
+ m_patch{_patch}{
+ }
+ int major() { return this->m_major; }
+ int minor() { return this->m_minor; }
+ int patch() { return this->m_patch; }
+ std::string to_string();
+ void to_string(std::string& out);
+
+ private:
+ int m_major;
+ int m_minor;
+ int m_patch;
+ };
+
+ struct ABIMetadata
+ {
+ std::string abi;
+ int api;
+ int ndk;
+ std::string stl;
+ std::string to_string();
+ };
+
+ struct PlatformModuleMetadata
+ {
+ std::vector<std::string> export_libraries;
+ std::string library_name;
+ std::string to_json();
+ };
+
+ struct ModuleMetadata
+ {
+ std::vector<std::string> export_libraries;
+ std::string library_name;
+ PlatformModuleMetadata android;
+ std::string to_json();
+ };
+
+ struct PackageMetadata
+ {
+ std::string name;
+ int schema;
+ std::vector<std::string> dependencies;
+ std::string version;
+ std::string to_json();
+ };
+
+
+
+ void do_export(const std::vector<Dependencies::ExportPlanAction>& export_plan,
+ const VcpkgPaths& paths,
+ const Options& prefab_options, const Triplet& triplet);
+ Optional<std::string> find_ndk_version(const std::string &content);
+ Optional<NdkVersion> to_version(const std::string &version);
+}
diff --git a/toolsrc/include/vcpkg/triplet.h b/toolsrc/include/vcpkg/triplet.h
index d836dd230..92ea10175 100644
--- a/toolsrc/include/vcpkg/triplet.h
+++ b/toolsrc/include/vcpkg/triplet.h
@@ -23,6 +23,11 @@ namespace vcpkg
static const Triplet X64_UWP;
static const Triplet ARM_UWP;
static const Triplet ARM64_UWP;
+
+ static const Triplet ARM_ANDROID;
+ static const Triplet ARM64_ANDROID;
+ static const Triplet X86_ANDROID;
+ static const Triplet X64_ANDROID;
const std::string& canonical_name() const;
const std::string& to_string() const;
diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h
index 63d19af2c..31d8374f1 100644
--- a/toolsrc/include/vcpkg/vcpkgpaths.h
+++ b/toolsrc/include/vcpkg/vcpkgpaths.h
@@ -14,6 +14,8 @@ namespace vcpkg
namespace Tools
{
static const std::string SEVEN_ZIP = "7zip";
+ static const std::string SEVEN_ZIP_ALT = "7z";
+ static const std::string MAVEN = "mvn";
static const std::string CMAKE = "cmake";
static const std::string GIT = "git";
static const std::string NINJA = "ninja";