aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/json11
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/json11')
-rw-r--r--vcpkg/ports/json11/destination.patch14
-rw-r--r--vcpkg/ports/json11/fix-gcc15-build.patch73
-rw-r--r--vcpkg/ports/json11/json11-config.cmake25
-rw-r--r--vcpkg/ports/json11/portfile.cmake29
-rw-r--r--vcpkg/ports/json11/vcpkg.json12
5 files changed, 153 insertions, 0 deletions
diff --git a/vcpkg/ports/json11/destination.patch b/vcpkg/ports/json11/destination.patch
new file mode 100644
index 0000000..6d16303
--- /dev/null
+++ b/vcpkg/ports/json11/destination.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 819c36f..847489e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,6 +52,6 @@ if (JSON11_BUILD_TESTS)
+ target_link_libraries(json11_test json11)
+ endif()
+
+-install(TARGETS json11 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE})
+-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include/${CMAKE_LIBRARY_ARCHITECTURE})
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig)
++install(TARGETS json11 DESTINATION lib)
++install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/pkgconfig)
diff --git a/vcpkg/ports/json11/fix-gcc15-build.patch b/vcpkg/ports/json11/fix-gcc15-build.patch
new file mode 100644
index 0000000..347811d
--- /dev/null
+++ b/vcpkg/ports/json11/fix-gcc15-build.patch
@@ -0,0 +1,73 @@
+diff --git a/json11.cpp b/json11.cpp
+index 9647846..509dfdd 100644
+--- a/json11.cpp
++++ b/json11.cpp
+@@ -22,6 +22,7 @@
+ #include "json11.hpp"
+ #include <cassert>
+ #include <cmath>
++#include <cstdint>
+ #include <cstdlib>
+ #include <cstdio>
+ #include <limits>
+@@ -151,7 +152,7 @@ protected:
+
+ // Constructors
+ explicit Value(const T &value) : m_value(value) {}
+- explicit Value(T &&value) : m_value(move(value)) {}
++ explicit Value(T &&value) : m_value(std::move(value)) {}
+
+ // Get type tag
+ Json::Type type() const override {
+@@ -198,7 +199,7 @@ class JsonString final : public Value<Json::STRING, string> {
+ const string &string_value() const override { return m_value; }
+ public:
+ explicit JsonString(const string &value) : Value(value) {}
+- explicit JsonString(string &&value) : Value(move(value)) {}
++ explicit JsonString(string &&value) : Value(std::move(value)) {}
+ };
+
+ class JsonArray final : public Value<Json::ARRAY, Json::array> {
+@@ -206,7 +207,7 @@ class JsonArray final : public Value<Json::ARRAY, Json::array> {
+ const Json & operator[](size_t i) const override;
+ public:
+ explicit JsonArray(const Json::array &value) : Value(value) {}
+- explicit JsonArray(Json::array &&value) : Value(move(value)) {}
++ explicit JsonArray(Json::array &&value) : Value(std::move(value)) {}
+ };
+
+ class JsonObject final : public Value<Json::OBJECT, Json::object> {
+@@ -214,7 +215,7 @@ class JsonObject final : public Value<Json::OBJECT, Json::object> {
+ const Json & operator[](const string &key) const override;
+ public:
+ explicit JsonObject(const Json::object &value) : Value(value) {}
+- explicit JsonObject(Json::object &&value) : Value(move(value)) {}
++ explicit JsonObject(Json::object &&value) : Value(std::move(value)) {}
+ };
+
+ class JsonNull final : public Value<Json::NUL, NullStruct> {
+@@ -256,12 +257,12 @@ Json::Json(double value) : m_ptr(make_shared<JsonDouble>(value)) {
+ Json::Json(int value) : m_ptr(make_shared<JsonInt>(value)) {}
+ Json::Json(bool value) : m_ptr(value ? statics().t : statics().f) {}
+ Json::Json(const string &value) : m_ptr(make_shared<JsonString>(value)) {}
+-Json::Json(string &&value) : m_ptr(make_shared<JsonString>(move(value))) {}
++Json::Json(string &&value) : m_ptr(make_shared<JsonString>(std::move(value))) {}
+ Json::Json(const char * value) : m_ptr(make_shared<JsonString>(value)) {}
+ Json::Json(const Json::array &values) : m_ptr(make_shared<JsonArray>(values)) {}
+-Json::Json(Json::array &&values) : m_ptr(make_shared<JsonArray>(move(values))) {}
++Json::Json(Json::array &&values) : m_ptr(make_shared<JsonArray>(std::move(values))) {}
+ Json::Json(const Json::object &values) : m_ptr(make_shared<JsonObject>(values)) {}
+-Json::Json(Json::object &&values) : m_ptr(make_shared<JsonObject>(move(values))) {}
++Json::Json(Json::object &&values) : m_ptr(make_shared<JsonObject>(std::move(values))) {}
+
+ /* * * * * * * * * * * * * * * * * * * *
+ * Accessors
+@@ -359,7 +360,7 @@ struct JsonParser final {
+ * Mark this parse as failed.
+ */
+ Json fail(string &&msg) {
+- return fail(move(msg), Json());
++ return fail(std::move(msg), Json());
+ }
+
+ template <typename T>
diff --git a/vcpkg/ports/json11/json11-config.cmake b/vcpkg/ports/json11/json11-config.cmake
new file mode 100644
index 0000000..0bc3bb2
--- /dev/null
+++ b/vcpkg/ports/json11/json11-config.cmake
@@ -0,0 +1,25 @@
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+if(NOT JSON11_FIND_COMPONENTS)
+ set(JSON11_FIND_COMPONENTS json11 json11)
+ if(JSON11_FIND_REQUIRED)
+ set(JSON11_FIND_REQUIRED_json11 TRUE)
+ endif()
+
+ set(JSON11_FOUND TRUE)
+endif()
+
+set(JSON11_INCLUDE_DIRS ${_DIR}/../../include)
+set(JSON11_LIBRARIES)
+if (EXISTS ${_DIR}/../../lib/libjson11.a)
+ list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/libjson11.a)
+endif()
+if (EXISTS ${_DIR}/../../debug/lib/libjson11.a)
+ list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/libjson11.a)
+endif()
+if (EXISTS ${_DIR}/../../lib/json11.lib)
+ list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/json11.lib)
+endif()
+if (EXISTS ${_DIR}/../../debug/lib/json11.lib)
+ list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/json11.lib)
+endif()
diff --git a/vcpkg/ports/json11/portfile.cmake b/vcpkg/ports/json11/portfile.cmake
new file mode 100644
index 0000000..fc8d29c
--- /dev/null
+++ b/vcpkg/ports/json11/portfile.cmake
@@ -0,0 +1,29 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO dropbox/json11
+ REF ec4e45219af1d7cde3d58b49ed762376fccf1ace
+ SHA512 2129e048d8dee027dc1ba789d9901e017b7d698465e15236802ef68639161e1cc7c8665d5f50079333801717fd41ffbe2cb90fa2165b9a85629e8ced8f2b3cd8
+ HEAD_REF master
+ PATCHES destination.patch
+ fix-gcc15-build.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DJSON11_BUILD_TESTS:BOOL=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(INSTALL "${CURRENT_PORT_DIR}/json11-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# Handle copyright
+file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+
+vcpkg_fixup_pkgconfig()
diff --git a/vcpkg/ports/json11/vcpkg.json b/vcpkg/ports/json11/vcpkg.json
new file mode 100644
index 0000000..f87f180
--- /dev/null
+++ b/vcpkg/ports/json11/vcpkg.json
@@ -0,0 +1,12 @@
+{
+ "name": "json11",
+ "version-date": "2017-06-20",
+ "port-version": 7,
+ "description": "json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}