diff options
Diffstat (limited to 'vcpkg/ports/clipp')
| -rw-r--r-- | vcpkg/ports/clipp/Fix-result_of-deprecated-in-C++20.patch | 47 | ||||
| -rw-r--r-- | vcpkg/ports/clipp/portfile.cmake | 18 | ||||
| -rw-r--r-- | vcpkg/ports/clipp/vcpkg.json | 13 |
3 files changed, 78 insertions, 0 deletions
diff --git a/vcpkg/ports/clipp/Fix-result_of-deprecated-in-C++20.patch b/vcpkg/ports/clipp/Fix-result_of-deprecated-in-C++20.patch new file mode 100644 index 0000000..6613d21 --- /dev/null +++ b/vcpkg/ports/clipp/Fix-result_of-deprecated-in-C++20.patch @@ -0,0 +1,47 @@ +diff --git a/include/clipp.h b/include/clipp.h +index d7b101e..a1bec2d 100644 +--- a/include/clipp.h ++++ b/include/clipp.h +@@ -155,16 +155,27 @@ namespace traits { + * @brief function (class) signature type trait + * + *****************************************************************************/ ++#if defined(__cpp_lib_is_invocable) + template<class Fn, class Ret, class... Args> + constexpr auto + check_is_callable(int) -> decltype( + std::declval<Fn>()(std::declval<Args>()...), + std::integral_constant<bool, +- std::is_same<Ret,typename std::result_of<Fn(Args...)>::type>::value>{} ); ++ std::is_same<Ret,typename std::invoke_result<Fn,Args...>::type>::value>{} ); + +-template<class,class,class...> ++template<class Fn, class Ret> + constexpr auto +-check_is_callable(long) -> std::false_type; ++check_is_callable_without_arg(int) -> decltype( ++ std::declval<Fn>()(), ++ std::integral_constant<bool, ++ std::is_same<Ret,typename std::invoke_result<Fn>::type>::value>{} ); ++#else ++template<class Fn, class Ret, class... Args> ++constexpr auto ++check_is_callable(int) -> decltype( ++ std::declval<Fn>()(std::declval<Args>()...), ++ std::integral_constant<bool, ++ std::is_same<Ret,typename std::result_of<Fn(Args...)>::type>::value>{} ); + + template<class Fn, class Ret> + constexpr auto +@@ -172,6 +183,11 @@ check_is_callable_without_arg(int) -> decltype( + std::declval<Fn>()(), + std::integral_constant<bool, + std::is_same<Ret,typename std::result_of<Fn()>::type>::value>{} ); ++#endif ++ ++template<class,class,class...> ++constexpr auto ++check_is_callable(long) -> std::false_type; + + template<class,class> + constexpr auto diff --git a/vcpkg/ports/clipp/portfile.cmake b/vcpkg/ports/clipp/portfile.cmake new file mode 100644 index 0000000..3db19af --- /dev/null +++ b/vcpkg/ports/clipp/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO "muellan/clipp"
+ REF 2c32b2f1f7cc530b1ec1f62c92f698643bb368db
+ SHA512 4645fafe85a8099ea97b85e939747a12e9b3b92213b5b8207a9c277537377b77b5daebd88a4c090ea89cfff2937a9fc155da6e8b5558574d7129227c28826e1c
+ HEAD_REF master
+ PATCHES
+ Fix-result_of-deprecated-in-C++20.patch # https://github.com/muellan/clipp/pull/54
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/clipp/vcpkg.json b/vcpkg/ports/clipp/vcpkg.json new file mode 100644 index 0000000..f3491d8 --- /dev/null +++ b/vcpkg/ports/clipp/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "clipp", + "version-date": "2019-04-30", + "port-version": 2, + "description": "command line interfaces for modern C++", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} |