diff options
Diffstat (limited to 'vcpkg/ports/json11')
| -rw-r--r-- | vcpkg/ports/json11/destination.patch | 14 | ||||
| -rw-r--r-- | vcpkg/ports/json11/fix-gcc15-build.patch | 73 | ||||
| -rw-r--r-- | vcpkg/ports/json11/json11-config.cmake | 25 | ||||
| -rw-r--r-- | vcpkg/ports/json11/portfile.cmake | 29 | ||||
| -rw-r--r-- | vcpkg/ports/json11/vcpkg.json | 12 |
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 + } + ] +} |