diff --git a/CMakeLists.txt b/CMakeLists.txt index eef0c41..5d2c0d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(tinyutf8) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) option(TINYUTF8_BUILD_STATIC "Build as static library" On) @@ -12,3 +12,14 @@ else() endif() add_library(tinyutf8 ${LIB_BUILD_TYPE} tinyutf8.cpp) + +if(MSVC) + ADD_DEFINITIONS(-D_UNICODE) +endif() + +install(TARGETS tinyutf8 + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + +install(FILES tinyutf8.h DESTINATION include) diff --git a/tinyutf8.cpp b/tinyutf8.cpp index ca07b1e..502312f 100644 --- a/tinyutf8.cpp +++ b/tinyutf8.cpp @@ -1,6 +1,6 @@ #include "tinyutf8.h" // Explicit template instantiations for utf8_string -template struct tiny_utf8::basic_utf8_string<>; -template extern std::ostream& operator<<( std::ostream& stream , const tiny_utf8::basic_utf8_string<>& str ); -template extern std::istream& operator>>( std::istream& stream , tiny_utf8::basic_utf8_string<>& str ); \ No newline at end of file +template class tiny_utf8::basic_utf8_string<>; +extern template std::ostream& operator<<( std::ostream& stream , const tiny_utf8::basic_utf8_string<>& str ); +extern template std::istream& operator>>( std::istream& stream , tiny_utf8::basic_utf8_string<>& str );