diff --git a/CMakeLists.txt b/CMakeLists.txt index 79828bf..07152b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.0...3.5) project(constexpr_md5 VERSION 0.1.0 LANGUAGES CXX) @@ -7,5 +7,5 @@ set_target_properties(constexpr_md5 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/include ) -enable_testing() -add_subdirectory(test) \ No newline at end of file +#enable_testing() +#add_subdirectory(test) \ No newline at end of file diff --git a/include/md5.h b/include/md5.h index 10f8815..16c9423 100644 --- a/include/md5.h +++ b/include/md5.h @@ -23,6 +23,10 @@ #include #include +#ifdef __cpp_lib_string_view +#include +#endif //__cpp_lib_string_view + namespace md5 { using Digest = std::array; @@ -216,6 +220,14 @@ namespace md5 { c.append(s, details::const_strlen(s)); return c.final(); } + +#ifdef __cpp_lib_string_view + constexpr Digest compute(std::string_view s) noexcept { + details::Context c; + c.append(s.data(), s.length()); + return c.final(); + } +#endif //__cpp_lib_string_view } #endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e48376a..629d1ad 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,3 +1,5 @@ +cmake_minimum_required(VERSION 3.0...3.5) + add_subdirectory(external/doctest) add_executable(constexpr_md5_unit_tests main.cc)