From c0ddb6e38d61d566e0aa0893cb8b5678aba06002 Mon Sep 17 00:00:00 2001 From: sdottaka Date: Thu, 5 Dec 2024 22:42:20 +0900 Subject: [PATCH] Update POCO C++ libraries to 1.14.0 --- Externals/poco/.gitignore | 7 +- Externals/poco/CHANGELOG | 178 +- Externals/poco/CMakeLists.txt | 112 +- Externals/poco/CONTRIBUTING.md | 2 +- Externals/poco/CONTRIBUTORS | 26 +- Externals/poco/DLLVersion.rc | 5 +- .../Encodings/Compiler/Compiler_vs170.sln | 24 + .../Encodings/Compiler/Compiler_vs170.vcxproj | 296 +- .../poco/Encodings/Encodings_vs160.vcxproj | 12 - .../Encodings/Encodings_vs160.vcxproj.filters | 6 +- .../poco/Encodings/Encodings_vs170.vcxproj | 18 - .../Encodings/Encodings_vs170.vcxproj.filters | 6 +- .../TextConverter/TextConverter_vs160.vcxproj | 12 - .../TextConverter_vs160.vcxproj.filters | 4 +- .../TextConverter/TextConverter_vs170.vcxproj | 18 - .../TextConverter_vs170.vcxproj.filters | 4 +- .../testsuite/TestSuite_vs160.vcxproj | 12 - .../testsuite/TestSuite_vs160.vcxproj.filters | 4 +- .../testsuite/TestSuite_vs170.vcxproj | 18 - .../testsuite/TestSuite_vs170.vcxproj.filters | 4 +- Externals/poco/Foundation/CMakeLists.txt | 42 +- Externals/poco/Foundation/Foundation.vcxproj | 20 +- .../Foundation/Foundation.vcxproj.filters | 4 + .../poco/Foundation/Foundation_vs160.vcxproj | 87 +- .../Foundation_vs160.vcxproj.filters | 40 +- .../poco/Foundation/Foundation_vs170.vcxproj | 117 +- .../Foundation_vs170.vcxproj.filters | 40 +- Externals/poco/Foundation/Makefile | 22 +- .../poco/Foundation/fuzzing/CMakeLists.txt | 7 + .../poco/Foundation/fuzzing/DateTimeParse.cpp | 46 + .../poco/Foundation/fuzzing/MiscFuzzing.cpp | 95 + .../Foundation/include/Poco/AbstractCache.h | 31 +- .../include/Poco/AbstractObserver.h | 32 +- .../include/Poco/ActiveThreadPool.h | 89 +- .../poco/Foundation/include/Poco/Activity.h | 2 + Externals/poco/Foundation/include/Poco/Any.h | 75 +- .../Foundation/include/Poco/ArchiveStrategy.h | 15 + .../include/Poco/AsyncNotificationCenter.h | 77 + .../Foundation/include/Poco/AsyncObserver.h | 177 + .../Poco/BufferedBidirectionalStreamBuf.h | 52 +- .../poco/Foundation/include/Poco/Bugcheck.h | 58 +- .../poco/Foundation/include/Poco/ByteOrder.h | 34 + .../Foundation/include/Poco/ClassLibrary.h | 16 +- .../Foundation/include/Poco/ClassLoader.h | 2 +- .../poco/Foundation/include/Poco/Config.h | 18 +- .../poco/Foundation/include/Poco/DateTime.h | 9 +- .../Foundation/include/Poco/DateTimeFormat.h | 3 - .../poco/Foundation/include/Poco/Debugger.h | 25 +- .../Foundation/include/Poco/DeflatingStream.h | 36 +- .../include/Poco/DirectoryIterator.h | 2 +- .../Foundation/include/Poco/Dynamic/Pair.h | 52 +- .../Foundation/include/Poco/Dynamic/Var.h | 65 +- .../include/Poco/Dynamic/VarHolder.h | 585 +- .../include/Poco/Dynamic/VarIterator.h | 36 + .../poco/Foundation/include/Poco/Error.h | 3 + .../poco/Foundation/include/Poco/Event.h | 2 +- .../poco/Foundation/include/Poco/Exception.h | 8 + .../poco/Foundation/include/Poco/FIFOEvent.h | 3 +- .../Foundation/include/Poco/FIFOStrategy.h | 3 +- Externals/poco/Foundation/include/Poco/File.h | 21 +- .../poco/Foundation/include/Poco/FileStream.h | 29 +- .../include/Poco/FileStreamRWLock.h | 204 + .../include/Poco/FileStreamRWLock_POSIX.h | 115 + .../include/Poco/FileStreamRWLock_WIN32.h | 134 + .../include/Poco/FileStream_POSIX.h | 26 +- .../include/Poco/FileStream_WIN32.h | 23 +- .../poco/Foundation/include/Poco/File_UNIX.h | 6 +- .../poco/Foundation/include/Poco/File_VX.h | 7 +- .../Foundation/include/Poco/File_WIN32U.h | 5 +- .../poco/Foundation/include/Poco/Format.h | 1 + .../poco/Foundation/include/Poco/Foundation.h | 26 +- .../Foundation/include/Poco/HashFunction.h | 6 +- .../poco/Foundation/include/Poco/HashMap.h | 29 +- .../Foundation/include/Poco/HashStatistic.h | 2 +- .../poco/Foundation/include/Poco/HashTable.h | 3 +- .../Foundation/include/Poco/InflatingStream.h | 19 +- .../Foundation/include/Poco/JSONFormatter.h | 109 + .../Foundation/include/Poco/LinearHashTable.h | 40 +- .../Foundation/include/Poco/LocalDateTime.h | 6 - .../poco/Foundation/include/Poco/LogFile.h | 46 +- .../Foundation/include/Poco/LogFile_STD.h | 53 - .../Foundation/include/Poco/LogFile_WIN32U.h | 54 - .../poco/Foundation/include/Poco/Logger.h | 40 +- .../poco/Foundation/include/Poco/Message.h | 12 +- .../poco/Foundation/include/Poco/Mutex.h | 4 + .../Foundation/include/Poco/Mutex_POSIX.h | 14 +- .../Foundation/include/Poco/Mutex_WIN32.h | 5 +- .../poco/Foundation/include/Poco/NObserver.h | 98 +- .../Foundation/include/Poco/NamedEvent_UNIX.h | 18 +- .../poco/Foundation/include/Poco/NamedMutex.h | 1 + .../poco/Foundation/include/Poco/NamedTuple.h | 164 +- .../include/Poco/NestedDiagnosticContext.h | 12 +- .../Foundation/include/Poco/Notification.h | 4 +- .../include/Poco/NotificationCenter.h | 25 +- .../poco/Foundation/include/Poco/Nullable.h | 111 +- .../Foundation/include/Poco/NumberFormatter.h | 32 +- .../Foundation/include/Poco/NumericString.h | 4 +- .../poco/Foundation/include/Poco/Observer.h | 19 +- .../poco/Foundation/include/Poco/Optional.h | 54 +- Externals/poco/Foundation/include/Poco/Path.h | 18 +- .../include/Poco/PriorityDelegate.h | 4 - .../poco/Foundation/include/Poco/Process.h | 10 + .../Foundation/include/Poco/ProcessRunner.h | 34 +- .../Foundation/include/Poco/Process_UNIX.h | 1 + .../poco/Foundation/include/Poco/Process_VX.h | 1 + .../Foundation/include/Poco/Process_WIN32U.h | 1 + .../poco/Foundation/include/Poco/RWLock_VX.h | 14 +- .../Foundation/include/Poco/RotateStrategy.h | 6 +- .../Foundation/include/Poco/RunnableAdapter.h | 2 +- .../poco/Foundation/include/Poco/ScopedLock.h | 22 +- .../include/Poco/SimpleFileChannel.h | 14 +- .../Foundation/include/Poco/SimpleHashTable.h | 3 +- .../Foundation/include/Poco/StreamCopier.h | 145 + .../poco/Foundation/include/Poco/String.h | 55 +- .../poco/Foundation/include/Poco/Thread.h | 2 +- .../Foundation/include/Poco/Thread_POSIX.h | 16 +- .../poco/Foundation/include/Poco/Timer.h | 20 +- .../poco/Foundation/include/Poco/Types.h | 52 +- .../poco/Foundation/include/Poco/UTF8String.h | 17 + Externals/poco/Foundation/include/Poco/UUID.h | 7 +- .../Foundation/include/Poco/UUIDGenerator.h | 11 +- .../poco/Foundation/include/Poco/Version.h | 2 +- .../poco/Foundation/include/Poco/zconf.h | 10 +- Externals/poco/Foundation/include/Poco/zlib.h | 22 +- .../ActiveMethod/ActiveMethod_vs160.vcxproj | 55 +- .../ActiveMethod_vs160.vcxproj.filters | 4 +- .../ActiveMethod/ActiveMethod_vs170.vcxproj | 364 +- .../ActiveMethod_vs170.vcxproj.filters | 4 +- .../samples/Activity/Activity_vs160.vcxproj | 55 +- .../Activity/Activity_vs160.vcxproj.filters | 4 +- .../samples/Activity/Activity_vs170.vcxproj | 364 +- .../Activity/Activity_vs170.vcxproj.filters | 4 +- .../BinaryReaderWriter_vs160.vcxproj | 67 +- .../BinaryReaderWriter_vs160.vcxproj.filters | 4 +- .../BinaryReaderWriter_vs170.vcxproj | 382 +- .../BinaryReaderWriter_vs170.vcxproj.filters | 4 +- .../poco/Foundation/samples/CMakeLists.txt | 1 + .../samples/DateTime/DateTime_vs160.vcxproj | 67 +- .../DateTime/DateTime_vs160.vcxproj.filters | 4 +- .../samples/DateTime/DateTime_vs170.vcxproj | 382 +- .../DateTime/DateTime_vs170.vcxproj.filters | 4 +- .../LineEndingConverter_vs160.vcxproj | 67 +- .../LineEndingConverter_vs160.vcxproj.filters | 4 +- .../LineEndingConverter_vs170.vcxproj | 382 +- .../LineEndingConverter_vs170.vcxproj.filters | 4 +- .../LogRotation/LogRotation_vs160.vcxproj | 67 +- .../LogRotation_vs160.vcxproj.filters | 4 +- .../LogRotation/LogRotation_vs170.vcxproj | 382 +- .../LogRotation_vs170.vcxproj.filters | 4 +- .../samples/Logger/Logger_vs160.vcxproj | 67 +- .../Logger/Logger_vs160.vcxproj.filters | 4 +- .../samples/Logger/Logger_vs170.vcxproj | 382 +- .../Logger/Logger_vs170.vcxproj.filters | 4 +- Externals/poco/Foundation/samples/Makefile | 1 + .../NotificationQueue_vs160.vcxproj | 67 +- .../NotificationQueue_vs160.vcxproj.filters | 4 +- .../NotificationQueue_vs170.vcxproj | 382 +- .../NotificationQueue_vs170.vcxproj.filters | 4 +- .../StringTokenizer_vs160.vcxproj | 67 +- .../StringTokenizer_vs160.vcxproj.filters | 4 +- .../StringTokenizer_vs170.vcxproj | 382 +- .../StringTokenizer_vs170.vcxproj.filters | 4 +- .../samples/Timer/Timer_vs160.vcxproj | 67 +- .../samples/Timer/Timer_vs160.vcxproj.filters | 4 +- .../samples/Timer/Timer_vs170.vcxproj | 382 +- .../samples/Timer/Timer_vs170.vcxproj.filters | 4 +- .../Foundation/samples/URI/URI_vs160.vcxproj | 67 +- .../samples/URI/URI_vs160.vcxproj.filters | 4 +- .../Foundation/samples/URI/URI_vs170.vcxproj | 382 +- .../samples/URI/URI_vs170.vcxproj.filters | 4 +- .../base64decode/base64decode_vs160.vcxproj | 67 +- .../base64decode_vs160.vcxproj.filters | 4 +- .../base64decode/base64decode_vs170.vcxproj | 382 +- .../base64decode_vs170.vcxproj.filters | 4 +- .../base64encode/base64encode_vs160.vcxproj | 67 +- .../base64encode_vs160.vcxproj.filters | 4 +- .../base64encode/base64encode_vs170.vcxproj | 382 +- .../base64encode_vs170.vcxproj.filters | 4 +- .../samples/deflate/deflate_vs160.vcxproj | 67 +- .../deflate/deflate_vs160.vcxproj.filters | 4 +- .../samples/deflate/deflate_vs170.vcxproj | 382 +- .../deflate/deflate_vs170.vcxproj.filters | 4 +- .../Foundation/samples/dir/dir_vs160.vcxproj | 67 +- .../samples/dir/dir_vs160.vcxproj.filters | 4 +- .../Foundation/samples/dir/dir_vs170.vcxproj | 382 +- .../samples/dir/dir_vs170.vcxproj.filters | 4 +- .../samples/grep/grep_vs160.vcxproj | 67 +- .../samples/grep/grep_vs160.vcxproj.filters | 4 +- .../samples/grep/grep_vs170.vcxproj | 382 +- .../samples/grep/grep_vs170.vcxproj.filters | 4 +- .../samples/hmacmd5/hmacmd5_vs160.vcxproj | 67 +- .../hmacmd5/hmacmd5_vs160.vcxproj.filters | 4 +- .../samples/hmacmd5/hmacmd5_vs170.vcxproj | 382 +- .../hmacmd5/hmacmd5_vs170.vcxproj.filters | 4 +- .../samples/inflate/inflate_vs160.vcxproj | 67 +- .../inflate/inflate_vs160.vcxproj.filters | 4 +- .../samples/inflate/inflate_vs170.vcxproj | 382 +- .../inflate/inflate_vs170.vcxproj.filters | 4 +- .../Foundation/samples/md5/md5_vs160.vcxproj | 67 +- .../samples/md5/md5_vs160.vcxproj.filters | 4 +- .../Foundation/samples/md5/md5_vs170.vcxproj | 382 +- .../samples/md5/md5_vs170.vcxproj.filters | 4 +- .../poco/Foundation/samples/samples_vs170.sln | 366 + .../Foundation/samples/trace/CMakeLists.txt | 2 + .../poco/Foundation/samples/trace/Makefile | 25 + .../Foundation/samples/trace/Trace.progen | 11 + .../samples/trace/Trace_vs90.vcproj | 447 + .../Foundation/samples/trace/src/trace.cpp | 51 + .../samples/uuidgen/src/uuidgen.cpp | 4 + .../samples/uuidgen/uuidgen_vs160.vcxproj | 67 +- .../uuidgen/uuidgen_vs160.vcxproj.filters | 4 +- .../samples/uuidgen/uuidgen_vs170.vcxproj | 382 +- .../uuidgen/uuidgen_vs170.vcxproj.filters | 4 +- .../poco/Foundation/src/ActiveThreadPool.cpp | 536 +- .../poco/Foundation/src/ArchiveStrategy.cpp | 139 +- .../src/AsyncNotificationCenter.cpp | 106 + Externals/poco/Foundation/src/Bugcheck.cpp | 16 +- Externals/poco/Foundation/src/Checksum.cpp | 2 +- .../poco/Foundation/src/DataURIStream.cpp | 2 +- Externals/poco/Foundation/src/DateTime.cpp | 87 +- .../poco/Foundation/src/DateTimeFormat.cpp | 34 +- .../poco/Foundation/src/DateTimeParser.cpp | 230 +- Externals/poco/Foundation/src/Debugger.cpp | 6 +- .../poco/Foundation/src/DeflatingStream.cpp | 178 +- .../poco/Foundation/src/DirectoryWatcher.cpp | 31 +- Externals/poco/Foundation/src/Error.cpp | 11 +- Externals/poco/Foundation/src/Event.cpp | 6 +- .../poco/Foundation/src/EventLogChannel.cpp | 6 +- Externals/poco/Foundation/src/Exception.cpp | 31 + Externals/poco/Foundation/src/File.cpp | 76 +- Externals/poco/Foundation/src/FileChannel.cpp | 17 +- Externals/poco/Foundation/src/FileStream.cpp | 37 +- .../poco/Foundation/src/FileStreamRWLock.cpp | 44 + .../Foundation/src/FileStreamRWLock_POSIX.cpp | 36 + .../Foundation/src/FileStreamRWLock_WIN32.cpp | 39 + .../poco/Foundation/src/FileStream_POSIX.cpp | 51 +- .../poco/Foundation/src/FileStream_WIN32.cpp | 67 +- Externals/poco/Foundation/src/File_UNIX.cpp | 13 +- Externals/poco/Foundation/src/File_VX.cpp | 8 +- Externals/poco/Foundation/src/File_WIN32U.cpp | 18 +- Externals/poco/Foundation/src/Format.cpp | 4 + .../poco/Foundation/src/InflatingStream.cpp | 140 +- .../poco/Foundation/src/JSONFormatter.cpp | 182 + Externals/poco/Foundation/src/LogFile.cpp | 83 +- Externals/poco/Foundation/src/LogFile_STD.cpp | 86 - .../poco/Foundation/src/LogFile_WIN32U.cpp | 127 - Externals/poco/Foundation/src/Logger.cpp | 2 +- .../poco/Foundation/src/LoggingFactory.cpp | 2 + Externals/poco/Foundation/src/Message.cpp | 4 +- Externals/poco/Foundation/src/Mutex_POSIX.cpp | 4 +- Externals/poco/Foundation/src/Mutex_WIN32.cpp | 2 +- .../poco/Foundation/src/NamedEvent_UNIX.cpp | 78 +- .../src/NestedDiagnosticContext.cpp | 30 +- .../poco/Foundation/src/Notification.cpp | 5 +- .../Foundation/src/NotificationCenter.cpp | 44 +- Externals/poco/Foundation/src/Path.cpp | 49 +- .../poco/Foundation/src/ProcessRunner.cpp | 92 +- .../poco/Foundation/src/Process_UNIX.cpp | 9 + Externals/poco/Foundation/src/Process_VX.cpp | 7 + .../poco/Foundation/src/Process_WIN32U.cpp | 24 + .../poco/Foundation/src/PurgeStrategy.cpp | 9 + .../poco/Foundation/src/RegularExpression.cpp | 60 +- .../poco/Foundation/src/SimpleFileChannel.cpp | 12 +- .../poco/Foundation/src/StreamCopier.cpp | 126 +- .../Foundation/src/TextBufferIterator.cpp | 2 + .../poco/Foundation/src/TextIterator.cpp | 2 + Externals/poco/Foundation/src/Thread.cpp | 16 +- Externals/poco/Foundation/src/ThreadPool.cpp | 28 +- .../poco/Foundation/src/Thread_POSIX.cpp | 74 +- Externals/poco/Foundation/src/Timestamp.cpp | 2 +- Externals/poco/Foundation/src/UTF8String.cpp | 58 + .../poco/Foundation/src/UUIDGenerator.cpp | 113 +- Externals/poco/Foundation/src/Unicode.cpp | 2 +- Externals/poco/Foundation/src/Var.cpp | 18 + Externals/poco/Foundation/src/VarIterator.cpp | 3 +- Externals/poco/Foundation/src/deflate.c | 47 +- Externals/poco/Foundation/src/deflate.h | 51 +- Externals/poco/Foundation/src/gzguts.h | 31 +- Externals/poco/Foundation/src/inffast.h | 2 +- Externals/poco/Foundation/src/inflate.c | 2 +- Externals/poco/Foundation/src/inftrees.c | 6 +- Externals/poco/Foundation/src/inftrees.h | 10 +- Externals/poco/Foundation/src/pcre2.h | 35 +- .../poco/Foundation/src/pcre2_auto_possess.c | 16 +- .../poco/Foundation/src/pcre2_chartables.c | 5 +- Externals/poco/Foundation/src/pcre2_chkdint.c | 93 + Externals/poco/Foundation/src/pcre2_compile.c | 1298 +- Externals/poco/Foundation/src/pcre2_config.h | 64 +- Externals/poco/Foundation/src/pcre2_context.c | 54 +- Externals/poco/Foundation/src/pcre2_convert.c | 8 + .../poco/Foundation/src/pcre2_dfa_match.c | 167 +- Externals/poco/Foundation/src/pcre2_error.c | 10 +- Externals/poco/Foundation/src/pcre2_extuni.c | 28 +- .../poco/Foundation/src/pcre2_find_bracket.c | 10 +- .../poco/Foundation/src/pcre2_internal.h | 159 +- .../poco/Foundation/src/pcre2_intmodedep.h | 58 +- .../poco/Foundation/src/pcre2_jit_compile.c | 1430 +- .../poco/Foundation/src/pcre2_jit_match.c | 16 +- .../poco/Foundation/src/pcre2_jit_misc.c | 4 +- .../poco/Foundation/src/pcre2_maketables.c | 6 +- Externals/poco/Foundation/src/pcre2_match.c | 469 +- .../poco/Foundation/src/pcre2_match_data.c | 12 + Externals/poco/Foundation/src/pcre2_study.c | 104 +- .../poco/Foundation/src/pcre2_substring.c | 7 +- Externals/poco/Foundation/src/pcre2_tables.c | 12 +- Externals/poco/Foundation/src/pcre2_ucd.c | 5584 ++--- Externals/poco/Foundation/src/pcre2_ucp.h | 48 +- .../poco/Foundation/src/pcre2_ucptables.c | 529 +- .../poco/Foundation/src/pcre2_valid_utf.c | 48 +- Externals/poco/Foundation/src/pcre2_xclass.c | 53 +- Externals/poco/Foundation/src/trees.c | 20 +- Externals/poco/Foundation/src/ucp.h | 224 - Externals/poco/Foundation/src/utf8proc.c | 819 + Externals/poco/Foundation/src/utf8proc.h | 753 + Externals/poco/Foundation/src/utf8proc_data.c | 16986 ++++++++++++++++ Externals/poco/Foundation/src/zconf.h | 10 +- Externals/poco/Foundation/src/zlib.h | 22 +- Externals/poco/Foundation/src/zutil.h | 47 +- .../poco/Foundation/testsuite/CMakeLists.txt | 4 + .../poco/Foundation/testsuite/Makefile-Driver | 8 +- .../testsuite/TestApp_vs170.vcxproj | 60 +- .../testsuite/TestLibrary_vs170.vcxproj | 24 +- .../testsuite/TestSuite_vs160.vcxproj | 7 +- .../testsuite/TestSuite_vs160.vcxproj.filters | 12 +- .../testsuite/TestSuite_vs170.vcxproj | 58 + .../testsuite/TestSuite_vs170.vcxproj.filters | 12 +- .../testsuite/src/ActiveDispatcherTest.cpp | 4 +- .../testsuite/src/ActiveMethodTest.cpp | 4 +- .../testsuite/src/ActiveThreadPoolTest.cpp | 120 +- .../testsuite/src/ActiveThreadPoolTest.h | 4 +- .../Foundation/testsuite/src/ActivityTest.cpp | 50 + .../Foundation/testsuite/src/ActivityTest.h | 1 + .../poco/Foundation/testsuite/src/AnyTest.cpp | 108 +- .../poco/Foundation/testsuite/src/AnyTest.h | 7 + .../Foundation/testsuite/src/ArrayTest.cpp | 7 +- .../testsuite/src/ByteOrderTest.cpp | 78 + .../testsuite/src/ClassLoaderTest.cpp | 11 +- .../Foundation/testsuite/src/CoreTest.cpp | 59 +- .../poco/Foundation/testsuite/src/CoreTest.h | 1 + .../testsuite/src/DateTimeParserTest.cpp | 10 + .../Foundation/testsuite/src/DateTimeTest.cpp | 150 +- .../Foundation/testsuite/src/DateTimeTest.h | 1 + .../testsuite/src/EventTestSuite.cpp | 7 +- .../testsuite/src/FIFOEventTest.cpp | 7 +- .../Foundation/testsuite/src/FIFOEventTest.h | 2 + .../testsuite/src/FileChannelTest.cpp | 63 + .../testsuite/src/FileChannelTest.h | 1 + .../testsuite/src/FileStreamRWLockTest.cpp | 264 + .../testsuite/src/FileStreamRWLockTest.h | 39 + .../testsuite/src/FileStreamTest.cpp | 167 + .../Foundation/testsuite/src/FileStreamTest.h | 3 + .../Foundation/testsuite/src/FileTest.cpp | 60 +- .../poco/Foundation/testsuite/src/FileTest.h | 1 + .../Foundation/testsuite/src/FormatTest.cpp | 28 + .../Foundation/testsuite/src/FormatTest.h | 1 + .../testsuite/src/HashTableTest.cpp | 4 + .../Foundation/testsuite/src/HashTableTest.h | 3 + .../testsuite/src/HashingTestSuite.cpp | 4 + .../testsuite/src/JSONFormatterTest.cpp | 94 + .../testsuite/src/JSONFormatterTest.h | 38 + .../testsuite/src/LinearHashTableTest.cpp | 24 +- .../testsuite/src/LinearHashTableTest.h | 9 +- .../testsuite/src/LoggingTestSuite.cpp | 2 + .../poco/Foundation/testsuite/src/NDCTest.cpp | 55 +- .../poco/Foundation/testsuite/src/NDCTest.h | 2 + .../testsuite/src/NamedEventTest.cpp | 51 + .../Foundation/testsuite/src/NamedEventTest.h | 1 + .../testsuite/src/NotificationCenterTest.cpp | 152 +- .../testsuite/src/NotificationCenterTest.h | 26 +- .../Foundation/testsuite/src/PathTest.cpp | 38 + .../poco/Foundation/testsuite/src/PathTest.h | 1 + .../testsuite/src/ProcessRunnerTest.cpp | 44 +- .../testsuite/src/ProcessRunnerTest.h | 2 +- .../testsuite/src/ProcessesTestSuite.cpp | 2 + .../testsuite/src/SimpleHashTableTest.cpp | 3 + .../testsuite/src/SimpleHashTableTest.h | 3 + .../testsuite/src/StreamCopierTest.cpp | 140 + .../testsuite/src/StreamCopierTest.h | 4 + .../Foundation/testsuite/src/StringTest.cpp | 4 + .../poco/Foundation/testsuite/src/TestApp.cpp | 167 + .../testsuite/src/TextIteratorTest.cpp | 34 + .../testsuite/src/TextIteratorTest.h | 2 + .../testsuite/src/ThreadPoolTest.cpp | 2 +- .../Foundation/testsuite/src/ThreadTest.cpp | 63 +- .../Foundation/testsuite/src/ThreadTest.h | 1 + .../testsuite/src/UTF8StringTest.cpp | 20 + .../Foundation/testsuite/src/UTF8StringTest.h | 2 + .../testsuite/src/UUIDGeneratorTest.cpp | 56 + .../testsuite/src/UUIDGeneratorTest.h | 4 + .../Foundation/testsuite/src/UUIDTest.cpp | 24 + .../poco/Foundation/testsuite/src/UUIDTest.h | 2 + .../poco/Foundation/testsuite/src/VarTest.cpp | 171 +- .../poco/Foundation/testsuite/src/VarTest.h | 3 +- .../Foundation/testsuite/src/ZLibTest.cpp | 3 +- Externals/poco/Makefile | 18 +- Externals/poco/README | 8 +- Externals/poco/README.md | 6 +- Externals/poco/VERSION | 2 +- Externals/poco/XML/CMakeLists.txt | 3 + Externals/poco/XML/XML_vs160.vcxproj.filters | 24 +- Externals/poco/XML/XML_vs170.vcxproj.filters | 24 +- Externals/poco/XML/XML_vs90.vcproj | 16 +- Externals/poco/XML/fuzzing/CMakeLists.txt | 3 + Externals/poco/XML/fuzzing/XMLParse.cpp | 88 + Externals/poco/XML/fuzzing/xml.dict | 116 + .../poco/XML/include/Poco/DOM/DOMBuilder.h | 9 +- .../poco/XML/include/Poco/DOM/DOMParser.h | 20 +- .../poco/XML/include/Poco/SAX/SAXParser.h | 7 +- .../XML/include/Poco/XML/XMLStreamParser.h | 21 +- .../DOMParser/DOMParser_vs160.vcxproj.filters | 4 +- .../DOMParser/DOMParser_vs170.vcxproj.filters | 4 +- .../DOMWriter/DOMWriter_vs160.vcxproj.filters | 4 +- .../DOMWriter/DOMWriter_vs170.vcxproj.filters | 4 +- .../PrettyPrint_vs160.vcxproj.filters | 4 +- .../PrettyPrint_vs170.vcxproj.filters | 4 +- .../SAXParser/SAXParser_vs160.vcxproj.filters | 4 +- .../SAXParser/SAXParser_vs170.vcxproj.filters | 4 +- .../poco/XML/src/AbstractContainerNode.cpp | 36 +- Externals/poco/XML/src/DOMBuilder.cpp | 34 +- Externals/poco/XML/src/DOMParser.cpp | 30 +- Externals/poco/XML/src/Element.cpp | 10 +- Externals/poco/XML/src/EventDispatcher.cpp | 2 +- Externals/poco/XML/src/NodeAppender.cpp | 2 +- Externals/poco/XML/src/NodeIterator.cpp | 6 +- Externals/poco/XML/src/ParserEngine.cpp | 8 +- .../{include/Poco/XML => src}/ParserEngine.h | 2 +- Externals/poco/XML/src/SAXParser.cpp | 63 +- Externals/poco/XML/src/TreeWalker.cpp | 2 +- Externals/poco/XML/src/XMLStreamParser.cpp | 22 +- .../XML/{include/Poco/XML => src}/expat.h | 6 +- .../Poco/XML => src}/expat_external.h | 0 Externals/poco/XML/src/internal.h | 2 +- Externals/poco/XML/src/siphash.h | 3 +- Externals/poco/XML/src/xmlparse.cpp | 63 +- Externals/poco/XML/src/xmlrole.c | 6 +- Externals/poco/XML/src/xmltok.c | 6 +- .../testsuite/TestSuite_vs160.vcxproj.filters | 28 +- .../testsuite/TestSuite_vs170.vcxproj.filters | 28 +- .../poco/XML/testsuite/src/NamePoolTest.cpp | 2 +- .../XML/testsuite/src/ParserWriterTest.cpp | 18 + .../poco/XML/testsuite/src/ParserWriterTest.h | 2 +- Externals/poco/build/config/ELDK | 2 +- Externals/poco/build/config/PPC-Linux | 2 +- Externals/poco/build/rules/dylib | 4 + Externals/poco/build/rules/exec | 4 + Externals/poco/build/rules/global | 7 +- Externals/poco/build/rules/lib | 4 + Externals/poco/build_cmake.sh | 2 +- Externals/poco/build_vs140.cmd | 2 - Externals/poco/build_vs150.cmd | 2 - ...ifc.cmake => DefinePlatformSpecific.cmake} | 88 +- Externals/poco/cmake/FindAPR.cmake | 4 +- Externals/poco/cmake/FindAPRUTIL.cmake | 4 +- Externals/poco/cmake/FindAvahi.cmake | 20 + Externals/poco/cmake/FindBonjour.cmake | 49 + Externals/poco/cmake/FindODBC.cmake | 148 - Externals/poco/cmake/FindPostgreSQL.cmake | 212 - Externals/poco/cmake/FindUtf8Proc.cmake | 68 + Externals/poco/cmake/UseEmbeddedOpenSSL.cmake | 79 - Externals/poco/cmake/V313/FindSQLite3.cmake | 66 - Externals/poco/cmake/V33/FindOpenSSL.cmake | 463 - Externals/poco/cmake/V39/FindEXPAT.cmake | 79 - Externals/poco/components | 4 + Externals/poco/configure | 57 +- Externals/poco/doc/00200-GettingStarted.page | 2 +- Externals/poco/doc/99100-ReleaseNotes.page | 175 +- Externals/poco/libversion | 2 +- Externals/poco/poco_env.bash | 2 +- Externals/poco/progen.ps1 | 43 +- Externals/versions.txt | 2 +- 470 files changed, 43684 insertions(+), 8932 deletions(-) create mode 100644 Externals/poco/Foundation/fuzzing/CMakeLists.txt create mode 100644 Externals/poco/Foundation/fuzzing/DateTimeParse.cpp create mode 100644 Externals/poco/Foundation/fuzzing/MiscFuzzing.cpp create mode 100644 Externals/poco/Foundation/include/Poco/AsyncNotificationCenter.h create mode 100644 Externals/poco/Foundation/include/Poco/AsyncObserver.h create mode 100644 Externals/poco/Foundation/include/Poco/FileStreamRWLock.h create mode 100644 Externals/poco/Foundation/include/Poco/FileStreamRWLock_POSIX.h create mode 100644 Externals/poco/Foundation/include/Poco/FileStreamRWLock_WIN32.h create mode 100644 Externals/poco/Foundation/include/Poco/JSONFormatter.h delete mode 100644 Externals/poco/Foundation/include/Poco/LogFile_STD.h delete mode 100644 Externals/poco/Foundation/include/Poco/LogFile_WIN32U.h create mode 100644 Externals/poco/Foundation/samples/trace/CMakeLists.txt create mode 100644 Externals/poco/Foundation/samples/trace/Makefile create mode 100644 Externals/poco/Foundation/samples/trace/Trace.progen create mode 100644 Externals/poco/Foundation/samples/trace/Trace_vs90.vcproj create mode 100644 Externals/poco/Foundation/samples/trace/src/trace.cpp create mode 100644 Externals/poco/Foundation/src/AsyncNotificationCenter.cpp create mode 100644 Externals/poco/Foundation/src/FileStreamRWLock.cpp create mode 100644 Externals/poco/Foundation/src/FileStreamRWLock_POSIX.cpp create mode 100644 Externals/poco/Foundation/src/FileStreamRWLock_WIN32.cpp create mode 100644 Externals/poco/Foundation/src/JSONFormatter.cpp delete mode 100644 Externals/poco/Foundation/src/LogFile_STD.cpp delete mode 100644 Externals/poco/Foundation/src/LogFile_WIN32U.cpp create mode 100644 Externals/poco/Foundation/src/pcre2_chkdint.c delete mode 100644 Externals/poco/Foundation/src/ucp.h create mode 100644 Externals/poco/Foundation/src/utf8proc.c create mode 100644 Externals/poco/Foundation/src/utf8proc.h create mode 100644 Externals/poco/Foundation/src/utf8proc_data.c create mode 100644 Externals/poco/Foundation/testsuite/src/FileStreamRWLockTest.cpp create mode 100644 Externals/poco/Foundation/testsuite/src/FileStreamRWLockTest.h create mode 100644 Externals/poco/Foundation/testsuite/src/JSONFormatterTest.cpp create mode 100644 Externals/poco/Foundation/testsuite/src/JSONFormatterTest.h create mode 100644 Externals/poco/XML/fuzzing/CMakeLists.txt create mode 100644 Externals/poco/XML/fuzzing/XMLParse.cpp create mode 100644 Externals/poco/XML/fuzzing/xml.dict rename Externals/poco/XML/{include/Poco/XML => src}/ParserEngine.h (99%) rename Externals/poco/XML/{include/Poco/XML => src}/expat.h (99%) rename Externals/poco/XML/{include/Poco/XML => src}/expat_external.h (100%) delete mode 100644 Externals/poco/build_vs140.cmd delete mode 100644 Externals/poco/build_vs150.cmd rename Externals/poco/cmake/{DefinePlatformSpecifc.cmake => DefinePlatformSpecific.cmake} (50%) create mode 100644 Externals/poco/cmake/FindAvahi.cmake create mode 100644 Externals/poco/cmake/FindBonjour.cmake delete mode 100644 Externals/poco/cmake/FindODBC.cmake delete mode 100644 Externals/poco/cmake/FindPostgreSQL.cmake create mode 100644 Externals/poco/cmake/FindUtf8Proc.cmake delete mode 100644 Externals/poco/cmake/UseEmbeddedOpenSSL.cmake delete mode 100644 Externals/poco/cmake/V313/FindSQLite3.cmake delete mode 100644 Externals/poco/cmake/V33/FindOpenSSL.cmake delete mode 100644 Externals/poco/cmake/V39/FindEXPAT.cmake diff --git a/Externals/poco/.gitignore b/Externals/poco/.gitignore index 152101e6fcd..4c163f64deb 100644 --- a/Externals/poco/.gitignore +++ b/Externals/poco/.gitignore @@ -43,9 +43,13 @@ config.build config.make # CLion # -######## +######### .idea/ +# Qt Creator # +######### +build/ + # CMake # ######## cmake_install.cmake @@ -131,6 +135,7 @@ lib/ lib64/ pocomsg.h **/UpgradeLog*.XML +/out/build/x64-Debug .vs/ vcpkg_installed/ diff --git a/Externals/poco/CHANGELOG b/Externals/poco/CHANGELOG index d390d946d02..835ecb3d41f 100644 --- a/Externals/poco/CHANGELOG +++ b/Externals/poco/CHANGELOG @@ -1,6 +1,178 @@ This is the changelog file for the POCO C++ Libraries. +Release 1.14.0 (2024-12-01) +=========================== + +Summary of Changes: + +This release marks many functions and classes as deprecated with C++ [[deprecated]] +attribute. Warnings can be silenced by defining POCO_SILENCE_DEPRECATED. + +Deprecated functionality will be removed in one of the next releases. + +Minimal supported standard is C++17 since version 1.13. Decent part of the +source code is modernised in this release. + +Bundled software libraries are updated to latest versions: + +- zlib 1.3.1 +- expat 2.6.4 +- pcre2 10.44 +- libpng 1.6.43 +- SQLite 3.47.1 + +Poco::Foundation: + +- Support for Version 6 and Version 7 UUIDs + +Poco::MongoDB: + +- Obsolete wire-protocol (pre 3.6) that was removed from MongoDB in version 5.1 +is obsolete in this version of Poco. It will be removed in one of next versions. Update code to use +OpMsg-based interface. + +Poco::Data: + +- Full Nullable support (including bulk inserts) +- ODBC SQL Server big strings support + + +Breaking Changes: + +- GH #4426 Mark deprecated code for removal + +Security Fixes: + +- GH #4760 Upgrade libexpat to release 2.6.4 +- GH #4690 Net: stack-buffer-overflow if HTTP request contains a header with invalid UTF32 sequence +- GH #4687 Net::MailMessage: Double free if Content-Disposition header is empty +- GH #4629 XML: fuzzing stack overflow +- GH #4123 DoS vulnerability in XML/src/xmlparse.cpp +- GH #4478 Upgrade bundled PCRE2 to 10.44 +- PR #4677 libpng version 1.6.43 + +Features, Enhancements and Third Party Updates: + +- PR #4787 NetSSL_OpenSSL and NetSSL_Win: non-blocking support, shutdown behavior fix +- PR #4681 zlib: Version 1.3.1 in module PDF (#4582) +- PR #4788 Update bundled SQLite to version 3.47.1 (released 2024-11-25) +- GH #4669 Upgrade JSON parser +- GH #4580 Poco::UUID/UUIDGenerator: add support for Version 6 and Version 7 UUIDs +- PR #4724 Hide zlib and expat libs from the user of Poco libraries (replaces #4579) +- GH #4766 ProcessRunner sync +- GH #4750 DBLogger sample +- GH #4712 Error code for pthread_mutex_lock failure +- GH #4710 UTF8::normalize() +- GH #4680 Poco::Path::forDirectory("C:") throws if the path is disk-letter only +- GH #4556 Overriding SocketReactor::run() is not reasonably possible +- GH #4553 Poco::Logger can not output __FILE__ and __LINE__ +- GH #4544 The load balancing issue in Poco::ActiveThreadPool +- GH #4502 Optional and Nullable Improvements +- GH #4431 Consolidate LogFile implementation to use FileOutputStream +- GH #4423 `Dynamic::Var` silently loses precision on int->float conversion +- GH #4230 Poco::Data fixes and improvements +- GH #3997 operator<<() for SocketAddress doesn't work with ADL +- GH #3801 ODBC: DataFormatException getting Time value from SQL Server +- GH #3656 Parse json into specified descendant class +- GH #2808 Failed to insert Poco::Nullable< Poco::Data::Date> data into MSSQL using ODBC +- GH #1540 Poco::DateTime uses assertions for validation +- GH #4769 pocoNetworkInitializer - change fixed path (Windows Platform related) +- GH #4716 Logging: JSONFormatter +- GH #4692 Stacktrace +- GH #4643 `ServerApplication` callbacks +- GH #4632 Add `prebuild` action to make build +- GH #4630 Make `Util::Application::getApplicationPath()` and `findAppConfigFile()` protected +- GH #4559 ServerApplication has no pidfile option on windows +- GH #4536 Serializable Isolation level for SQLite Databases +- GH #4529 SQLChannel stops logging on LoggingSubsystem shutdown +- GH #4493 PocoDoc: search support +- GH #4447 Add checkers for Any holding nullptr +- GH #4414 Improve NotificationCenter speed and usability +- GH #4413 StreamCopier range support +- GH #4409 Add string_view format type spec +- GH #4365 `Poco::Data::Statement`: unified '?' placeholder support +- GH #4341 1.12.4 version Json set enum value failed +- GH #4324 Poco:Data::ODBC - MSSQL (n)varchar(max) length issue +- GH #4001 Insert NULL using BULK +- GH #3281 DTLS 1.2 support +- PR #4777 enh(ODBC): ODBC: DataFormatException getting Time value from SQL Serv… +- PR #4774 Non-blocking sockets support (TLS, WebSocket) +- PR #4770 feat(WindowsBuild): customizable path to include for pocoNetworkInitializer #4769 +- PR #4755 Insert NULL using BULK #4001 +- PR #4748 Activity now sets _running flag to false when it finishes or throws. +- PR #4721 fix(Data::ODBC): use connection and login timeouts in ODBC session implementation +- PR #4714 Add missing relational operators to VarIterator +- PR #4699 Apply patches from Debian packaging +- PR #4693 Serializable Isolation level for SQLite Databases +- PR #4663 Fixed incorrect SSL_CTX_set0_tmp_dh_pkey() usage +- PR #4624 enh(Poco::ActiveThreadPool): make it easy to use correctly +- PR #4621 enh(FileStream): Add FileStreamBuf::resizeBuffer +- PR #4617 enh(CI): Add unbundled build on Linux. +- PR #4616 Cppunit and data test enhancements +- PR #4569 Allow ADL for swapping Optional values +- PR #4563 enh(MongoDB): Document::get returns value by const reference +- PR #3040 HTTPS proxy support +- PR #4734 File lock +- PR #4424 Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams +- PR #4685 CMake: Remove possibility to build with internal OpenSSL + +Bug Fixes and Improvements: + +- GH #4773 Non-blocking sockets support (TLS, WebSocket) +- GH #4768 Data: warning: 'isNull' overrides a member function but is not marked 'override' +- GH #4742 Poco does not build on AIX +- GH #4722 libcxx: error: implicit instantiation of undefined template 'std::char_traits' +- GH #4713 replaceInPlace std::wstring +- GH #4711 Poco::Placeholder initialization uses wrong size +- GH #4703 File Channel Logs in UTC Despite ‘times = local’ +- GH #4695 Build error with GCC-15 (class Poco::PriorityDelegate’ has no member named ‘_pTarget’) +- GH #4689 SMTPClientSession: replace bare newlines in message content with CRLF. +- GH #4668 Cross-module exception issue with pre-compiler define _HAS_EXCEPTIONS=0 used in an application +- GH #4664 HTTPCookie Constructor Fails to Handle Discard Attribute Properly +- GH #4648 ProcessRunner erases its PID file name +- GH #4644 TryParse scoped ipv6 addressess for addresses enclosed in [ ] +- GH #4634 Poco::ActiveThreadPool _targetCompleted event never reset +- GH #4610 Incorrect setting of ciphersuites for TLSv1.3 +- GH #4592 Significant performance degradation of Poco::DateTimeParser +- GH #4586 MacOS ARM64 build error: symbol `fdopen` is duplicated defined +- GH #4585 MacOS ARM64 build warning: 'OS_CODE' macro redefined +- GH #4557 NestedDiagnosticContext should be thread local +- GH #4540 Postgres CMakeList.txt +- GH #4535 decodeWord adds spaces at folding borders, when there are special characters encoded +- GH #4525 RecordSet issue since 1.10.0 +- GH #4503 GitHub runner: Linux thread sanitizer tests fail with "unexpected memory mapping" +- GH #4482 ProcessRunner does not detect launch errors +- GH #4395 There is no way to resolve host in advance and connect to HTTPS server with SNI. +- GH #4368 fix Oracle failing ODBC tests +- GH #3913 Missing sources in release package - buildwin.ps1 and NetSSL_Win +- GH #3896 TryParse scoped ipv6 addressess +- GH #3180 Poco::Environment::osDisplayName +- GH #2971 Poco::NamedEvent does not release System V semaphore on Linux +- GH #2439 Issue with log purging when FileChannel compression is enabled +- PR #4762 Properly define POCO_DLL and POCO_STATIC based on BUILD_SHARED_LIBS +- PR #4753 Openssl DH key size +- PR #4737 fix(cmake): fix Data::PostgreSQL target include, remove unnecessary cmake modules. +- PR #4727 GitHub runner ubuntu 24.04 and resolve some issues +- PR #4726 Explicitly define conditional LOB constructors for const (w)string & +- PR #4725 Exception (VS): static assert to make sure that _HAS_EXCEPTIONS is set +- PR #4702 SimpleRowFormatter.h: fix the build on `gcc-15` (unsatisfied `noexcept`) +- PR #4688 Fix double free in Net::MailMessage if Content-Disposition header is empty +- PR #4657 LibPNG Unbundled +- PR #4652 enh(ScopedLockWithUnlock): make it more alike std::unique_lock +- PR #4647 Use Int64 for TcpServerDispatcher::totalConnections() +- PR #4635 fix(Poco::Zip::ZipLocalFileHeader) Fix const-correctness +- PR #4622 fix(SimpleFileChannel): unify default "flush" to be false as it is in FileChannel +- PR #4613 Usage modern C++ features on JSON modules (enhanced) +- PR #4597 Fix MinGW build error +- PR #4593 DateTimeParser Validation and Performance Improvements +- PR #4550 enh: resolve unit test and few other warnings. +- PR #4545 Add CACHE PATH to multi-config output directory variables +- PR #4542 Decode word +- PR #4417 fix(logs): synchronise log file rotation and compression. +- PR #4085 Usage modern C++ features on JSON modules + + Release 1.13.3 (2024-04-04) =========================== @@ -95,13 +267,13 @@ Bug Fixes and Improvements: Release 1.13.0 (2023-12-22) =========================== -Highlights: +Highlights - Support for MongoDB 5.1 and newer - C++17 is the lowest supported standard - Poco::Data SQLParser (experimental, optional at build and runtime) -Breaking Changes: +Breaking Changes - GH #4305 Remove deprecated `toJSON` functions - GH #4304 NumericString conversions inconsistencies @@ -164,7 +336,7 @@ Features and Enhancements - PR #4144 add visitor pattern implementation for Poco::Dynamic::Var - PR #3476 add separate accessors and mutators for connect, send and receive tim… -Bug fixes and Improvements: +Bug fixes and Improvements - GH #4328 Environment::nodeId Should Throw SystemException When Node ID is 0 - GH #4311 Canceled `Task` shouldn't start running diff --git a/Externals/poco/CMakeLists.txt b/Externals/poco/CMakeLists.txt index af6af035912..861c27c5650 100644 --- a/Externals/poco/CMakeLists.txt +++ b/Externals/poco/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.15.0) project(Poco) @@ -16,28 +16,22 @@ set(RELEASE_NAME "Unstable-trunk") # top of the build tree rather than in hard-to-find leaf # directories. This simplifies manual testing and the use of the build # tree rather than installed Boost libraries. -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib CACHE PATH "Library output") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib CACHE PATH "Archive output") # Windows DLLs are "runtime" for CMake. Output them to "bin" like the Visual Studio projects do. -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Runtime output") # Reset output dirs for multi-config builds foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin CACHE PATH "Runtime output for ${OUTPUTCONFIG}") + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib CACHE PATH "Library output for ${OUTPUTCONFIG}") + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib CACHE PATH "Archive output for ${OUTPUTCONFIG}") endforeach(OUTPUTCONFIG) # Append our module directory to CMake list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -if(CMAKE_VERSION VERSION_LESS "3.10") - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/V39) -endif() -if(CMAKE_VERSION VERSION_LESS "3.14") - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/V313) -endif() ################################################################################# # Setup C/C++ compiler options ################################################################################# @@ -64,12 +58,9 @@ include(GNUInstallDirs) # Include some common macros to simpilfy the Poco CMake files include(PocoMacros) -if(POCO_STATIC) - message(WARNING "POCO_STATIC has been deprecated. Please use BUILD_SHARED_LIBS=NO to build static libraries.") - option(BUILD_SHARED_LIBS "Build shared libraries" OFF) -else() - option(BUILD_SHARED_LIBS "Build shared libraries" ON) -endif() +option(BUILD_SHARED_LIBS "Build using shared libraries" ON) + +set(POCO_SANITIZEFLAGS CACHE STRING "Compiler-dependent sanitizer flags (like -fsanitize=address or /fsanitize=address") if(MSVC) option(POCO_MT "Set to OFF|ON (default is OFF) to control build of POCO as /MT instead of /MD" OFF) @@ -77,24 +68,15 @@ if(MSVC) if(BUILD_SHARED_LIBS AND POCO_MT) message(FATAL_ERROR "Cannot have both BUILD_SHARED_LIBS and POCO_MT") endif() - - # allow disabling of internally built OpenSSL# (see below for details) - # if POCO pre-built OpenSSL directory is found, and POCO_DISABLE_INTERNAL_OPENSSL=OFF, - # the internal OpenSSL build will be used - option(POCO_DISABLE_INTERNAL_OPENSSL "Disable internal OpensSSL binaries use" ON) - - if((NOT POCO_DISABLE_INTERNAL_OPENSSL) AND (ENABLE_NETSSL OR ENABLE_CRYPTO OR (ENABLE_DATA_MYSQL AND MINGW))) - include(UseEmbeddedOpenSSL) - endif() - - if(POCO_SANITIZE_ASAN) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address") - endif() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus") endif() option(ENABLE_NETSSL_WIN "Enable NetSSL Windows" OFF) -option(FORCE_OPENSSL "Force usage of OpenSSL even under windows" OFF) + +# +# Path to OpenSSL installation root can be provided by setting a variable +# OPENSSL_ROOT_DIR. +# if(ENABLE_CRYPTO OR ENABLE_NETSSL OR ENABLE_JWT) find_package(OpenSSL REQUIRED) @@ -166,9 +148,11 @@ endif() if(ODBC_FOUND) option(ENABLE_DATA "Enable Data" ON) option(ENABLE_DATA_ODBC "Enable Data ODBC" ON) + option(ENABLE_DATA_SQL_SERVER_BIG_STRINGS "Enable MS SQL Server big strings" ON) else() option(ENABLE_DATA "Enable Data" OFF) option(ENABLE_DATA_ODBC "Enable Data ODBC" OFF) + option(ENABLE_DATA_SQL_SERVER_BIG_STRINGS "Enable MS SQL Server big strings" OFF) endif() # Allow enabling and disabling components @@ -180,6 +164,12 @@ option(ENABLE_JSON "Enable JSON" ON) option(ENABLE_MONGODB "Enable MongoDB" ON) option(ENABLE_DATA_SQLITE "Enable Data SQlite" ON) option(ENABLE_REDIS "Enable Redis" ON) +option(ENABLE_DNSSD "Enable DNSSD" OFF) +option(ENABLE_DNSSD_DEFAULT "Enable DNSSD Default" OFF) + +option(ENABLE_DNSSD_AVAHI "Enable DNSSD Avahi" OFF) +option(ENABLE_DNSSD_BONJOUR "Enable DNSSD Bonjour" OFF) + option(ENABLE_PROMETHEUS "Enable Prometheus" ON) option(ENABLE_PDF "Enable PDF" OFF) option(ENABLE_UTIL "Enable Util" ON) @@ -195,12 +185,14 @@ option(ENABLE_PAGECOMPILER_FILE2PAGE "Enable File2Page" ON) option(ENABLE_ACTIVERECORD "Enable ActiveRecord" ON) option(ENABLE_ACTIVERECORD_COMPILER "Enable ActiveRecord Compiler" ON) +option(ENABLE_TRACE "Enable stack tracing" OFF) + if(ENABLE_ACTIVERECORD AND NOT ENABLE_DATA) - set(ENABLE_DATA ON CACHE BOOL "Enable Data" FORCE) + set(ENABLE_DATA ON CACHE BOOL "Enable Data" FORCE) endif() if(ENABLE_ACTIVERECORD AND NOT ENABLE_XML) - set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) + set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) endif() option(ENABLE_TESTS @@ -215,6 +207,9 @@ option(ENABLE_COMPILER_WARNINGS option(ENABLE_SAMPLES "Set to OFF|ON (default is OFF) to control build of POCO samples" OFF) +option(ENABLE_FUZZING + "Set to OFF|ON (default is OFF) to control build of fuzzing targets for oss-fuzz (Clang compiler is required)" OFF) + option(POCO_UNBUNDLED "Set to OFF|ON (default is OFF) to control linking dependencies as external" OFF) @@ -229,25 +224,38 @@ else() message(STATUS "Building without tests & samples") endif() +if(ENABLE_FUZZING) + if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + message(FATAL_ERROR "ENABLE_FUZZING flag requires using Clang compiler") + else() + message(STATUS "Building fuzzing test targets with engine $ENV{LIB_FUZZING_ENGINE}") + endif() +endif() + if(POCO_UNBUNDLED) - message(STATUS "Using external sqlite, zlib, pcre2, expat, ...") + message(STATUS "Using external sqlite, zlib, pcre2, expat, libpng, ...") else() - message(STATUS "Using internal sqlite, zlib, pcre2, expat, ...") + message(STATUS "Using internal sqlite, zlib, pcre2, expat, libpng, ...") endif() # Disable fork exec option(POCO_NO_FORK_EXEC "Set to OFF|ON (default is OFF) to disable use of fork() and exec*() which are not allowed on some Apple platforms (iOS, watchOS, iPadOS, tvOS)." OFF) if(POCO_NO_FORK_EXEC) - add_definitions(-DPOCO_NO_FORK_EXEC=1) + add_definitions(-DPOCO_NO_FORK_EXEC=1) endif() option(POCO_ENABLE_STD_MUTEX "Set to OFF|NO using mutex from standard library (default OFF)" OFF) if (POCO_ENABLE_STD_MUTEX) - add_definitions(-DPOCO_ENABLE_STD_MUTEX) + add_compile_definitions(POCO_ENABLE_STD_MUTEX) endif () -include(DefinePlatformSpecifc) + +if(ENABLE_TRACE) + add_compile_definitions(POCO_ENABLE_TRACE) +endif() + +include(DefinePlatformSpecific) # Collect the built libraries and include dirs, the will be used to create the PocoConfig.cmake file set(Poco_COMPONENTS "") @@ -321,6 +329,8 @@ if(ENABLE_POCODOC) set(ENABLE_UTIL ON CACHE BOOL "Enable Util" FORCE) set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) set(ENABLE_CPPPARSER ON CACHE BOOL "Enable C++ parser" FORCE) + set(ENABLE_DATA ON CACHE BOOL "Enable Data" FORCE) + set(ENABLE_DATA_SQLITE ON CACHE BOOL "Enable Data SQLite" FORCE) endif() if(ENABLE_UTIL AND ENABLE_TESTS) @@ -372,6 +382,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Redis AND ENABLE_REDIS) list(APPEND Poco_COMPONENTS "Redis") endif() +if(ENABLE_DNSSD) + add_subdirectory(DNSSD) + list(APPEND Poco_COMPONENTS "DNSSD") +endif() + if(EXISTS ${PROJECT_SOURCE_DIR}/Prometheus AND ENABLE_PROMETHEUS) add_subdirectory(Prometheus) list(APPEND Poco_COMPONENTS "Prometheus") @@ -410,7 +425,7 @@ option(POCO_DATA_NO_SQL_PARSER "Disable SQL parser" OFF) if(EXISTS ${PROJECT_SOURCE_DIR}/Data AND ENABLE_DATA) if(POCO_DATA_NO_SQL_PARSER) - add_definitions(-DPOCO_DATA_NO_SQL_PARSER=1) + add_compile_definitions(POCO_DATA_NO_SQL_PARSER=1) endif() add_subdirectory(Data) list(APPEND Poco_COMPONENTS "Data") @@ -479,6 +494,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Encodings/Compiler AND ENABLE_ENCODINGS_COMPILER list(APPEND Poco_COMPONENTS "EncodingsCompiler") endif() +if(ENABLE_TRACE) + add_subdirectory(Trace) + list(APPEND Poco_COMPONENTS "Trace") +endif() + ############################################################# # Uninstall stuff see: http://www.vtk.org/Wiki/CMake_FAQ @@ -539,10 +559,6 @@ install( if(POCO_UNBUNDLED) install(FILES cmake/FindPCRE2.cmake DESTINATION "${PocoConfigPackageLocation}") - install(FILES cmake/V39/FindEXPAT.cmake - DESTINATION "${PocoConfigPackageLocation}/V39") - install(FILES cmake/V313/FindSQLite3.cmake - DESTINATION "${PocoConfigPackageLocation}/V313") endif() message(STATUS "CMake ${CMAKE_VERSION} successfully configured ${PROJECT_NAME} using ${CMAKE_GENERATOR} generator") @@ -561,8 +577,8 @@ message(STATUS "[cmake] Build for OS version: ${CMAKE_SYSTEM_VERSION}") message(STATUS "[cmake] Build for CPU type: ${CMAKE_SYSTEM_PROCESSOR}") message(STATUS "[cmake] Build type: ${CMAKE_BUILD_TYPE}") string(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE) -message(STATUS "[cmake] Build with cxx flags: ${CMAKE_CXX_FLAGS_${BUILD_TYPE}} ${CMAKE_CXX_FLAGS}") -message(STATUS "[cmake] Build with c flags: ${CMAKE_C_FLAGS_${BUILD_TYPE}} ${CMAKE_C_FLAGS}") +message(STATUS "[cmake] Build with C++ flags: ${CMAKE_CXX_FLAGS_${BUILD_TYPE}} ${CMAKE_CXX_FLAGS}") +message(STATUS "[cmake] Build with C flags: ${CMAKE_C_FLAGS_${BUILD_TYPE}} ${CMAKE_C_FLAGS}") message(STATUS "[cmake] C++ symbol visibility: ${CMAKE_CXX_VISIBILITY_PRESET}") foreach(component ${Poco_COMPONENTS}) diff --git a/Externals/poco/CONTRIBUTING.md b/Externals/poco/CONTRIBUTING.md index b3451171170..dd176b466b3 100644 --- a/Externals/poco/CONTRIBUTING.md +++ b/Externals/poco/CONTRIBUTING.md @@ -33,7 +33,7 @@ Before writing any code, please read the 6. Send [pull request](https://help.github.com/articles/using-pull-requests/) with a descriptive and clear commit message -Important: Please don't send pull requests against the `master` branch. Pull requests should either target a specific release branch (if in ongoing development), or the `devel` branch. +Important: Pull requests should either target a specific release branch (if in ongoing development), or the `main` branch. At this point, it's our turn; if you've done everything well, we may just thank you and merge your request. Otherwise, we may provide some comments or suggestions to steer the contribution in the right direction. diff --git a/Externals/poco/CONTRIBUTORS b/Externals/poco/CONTRIBUTORS index bc0497c0fc8..cabe9f6b290 100644 --- a/Externals/poco/CONTRIBUTORS +++ b/Externals/poco/CONTRIBUTORS @@ -45,7 +45,6 @@ Scott Davis Kristin Cowalcijk Yuval Kashtan Christopher Baker -Scott Davis Jeff Adams Martin Osborne Björn Schramke @@ -60,9 +59,30 @@ Friedrich Wilckens Pavle Dragišić Nino Belušić Kari Argillander -Alexander B +Alexander Bychuk Andrew Auclair Jochen Sprickerhof Jesse Hoogervorst Aron Budea -zhuzeitou +Tou Zhu +Daniel Grunwald +Dan Rosser +Eric Eichhorn +Jeremy Rifkin +Jouke Witteveen +Marc Schlatter +Marco Rebhan +Mert Övün +Mikhail Khachayants +Nicolau Leal Werneck +Sergei Trofimovich +Seyyed Soroosh Hosseinalipour +Felix Wang +Thomas Beutlich +Étienne Dupuis +lanthora +siren186 +Lara Dzivdzanovic +Milan Tepic +Peter Klotz +nitram96 diff --git a/Externals/poco/DLLVersion.rc b/Externals/poco/DLLVersion.rc index acb609813f4..840ca5853ed 100644 --- a/Externals/poco/DLLVersion.rc +++ b/Externals/poco/DLLVersion.rc @@ -4,8 +4,8 @@ #include "winres.h" -#define POCO_VERSION 1,13,3,0 -#define POCO_VERSION_STR "1.13.3" +#define POCO_VERSION 1,14,0,0 +#define POCO_VERSION_STR "1.14.0" VS_VERSION_INFO VERSIONINFO FILEVERSION POCO_VERSION @@ -28,7 +28,6 @@ BEGIN VALUE "FileDescription", "This file is part of the POCO C++ Libraries." VALUE "FileVersion", POCO_VERSION_STR VALUE "InternalName", "POCO" - VALUE "LegalCopyright", "Copyright (C) 2004-2024, Applied Informatics Software Engineering GmbH and Contributors." VALUE "ProductName", "POCO C++ Libraries - https://pocoproject.org" VALUE "ProductVersion", POCO_VERSION_STR END diff --git a/Externals/poco/Encodings/Compiler/Compiler_vs170.sln b/Externals/poco/Encodings/Compiler/Compiler_vs170.sln index fbcd50087d2..ec86d9448bf 100644 --- a/Externals/poco/Encodings/Compiler/Compiler_vs170.sln +++ b/Externals/poco/Encodings/Compiler/Compiler_vs170.sln @@ -4,6 +4,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Compiler", "Compiler_vs170. EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|ARM64 = debug_shared|ARM64 + release_shared|ARM64 = release_shared|ARM64 + debug_static_mt|ARM64 = debug_static_mt|ARM64 + release_static_mt|ARM64 = release_static_mt|ARM64 + debug_static_md|ARM64 = debug_static_md|ARM64 + release_static_md|ARM64 = release_static_md|ARM64 debug_shared|Win32 = debug_shared|Win32 release_shared|Win32 = release_shared|Win32 debug_static_mt|Win32 = debug_static_mt|Win32 @@ -18,6 +24,24 @@ Global release_static_md|x64 = release_static_md|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|Win32.Build.0 = debug_shared|Win32 {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 diff --git a/Externals/poco/Encodings/Compiler/Compiler_vs170.vcxproj b/Externals/poco/Encodings/Compiler/Compiler_vs170.vcxproj index 6e1c4469419..b5255def977 100644 --- a/Externals/poco/Encodings/Compiler/Compiler_vs170.vcxproj +++ b/Externals/poco/Encodings/Compiler/Compiler_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 Compiler {0AAD946B-C771-4ED2-BFAF-1D0DBE4A6710} Compiler @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.32505.173 + tecd + tecd + tecd + tec + tec + tec tecd tecd tecd @@ -171,6 +250,36 @@ tec tec + + binA64\ + objA64\Compiler\$(Configuration)\ + true + + + binA64\ + objA64\Compiler\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\Compiler\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\Compiler\$(Configuration)\ + false + + + binA64\static_md\ + objA64\Compiler\$(Configuration)\ + true + + + binA64\static_md\ + objA64\Compiler\$(Configuration)\ + false + bin\ obj\Compiler\$(Configuration)\ @@ -231,6 +340,189 @@ obj64\Compiler\$(Configuration)\ false + + + Disabled + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + true + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\tecd.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + true + true + binA64\tecd.pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + true + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\tec.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + true + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\tecd.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + true + true + binA64\static_mt\tecd.pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + true + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\tec.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + true + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\tecd.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + true + true + binA64\static_md\tecd.pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + true + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\tec.exe + ..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled diff --git a/Externals/poco/Encodings/Encodings_vs160.vcxproj b/Externals/poco/Encodings/Encodings_vs160.vcxproj index 1b82a40b34c..e98d7bf84bb 100644 --- a/Externals/poco/Encodings/Encodings_vs160.vcxproj +++ b/Externals/poco/Encodings/Encodings_vs160.vcxproj @@ -241,7 +241,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -277,7 +276,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -311,7 +309,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -340,7 +337,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -366,7 +362,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -395,7 +390,6 @@ Level3 Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -421,7 +415,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -457,7 +450,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -491,7 +483,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -520,7 +511,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -546,7 +536,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -575,7 +564,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/Encodings_vs160.vcxproj.filters b/Externals/poco/Encodings/Encodings_vs160.vcxproj.filters index 54153ec9d77..a4444b99681 100644 --- a/Externals/poco/Encodings/Encodings_vs160.vcxproj.filters +++ b/Externals/poco/Encodings/Encodings_vs160.vcxproj.filters @@ -2,13 +2,13 @@ - {16b27280-27fe-464e-ab9d-8b424b5f3ac8} + {606b3c0a-2eda-4d3b-ba62-040b91199914} - {81582967-7c81-419b-8e71-cdb621123fb5} + {429fbe40-8b2c-4a4f-97ea-33f7639fe0bd} - {ae2c084a-6f2e-4fe8-b47c-40290a7efa8d} + {a01c0183-cdcc-4760-800b-2b5c00eddf3f} diff --git a/Externals/poco/Encodings/Encodings_vs170.vcxproj b/Externals/poco/Encodings/Encodings_vs170.vcxproj index 7b761235e67..8b301212d64 100644 --- a/Externals/poco/Encodings/Encodings_vs170.vcxproj +++ b/Externals/poco/Encodings/Encodings_vs170.vcxproj @@ -345,7 +345,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -381,7 +380,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -415,7 +413,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -444,7 +441,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -470,7 +466,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -499,7 +494,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -525,7 +519,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -561,7 +554,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -595,7 +587,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -624,7 +615,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -650,7 +640,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -679,7 +668,6 @@ Level3 Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -705,7 +693,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -741,7 +728,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -775,7 +761,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -804,7 +789,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -830,7 +814,6 @@ Level3 ProgramDatabase Default - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -859,7 +842,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/Encodings_vs170.vcxproj.filters b/Externals/poco/Encodings/Encodings_vs170.vcxproj.filters index 64116ee0a93..90182d01c0a 100644 --- a/Externals/poco/Encodings/Encodings_vs170.vcxproj.filters +++ b/Externals/poco/Encodings/Encodings_vs170.vcxproj.filters @@ -2,13 +2,13 @@ - {3b223c49-df37-4d33-993d-93018cb52d6d} + {b59a42f2-5dc9-42b4-8857-f8dae13af6ac} - {4e205ead-0511-4400-98b1-dcc7a0ce4831} + {87b5fa87-931e-4b54-8505-89b3c44908c7} - {ff2e9b80-6f03-4e70-9dd5-20c4cd343baf} + {7c416fe9-77d2-4c39-959c-d434817aaab9} diff --git a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj index a929e5c742c..e57855da667 100644 --- a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj +++ b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj @@ -249,7 +249,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -285,7 +284,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -318,7 +316,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -354,7 +351,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -387,7 +383,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -423,7 +418,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -456,7 +450,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -492,7 +485,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -525,7 +517,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -561,7 +552,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -594,7 +584,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -630,7 +619,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj.filters b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj.filters index b0c3e32cd88..1105c7f0a3c 100644 --- a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj.filters +++ b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {4c6126f2-2d98-4ad0-b746-7d03d303907f} + {606c860e-e75e-457c-b395-cee7788a581b} - {d82ed2ad-5174-4d99-8c28-e217914110ff} + {619d4a55-c0c8-4484-87b9-a886ebf58339} diff --git a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj index ff6ef29578e..a997cc3c97c 100644 --- a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj +++ b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj @@ -357,7 +357,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -393,7 +392,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -426,7 +424,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -462,7 +459,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -495,7 +491,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -531,7 +526,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -564,7 +558,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -600,7 +593,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -633,7 +625,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -669,7 +660,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -702,7 +692,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -738,7 +727,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -771,7 +759,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -807,7 +794,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -840,7 +826,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -876,7 +861,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -909,7 +893,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -945,7 +928,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj.filters b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj.filters index 53bc5d4de94..0a3902005b0 100644 --- a/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj.filters +++ b/Externals/poco/Encodings/samples/TextConverter/TextConverter_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {8fda1e51-a1f3-4ac1-9a8a-ff1070b56e88} + {e7fafcbf-0ba3-4de7-803a-eaa3a6e1532a} - {49ce66a7-68f9-4bc2-a997-4b9df3f2718b} + {a1a04b1d-ab9f-42aa-acfa-e27ae39c640f} diff --git a/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj b/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj index ff0c09ce6f9..5eb1f43ffcc 100644 --- a/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj +++ b/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj @@ -249,7 +249,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -285,7 +284,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -318,7 +316,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -354,7 +351,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -387,7 +383,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -423,7 +418,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -456,7 +450,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -492,7 +485,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -525,7 +517,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -561,7 +552,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -594,7 +584,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -630,7 +619,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj.filters b/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj.filters index 898cfbff4dd..2c13c79f26e 100644 --- a/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj.filters +++ b/Externals/poco/Encodings/testsuite/TestSuite_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {dfee0110-d287-48a7-88e0-1265dcc90e7c} + {67a92f8b-baa6-4a58-96c7-9956017f480e} - {4f0e3b21-3aa5-4d12-8485-3bc15516325a} + {e02d4a29-70e0-4d62-b0b9-d7f6626b8fc8} diff --git a/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj b/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj index 31447118fd6..99e3b4fb384 100644 --- a/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj +++ b/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj @@ -357,7 +357,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -393,7 +392,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -426,7 +424,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -462,7 +459,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -495,7 +491,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -531,7 +526,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -564,7 +558,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -600,7 +593,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -633,7 +625,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -669,7 +660,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -702,7 +692,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -738,7 +727,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -771,7 +759,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -807,7 +794,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -840,7 +826,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -876,7 +861,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -909,7 +893,6 @@ ProgramDatabase Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 @@ -945,7 +928,6 @@ Default $(OutDir)$(TargetName).pdb - /Zc:__cplusplus %(AdditionalOptions) true stdcpp17 stdc11 diff --git a/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj.filters b/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj.filters index 4f700cda532..31990827ee7 100644 --- a/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj.filters +++ b/Externals/poco/Encodings/testsuite/TestSuite_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {5c40f4bd-5cac-49cd-873e-0563409b5ae6} + {03cff266-6788-4bfe-81f3-dcef0857a4ae} - {4f53facd-52c2-4b5e-81b3-2f128c03fd08} + {f1dc3151-2e5b-482d-8537-7389ca147b50} diff --git a/Externals/poco/Foundation/CMakeLists.txt b/Externals/poco/Foundation/CMakeLists.txt index 41ba9993673..5898d22f5c2 100644 --- a/Externals/poco/Foundation/CMakeLists.txt +++ b/Externals/poco/Foundation/CMakeLists.txt @@ -29,6 +29,7 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) if(POCO_UNBUNDLED) find_package(PCRE2 REQUIRED) find_package(ZLIB REQUIRED) + find_package(Utf8Proc REQUIRED) #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library POCO_SOURCES(SRCS RegExp @@ -41,6 +42,7 @@ else() POCO_SOURCES(SRCS pcre2 src/pcre2_auto_possess.c src/pcre2_chartables.c + src/pcre2_chkdint.c src/pcre2_compile.c src/pcre2_config.c src/pcre2_context.c @@ -68,12 +70,6 @@ else() src/pcre2_xclass.c ) - # zlib - POCO_HEADERS(SRCS zlib - include/Poco/zconf.h - include/Poco/zlib.h - ) - POCO_SOURCES(SRCS zlib src/adler32.c src/compress.c @@ -86,6 +82,10 @@ else() src/trees.c src/zutil.c ) + + POCO_SOURCES(SRCS utf8proc + src/utf8proc.c + ) endif(POCO_UNBUNDLED) @@ -99,8 +99,10 @@ set_target_properties(Foundation ) if(POCO_UNBUNDLED) - target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) + target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB Utf8Proc::Utf8Proc) target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) +else() + target_compile_definitions(Foundation PUBLIC UTF8PROC_STATIC) endif(POCO_UNBUNDLED) target_include_directories(Foundation @@ -126,13 +128,6 @@ if(NOT DISABLE_CPP14 AND CMAKE_VERSION VERSION_GREATER "3.8") target_compile_features(Foundation PUBLIC cxx_std_14) endif() -if(NOT BUILD_SHARED_LIBS) - target_compile_definitions(Foundation - PUBLIC - POCO_STATIC - ) -endif() - if(WIN32) target_compile_definitions(Foundation PUBLIC POCO_OS_FAMILY_WINDOWS UNICODE _UNICODE) if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") @@ -158,16 +153,22 @@ else() target_compile_definitions(Foundation PUBLIC POCO_HAVE_FD_POLL) target_link_libraries(Foundation PUBLIC pthread ${CMAKE_DL_LIBS} rt) elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "AIX" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) target_compile_definitions(Foundation PUBLIC _XOPEN_SOURCE=500 POCO_HAVE_FD_POLL) - target_link_libraries(Foundation PUBLIC pthread ${CMAKE_DL_LIBS} rt) + target_link_libraries(Foundation PUBLIC ${CMAKE_DL_LIBS} rt Threads::Threads) else() target_compile_definitions(Foundation PUBLIC _XOPEN_SOURCE=500 POCO_HAVE_FD_EPOLL) - target_link_libraries(Foundation PUBLIC pthread ${CMAKE_DL_LIBS} rt) + target_link_libraries(Foundation PUBLIC pthread atomic ${CMAKE_DL_LIBS} rt) endif() endif(APPLE) endif(UNIX AND NOT ANDROID) endif(CYGWIN) +if(ENABLE_TRACE) + target_link_libraries(Foundation PRIVATE Poco::Trace) +endif() + if(CMAKE_SYSTEM MATCHES "SunOS") target_compile_definitions(Foundation PUBLIC @@ -200,6 +201,11 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro") target_compile_options(Foundation PUBLIC -library=stlport4) endif() +# AIX +if("${CMAKE_SYSTEM_NAME}" STREQUAL "AIX") + target_compile_definitions(Foundation PUBLIC POCO_NO_THREADNAME) +endif() + # iOS if(IOS) target_compile_definitions(Foundation @@ -236,3 +242,7 @@ if(ENABLE_TESTS) endif() add_subdirectory(testsuite) endif() + +if(ENABLE_FUZZING) + add_subdirectory(fuzzing) +endif() diff --git a/Externals/poco/Foundation/Foundation.vcxproj b/Externals/poco/Foundation/Foundation.vcxproj index f06cd2ae1e4..708abea062f 100644 --- a/Externals/poco/Foundation/Foundation.vcxproj +++ b/Externals/poco/Foundation/Foundation.vcxproj @@ -166,7 +166,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -197,7 +197,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -228,7 +228,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -259,7 +259,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -294,7 +294,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) false false false @@ -329,7 +329,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) false false false @@ -364,7 +364,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) false false false @@ -399,7 +399,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;Foundation_EXPORTS;POCO_STATIC;PCRE_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) false false false @@ -475,6 +475,7 @@ + @@ -521,6 +522,7 @@ true + true @@ -962,4 +964,4 @@ - + \ No newline at end of file diff --git a/Externals/poco/Foundation/Foundation.vcxproj.filters b/Externals/poco/Foundation/Foundation.vcxproj.filters index a3968d34b64..c52bcbb5f01 100644 --- a/Externals/poco/Foundation/Foundation.vcxproj.filters +++ b/Externals/poco/Foundation/Foundation.vcxproj.filters @@ -529,6 +529,10 @@ RegularExpression\PCRE Source Files + + + RegularExpression\PCRE Source Files + diff --git a/Externals/poco/Foundation/Foundation_vs160.vcxproj b/Externals/poco/Foundation/Foundation_vs160.vcxproj index 1e6b3303549..3781a667781 100644 --- a/Externals/poco/Foundation/Foundation_vs160.vcxproj +++ b/Externals/poco/Foundation/Foundation_vs160.vcxproj @@ -228,7 +228,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -243,7 +243,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) iphlpapi.lib;%(AdditionalDependencies) @@ -261,7 +260,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -297,7 +296,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -310,7 +309,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) iphlpapi.lib;%(AdditionalDependencies) @@ -333,7 +331,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -366,7 +364,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -382,7 +380,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) ..\lib\PocoFoundationmtd.lib @@ -393,7 +390,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -423,7 +420,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreaded false @@ -436,7 +433,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) ..\lib\PocoFoundationmt.lib @@ -451,7 +447,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreaded false @@ -476,7 +472,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -492,7 +488,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) ..\lib\PocoFoundationmdd.lib @@ -503,7 +498,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -533,7 +528,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -547,7 +542,6 @@ Default true stdcpp17 - /Zc:__cplusplus %(AdditionalOptions) @@ -564,7 +558,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -596,6 +590,7 @@ + @@ -878,6 +873,7 @@ + @@ -981,6 +977,35 @@ true true + + + true + true + true + true + true + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + true + true + true + true + true @@ -1051,6 +1076,7 @@ + @@ -1485,6 +1511,21 @@ + + + true + true + true + true + true + true + true + true + true + true + true + true + @@ -1515,12 +1556,15 @@ + + + @@ -1598,6 +1642,9 @@ + + + @@ -1624,6 +1671,7 @@ + @@ -1811,6 +1859,7 @@ + @@ -1874,4 +1923,4 @@ - \ No newline at end of file + diff --git a/Externals/poco/Foundation/Foundation_vs160.vcxproj.filters b/Externals/poco/Foundation/Foundation_vs160.vcxproj.filters index b8393a2fe2f..89f52a4a009 100644 --- a/Externals/poco/Foundation/Foundation_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/Foundation_vs160.vcxproj.filters @@ -187,6 +187,12 @@ {f19826b3-7a4b-4d64-aaa3-eb1e084a71b2} + + {a0832c5f-920b-4c5c-ae84-fe3d533f192d} + + + {36ebb653-2b87-45e5-b47f-047a406c698a} + @@ -573,6 +579,9 @@ Notifications\Source Files + + Notifications\Source Files + Notifications\Source Files @@ -837,6 +846,9 @@ RegularExpression\PCRE2 Source Files + + RegularExpression\PCRE2 Source Files + RegularExpression\PCRE2 Source Files @@ -921,8 +933,19 @@ RegularExpression\PCRE2 Source Files - + + Threading\Source Files + + + Text\Utf8Proc Source Files + + + Text\Utf8Proc Source Files + + + Logging\Source Files + @@ -1450,6 +1473,12 @@ Notifications\Header Files + + Notifications\Header Files + + + Notifications\Header Files + Notifications\Header Files @@ -1867,6 +1896,15 @@ RegularExpression\PCRE2 Header Files + + Threading\Header Files + + + Text\Utf8Proc Header Files + + + Logging\Header Files + diff --git a/Externals/poco/Foundation/Foundation_vs170.vcxproj b/Externals/poco/Foundation/Foundation_vs170.vcxproj index 13d18003eef..041e45a1e94 100644 --- a/Externals/poco/Foundation/Foundation_vs170.vcxproj +++ b/Externals/poco/Foundation/Foundation_vs170.vcxproj @@ -325,8 +325,8 @@ Disabled - .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + .\include;..\Trace\include;..\Trace\include\Poco\Trace;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -359,8 +359,8 @@ Disabled - .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + .\include;..\Trace\include;..\Trace\include\Poco\Trace;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -392,8 +392,8 @@ Disabled - .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + .\include;..\Trace\include;..\Trace\include\Poco\Trace;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -431,7 +431,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -468,7 +468,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -506,7 +506,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Foundation_EXPORTS;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -541,7 +541,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -569,7 +569,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -596,7 +596,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug @@ -627,7 +627,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreaded false @@ -656,7 +656,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreaded false @@ -686,7 +686,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreaded false @@ -712,7 +712,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true false EnableFastChecks @@ -740,7 +740,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -767,7 +767,7 @@ Disabled .\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -798,7 +798,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -830,7 +830,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -863,7 +863,7 @@ Speed true .\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;UTF8PROC_STATIC;%(PreprocessorDefinitions) true MultiThreadedDLL false @@ -896,6 +896,7 @@ + @@ -1274,6 +1275,7 @@ + @@ -1413,6 +1415,47 @@ true true + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true @@ -1507,6 +1550,7 @@ + @@ -2091,6 +2135,27 @@ + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + @@ -2121,12 +2186,15 @@ + + + @@ -2204,6 +2272,9 @@ + + + @@ -2230,6 +2301,7 @@ + @@ -2417,6 +2489,7 @@ + @@ -2504,4 +2577,4 @@ - \ No newline at end of file + diff --git a/Externals/poco/Foundation/Foundation_vs170.vcxproj.filters b/Externals/poco/Foundation/Foundation_vs170.vcxproj.filters index f06337f924c..75bc6a9fcf0 100644 --- a/Externals/poco/Foundation/Foundation_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/Foundation_vs170.vcxproj.filters @@ -187,6 +187,12 @@ {f19826b3-7a4b-4d64-aaa3-eb1e084a71b2} + + {8f30689e-ed76-4b8b-a9c1-5d3e41522741} + + + {090b933c-3b18-41dc-8485-8e83f96ee2ad} + @@ -579,6 +585,9 @@ Notifications\Source Files + + Notifications\Source Files + Notifications\Source Files @@ -837,6 +846,9 @@ RegularExpression\PCRE2 Source Files + + RegularExpression\PCRE2 Source Files + RegularExpression\PCRE2 Source Files @@ -921,8 +933,19 @@ RegularExpression\PCRE2 Source Files - + + Threading\Source Files + + + Text\Utf8Proc Source Files + + + Text\Utf8Proc Source Files + + + Logging\Source Files + @@ -1447,6 +1470,12 @@ Notifications\Header Files + + Notifications\Header Files + + + Notifications\Header Files + Notifications\Header Files @@ -1867,6 +1896,15 @@ RegularExpression\PCRE2 Header Files + + Threading\Header Files + + + Text\Utf8Proc Header Files + + + Logging\Header Files + diff --git a/Externals/poco/Foundation/Makefile b/Externals/poco/Foundation/Makefile index 96e0100e527..3e07a06d36a 100644 --- a/Externals/poco/Foundation/Makefile +++ b/Externals/poco/Foundation/Makefile @@ -6,7 +6,11 @@ include $(POCO_BASE)/build/rules/global -objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel ActiveThreadPool\ +ifdef POCO_ENABLE_TRACE +INCLUDE += -I $(POCO_BASE)/Trace/include/Poco/Trace +endif + +objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel AsyncNotificationCenter ActiveThreadPool\ Base32Decoder Base32Encoder Base64Decoder Base64Encoder \ BinaryReader BinaryWriter Bugcheck ByteOrder Channel Checksum Clock Configurable ConsoleChannel \ Condition CountingStream DateTime LocalDateTime DateTimeFormat DateTimeFormatter DateTimeParser \ @@ -19,7 +23,7 @@ objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel ActiveThreadPool\ NestedDiagnosticContext Notification NotificationCenter \ NotificationQueue PriorityNotificationQueue TimedNotificationQueue \ NullStream NumberFormatter NumberParser NumericString AbstractObserver \ - Path PatternFormatter PIDFile Process ProcessRunner PurgeStrategy RWLock Random RandomStream \ + Path PatternFormatter JSONFormatter PIDFile Process ProcessRunner PurgeStrategy RWLock Random RandomStream \ DirectoryIteratorStrategy RegularExpression RefCountedObject Runnable RotateStrategy \ SHA1Engine SHA2Engine Semaphore SharedLibrary SimpleFileChannel \ SignalHandler SplitterChannel SortedDirectoryIterator Stopwatch StreamChannel \ @@ -30,12 +34,12 @@ objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel ActiveThreadPool\ FileStreamFactory URIStreamFactory URIStreamOpener UTF32Encoding UTF16Encoding UTF8Encoding UTF8String \ Unicode UnicodeConverter Windows1250Encoding Windows1251Encoding Windows1252Encoding \ UUID UUIDGenerator Void Var VarHolder VarIterator VarVisitor Format Pipe PipeImpl PipeStream SharedMemory \ - MemoryStream FileStream AtomicCounter DataURIStream DataURIStreamFactory + MemoryStream FileStream AtomicCounter DataURIStream DataURIStreamFactory FileStreamRWLock zlib_objects = adler32 compress crc32 deflate \ infback inffast inflate inftrees trees zutil -pcre_objects = pcre2_auto_possess pcre2_chartables pcre2_compile pcre2_config \ +pcre_objects = pcre2_auto_possess pcre2_chartables pcre2_chkdint pcre2_compile pcre2_config \ pcre2_context pcre2_convert pcre2_dfa_match pcre2_error pcre2_extuni \ pcre2_find_bracket pcre2_jit_compile pcre2_maketables pcre2_match \ pcre2_match_data pcre2_newline pcre2_ord2utf pcre2_pattern_info \ @@ -44,11 +48,14 @@ pcre_objects = pcre2_auto_possess pcre2_chartables pcre2_compile pcre2_config \ pcre_utf8_objects = pcre2_ucd pcre2_tables +utf8proc_objects = utf8proc + ifdef POCO_UNBUNDLED - SYSLIBS += -lpcre2-8 -lz + SYSLIBS += -lpcre2-8 -lutf8proc -lz objects += $(pcre_utf8_objects) else - objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects) + COMMONFLAGS += -DUTF8PROC_STATIC + objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects) $(utf8proc_objects) endif ifeq ($(findstring MinGW, $(POCO_CONFIG)), MinGW) @@ -60,6 +67,9 @@ endif target = PocoFoundation target_version = $(LIBVERSION) target_libs = +ifdef POCO_ENABLE_TRACE +target_libs += PocoTrace +endif ifeq ($(findstring MinGW, $(POCO_CONFIG)), MinGW) $(shell cd src; $(WINDMC) pocomsg.mc) diff --git a/Externals/poco/Foundation/fuzzing/CMakeLists.txt b/Externals/poco/Foundation/fuzzing/CMakeLists.txt new file mode 100644 index 00000000000..85bcf3a4876 --- /dev/null +++ b/Externals/poco/Foundation/fuzzing/CMakeLists.txt @@ -0,0 +1,7 @@ +add_executable(Foundation-datetime-fuzzer DateTimeParse.cpp) +target_link_libraries(Foundation-datetime-fuzzer PUBLIC Poco::Foundation) +set_target_properties(Foundation-datetime-fuzzer PROPERTIES LINK_FLAGS $ENV{LIB_FUZZING_ENGINE}) + +add_executable(Foundation-misc-fuzzer MiscFuzzing.cpp) +target_link_libraries(Foundation-misc-fuzzer PUBLIC Poco::Foundation) +set_target_properties(Foundation-misc-fuzzer PROPERTIES LINK_FLAGS $ENV{LIB_FUZZING_ENGINE}) diff --git a/Externals/poco/Foundation/fuzzing/DateTimeParse.cpp b/Externals/poco/Foundation/fuzzing/DateTimeParse.cpp new file mode 100644 index 00000000000..44b35b1a3bc --- /dev/null +++ b/Externals/poco/Foundation/fuzzing/DateTimeParse.cpp @@ -0,0 +1,46 @@ +#include "Poco/DateTimeParser.h" +#include "Poco/DateTimeFormat.h" +#include "Poco/DateTimeFormatter.h" + +using namespace Poco; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + const std::string input(reinterpret_cast(data), size); + + const std::string formats[] = { + DateTimeFormat::ISO8601_FORMAT, + DateTimeFormat::ISO8601_FRAC_FORMAT, + DateTimeFormat::RFC822_FORMAT, + DateTimeFormat::RFC1123_FORMAT, + DateTimeFormat::HTTP_FORMAT, + DateTimeFormat::RFC850_FORMAT, + DateTimeFormat::RFC1036_FORMAT, + DateTimeFormat::ASCTIME_FORMAT, + DateTimeFormat::SORTABLE_FORMAT, + "%m/%d/%y %h:%M %a", + "T%H:%M:%F", + }; + + int tzd = 0; + DateTime dt; + + for (const auto& format : formats) + { + DateTimeParser::tryParse(format, input, dt, tzd); + DateTimeFormatter::format(dt.timestamp(), format, tzd); + } + + dt.makeLocal(tzd); + dt.makeUTC(tzd); + + try + { + dt = DateTimeParser::parse(input, tzd); + } + catch (const std::exception&) + { + } + + return 0; +} diff --git a/Externals/poco/Foundation/fuzzing/MiscFuzzing.cpp b/Externals/poco/Foundation/fuzzing/MiscFuzzing.cpp new file mode 100644 index 00000000000..45712093e7a --- /dev/null +++ b/Externals/poco/Foundation/fuzzing/MiscFuzzing.cpp @@ -0,0 +1,95 @@ +#include "Poco/URI.h" +#include "Poco/Path.h" +#include "Poco/UUID.h" +#include "Poco/UTF8String.h" +#include + +using namespace Poco; + +static void fuzzURI(FuzzedDataProvider& dataProvider) +{ + try + { + URI uri1(dataProvider.ConsumeRandomLengthString()); + URI uri2(uri1, dataProvider.ConsumeRandomLengthString()); + + URI uri3(uri2); + uri3.normalize(); + uri3.setQueryParameters(uri1.getQueryParameters()); + uri2 = uri3.toString(); + } + catch (const std::exception&) + { + } +} + +static void fuzzPath(FuzzedDataProvider& dataProvider) +{ + try + { + Path path1; + path1.tryParse(dataProvider.ConsumeRandomLengthString()); + + Path path2(path1, Path(dataProvider.ConsumeRandomLengthString())); + Path path3 = path1.absolute(); + Path path4 = Path::expand(dataProvider.ConsumeRandomLengthString()); + + const auto style1 = dataProvider.ConsumeIntegralInRange(Path::PATH_UNIX, Path::PATH_GUESS); + const auto style2 = dataProvider.ConsumeIntegralInRange(Path::PATH_UNIX, Path::PATH_GUESS); + path3.assign(path4.toString(static_cast(style1)), static_cast(style2)); + } + catch (const std::exception&) + { + } +} + +static void fuzzUUID(FuzzedDataProvider& dataProvider) +{ + try + { + UUID uuid1(dataProvider.ConsumeRandomLengthString()); + UUID uuid2(uuid1.toString()); + uuid2.tryParse(dataProvider.ConsumeRandomLengthString()); + } + catch (const std::exception&) + { + } +} + +static void fuzzUTF8String(FuzzedDataProvider& dataProvider) +{ + try + { + auto str1 = UTF8::unescape(dataProvider.ConsumeRandomLengthString()); + auto str2 = UTF8::escape(str1); + + UTF8::toUpperInPlace(str1); + UTF8::toLowerInPlace(str2); + } + catch (const std::exception&) + { + } +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + FuzzedDataProvider dataProvider(data, size); + + switch (dataProvider.ConsumeIntegral()) + { + case 0: + fuzzURI(dataProvider); + break; + case 1: + fuzzPath(dataProvider); + break; + case 2: + fuzzUUID(dataProvider); + break; + case 3: + fuzzUTF8String(dataProvider); + break; + } + + return 0; +} diff --git a/Externals/poco/Foundation/include/Poco/AbstractCache.h b/Externals/poco/Foundation/include/Poco/AbstractCache.h index 91bd9b1742a..735ed9469c1 100644 --- a/Externals/poco/Foundation/include/Poco/AbstractCache.h +++ b/Externals/poco/Foundation/include/Poco/AbstractCache.h @@ -21,8 +21,7 @@ #include "Poco/KeyValueArgs.h" #include "Poco/ValidArgs.h" #include "Poco/Mutex.h" -#include "Poco/Exception.h" -#include "Poco/FIFOEvent.h" +#include "Poco/BasicEvent.h" #include "Poco/EventArgs.h" #include "Poco/Delegate.h" #include "Poco/SharedPtr.h" @@ -39,16 +38,16 @@ class AbstractCache /// An AbstractCache is the interface of all caches. { public: - FIFOEvent, TEventMutex> Add; - FIFOEvent, TEventMutex> Update; - FIFOEvent Remove; - FIFOEvent Get; - FIFOEvent Clear; + BasicEvent, TEventMutex> Add; + BasicEvent, TEventMutex> Update; + BasicEvent Remove; + BasicEvent Get; + BasicEvent Clear; - typedef std::map> DataHolder; - typedef typename DataHolder::iterator Iterator; - typedef typename DataHolder::const_iterator ConstIterator; - typedef std::set KeySet; + using DataHolder = std::map>; + using Iterator = typename DataHolder::iterator; + using ConstIterator = typename DataHolder::const_iterator; + using KeySet = std::set; AbstractCache() { @@ -72,6 +71,9 @@ class AbstractCache } } + AbstractCache(const AbstractCache& aCache) = delete; + AbstractCache& operator = (const AbstractCache& aCache) = delete; + void add(const TKey& key, const TValue& val) /// Adds the key value pair to the cache. /// If for the key already an entry exists, it will be overwritten. @@ -194,8 +196,8 @@ class AbstractCache } protected: - mutable FIFOEvent> IsValid; - mutable FIFOEvent Replace; + mutable BasicEvent> IsValid; + mutable BasicEvent Replace; void initialize() /// Sets up event registration. @@ -371,9 +373,6 @@ class AbstractCache mutable DataHolder _data; mutable TMutex _mutex; -private: - AbstractCache(const AbstractCache& aCache); - AbstractCache& operator = (const AbstractCache& aCache); }; diff --git a/Externals/poco/Foundation/include/Poco/AbstractObserver.h b/Externals/poco/Foundation/include/Poco/AbstractObserver.h index 7606878bec2..0a59a8fc598 100644 --- a/Externals/poco/Foundation/include/Poco/AbstractObserver.h +++ b/Externals/poco/Foundation/include/Poco/AbstractObserver.h @@ -37,12 +37,42 @@ class Foundation_API AbstractObserver AbstractObserver& operator = (const AbstractObserver& observer); virtual void notify(Notification* pNf) const = 0; + virtual bool equals(const AbstractObserver& observer) const = 0; - virtual bool accepts(Notification* pNf, const char* pName = 0) const = 0; + + POCO_DEPRECATED("use `Poco::Any accepts(Notification*)` instead") + virtual bool accepts(Notification* pNf, const char* pName) const = 0; + + virtual bool accepts(const Notification::Ptr& pNf) const = 0; + virtual AbstractObserver* clone() const = 0; + + virtual void start(); + /// No-op. + /// This method can be implemented by inheriting classes which require + /// explicit start in order to begin processing notifications. + virtual void disable() = 0; + + virtual int backlog() const; + /// Returns number of queued messages that this Observer has. + /// For non-active (synchronous) observers, always returns zero. }; +// +// inlines +// + +inline void AbstractObserver::start() +{ +} + + +inline int AbstractObserver::backlog() const +{ + return 0; +} + } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/ActiveThreadPool.h b/Externals/poco/Foundation/include/Poco/ActiveThreadPool.h index 5c04a8ff022..8b72d98f5c9 100644 --- a/Externals/poco/Foundation/include/Poco/ActiveThreadPool.h +++ b/Externals/poco/Foundation/include/Poco/ActiveThreadPool.h @@ -20,38 +20,35 @@ #include "Poco/Foundation.h" #include "Poco/Thread.h" -#include "Poco/Mutex.h" #include "Poco/Environment.h" -#include +#include namespace Poco { class Runnable; -class ActiveThread; +class ActiveThreadPoolPrivate; class Foundation_API ActiveThreadPool - /// A thread pool always keeps a number of threads running, ready - /// to accept work. - /// Threads in an active thread pool are re-used - /// Every thread in the pool has own notification-queue with Runnable - /// Every Runnable executes on next thread (round-robin model) - /// The thread pool always keeps fixed number of threads running. + /// A thread pool manages and recycles individual Poco::Thread objects + /// to help reduce thread creation costs in programs that use threads. + /// + /// The thread pool supports a task queue. + /// When there are no idle threads, tasks are placed in the task queue to wait for execution. /// Use case for this pool is running many (more than os-max-thread-count) short live tasks - /// Round-robin model allow efficiently utilize cpu cores { public: ActiveThreadPool(int capacity = static_cast(Environment::processorCount()) + 1, int stackSize = POCO_THREAD_STACK_SIZE); - /// Creates a thread pool with fixed capacity threads. + /// Creates a thread pool with a maximum thread count of capacity. /// Threads are created with given stack size. - ActiveThreadPool(std::string name, + ActiveThreadPool(const std::string& name, int capacity = static_cast(Environment::processorCount()) + 1, int stackSize = POCO_THREAD_STACK_SIZE); - /// Creates a thread pool with the given name and fixed capacity threads. + /// Creates a thread pool with the given name and a maximum thread count of capacity. /// Threads are created with given stack size. ~ActiveThreadPool(); @@ -64,39 +61,19 @@ class Foundation_API ActiveThreadPool int getStackSize() const; /// Returns the stack size used to create new threads. - void start(Runnable& target); - /// Obtains a thread and starts the target. + int expiryTimeout() const; + /// Returns the thread expiry timeout value in milliseconds. + /// The default expiryTimeout is 30000 milliseconds (30 seconds). + + void setExpiryTimeout(int expiryTimeout); + /// Set the thread expiry timeout value in milliseconds. + /// The default expiryTimeout is 30000 milliseconds (30 seconds). - void start(Runnable& target, const std::string& name); + void start(Runnable& target, int priority = 0); /// Obtains a thread and starts the target. - /// Assigns the given name to the thread. - - void startWithPriority(Thread::Priority priority, Runnable& target); - /// Obtains a thread, adjusts the thread's priority, and starts the target. - - void startWithPriority(Thread::Priority priority, Runnable& target, const std::string& name); - /// Obtains a thread, adjusts the thread's priority, and starts the target. - /// Assigns the given name to the thread. - - void stopAll(); - /// Stops all running threads and waits for their completion. - /// - /// Will also delete all thread objects. - /// If used, this method should be the last action before - /// the thread pool is deleted. - /// - /// Note: If a thread fails to stop within 10 seconds - /// (due to a programming error, for example), the - /// underlying thread object will not be deleted and - /// this method will return anyway. This allows for a - /// more or less graceful shutdown in case of a misbehaving - /// thread. void joinAll(); - /// Waits for all threads to complete. - /// - /// Note that this will join() underlying - /// threads and restart them for next tasks. + /// Waits for all threads to exit and removes all threads from the thread pool. const std::string& name() const; /// Returns the name of the thread pool, @@ -107,38 +84,14 @@ class Foundation_API ActiveThreadPool /// Returns a reference to the default /// thread pool. -protected: - ActiveThread* getThread(); - ActiveThread* createThread(); - private: ActiveThreadPool(const ActiveThreadPool& pool); ActiveThreadPool& operator = (const ActiveThreadPool& pool); - typedef std::vector ThreadVec; - - std::string _name; - int _capacity; - int _serial; - int _stackSize; - ThreadVec _threads; - mutable FastMutex _mutex; - std::atomic _lastThreadIndex{0}; +private: + std::unique_ptr _impl; }; - -inline int ActiveThreadPool::getStackSize() const -{ - return _stackSize; -} - - -inline const std::string& ActiveThreadPool::name() const -{ - return _name; -} - - } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/Activity.h b/Externals/poco/Foundation/include/Poco/Activity.h index 9f50816250f..9da1d8a8d4e 100644 --- a/Externals/poco/Foundation/include/Poco/Activity.h +++ b/Externals/poco/Foundation/include/Poco/Activity.h @@ -180,9 +180,11 @@ class Activity: public Runnable } catch (...) { + _running = false; _done.set(); throw; } + _running = false; _done.set(); } diff --git a/Externals/poco/Foundation/include/Poco/Any.h b/Externals/poco/Foundation/include/Poco/Any.h index 42b8da0a98c..e05d81f13e5 100644 --- a/Externals/poco/Foundation/include/Poco/Any.h +++ b/Externals/poco/Foundation/include/Poco/Any.h @@ -24,13 +24,12 @@ #include -#define poco_any_assert(cond) do { if (!(cond)) std::abort(); } while (0) - - namespace Poco { class Any; +using namespace std::string_literals; + namespace Dynamic { class Var; @@ -81,7 +80,7 @@ union Placeholder Placeholder(): pHolder(0) { - std::memset(holder, 0, sizeof(Placeholder)); + std::memset(holder, 0, sizeof(holder)); } ~Placeholder() @@ -102,8 +101,8 @@ union Placeholder bool isEmpty() const { - static char buf[SizeV+1] = {}; - return 0 == std::memcmp(holder, buf, SizeV+1); + static char buf[sizeof(holder)] = {}; + return 0 == std::memcmp(holder, buf, sizeof(holder)); } bool isLocal() const @@ -157,7 +156,7 @@ union Placeholder else reinterpret_cast(holder)->~PlaceholderT(); - if (clear) std::memset(holder, 0, sizeof(Placeholder)); + if (clear) std::memset(holder, 0, sizeof(holder)); } } @@ -389,6 +388,9 @@ class Any template friend ValueType* AnyCast(Any*); + template + friend const ValueType* AnyCast(const Any*); + template friend ValueType* UnsafeAnyCast(Any*); @@ -409,12 +411,12 @@ ValueType* AnyCast(Any* operand) /// to the stored value. /// /// Example Usage: - /// MyType* pTmp = AnyCast(pAny). - /// Will return NULL if the cast fails, i.e. types don't match. + /// MyType* pTmp = AnyCast(pAny). + /// Returns nullptr if the types don't match. { return operand && operand->type() == typeid(ValueType) ? &static_cast*>(operand->content())->_held - : 0; + : nullptr; } @@ -424,10 +426,12 @@ const ValueType* AnyCast(const Any* operand) /// to the stored value. /// /// Example Usage: - /// const MyType* pTmp = AnyCast(pAny). - /// Will return NULL if the cast fails, i.e. types don't match. + /// const MyType* pTmp = AnyCast(pAny). + /// Returns nullptr if the types don't match. { - return AnyCast(const_cast(operand)); + return operand && operand->type() == typeid(ValueType) + ? &static_cast*>(operand->content())->_held + : nullptr; } @@ -442,18 +446,19 @@ ValueType AnyCast(Any& operand) /// Some compilers will accept this code although a copy is returned. Use the RefAnyCast in /// these cases. { - typedef typename TypeWrapper::TYPE NonRef; + using NonRef = typename TypeWrapper::TYPE; NonRef* result = AnyCast(&operand); if (!result) { - std::string s = "RefAnyCast: Failed to convert between Any types "; + std::string s(__func__); + s.append(": Failed to convert between Any types "s); if (operand.content()) { s.append(1, '('); - s.append(operand.content()->type().name()); + s.append(Poco::demangle(operand.content()->type().name())); s.append(" => "); - s.append(typeid(ValueType).name()); + s.append(Poco::demangle()); s.append(1, ')'); } throw BadCastException(s); @@ -473,7 +478,7 @@ ValueType AnyCast(const Any& operand) /// Some compilers will accept this code although a copy is returned. Use the RefAnyCast in /// these cases. { - typedef typename TypeWrapper::TYPE NonRef; + using NonRef = typename TypeWrapper::TYPE; return AnyCast(const_cast(operand)); } @@ -489,13 +494,14 @@ const ValueType& RefAnyCast(const Any & operand) ValueType* result = AnyCast(const_cast(&operand)); if (!result) { - std::string s = "RefAnyCast: Failed to convert between Any types "; + std::string s(__func__); + s.append(": Failed to convert between Any types "s); if (operand.content()) { s.append(1, '('); - s.append(operand.content()->type().name()); + s.append(Poco::demangle(operand.content()->type().name())); s.append(" => "); - s.append(typeid(ValueType).name()); + s.append(Poco::demangle()); s.append(1, ')'); } throw BadCastException(s); @@ -514,13 +520,14 @@ ValueType& RefAnyCast(Any& operand) ValueType* result = AnyCast(&operand); if (!result) { - std::string s = "RefAnyCast: Failed to convert between Any types "; + std::string s(__func__); + s.append(": Failed to convert between Any types "s); if (operand.content()) { s.append(1, '('); - s.append(operand.content()->type().name()); + s.append(Poco::demangle(operand.content()->type().name())); s.append(" => "); - s.append(typeid(ValueType).name()); + s.append(Poco::demangle()); s.append(1, ')'); } throw BadCastException(s); @@ -553,6 +560,26 @@ const ValueType* UnsafeAnyCast(const Any* operand) } +template +bool AnyHoldsNullPtr(const Any& any) + /// Returns true if any holds a null pointer. + /// Fails to compile if `ValueType` is not a pointer. +{ + poco_static_assert_ptr(ValueType); + return (AnyCast(any) == nullptr); +} + + +template +bool AnyHoldsNullPtr(const Any* pAny) + /// Returns true if the Any pointed to holds a null pointer. + /// Returns false if `pAny` is a null pointer. +{ + if (!pAny) return false; + return (AnyHoldsNullPtr(*pAny)); +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/ArchiveStrategy.h b/Externals/poco/Foundation/include/Poco/ArchiveStrategy.h index f7812798616..d4c498568f0 100644 --- a/Externals/poco/Foundation/include/Poco/ArchiveStrategy.h +++ b/Externals/poco/Foundation/include/Poco/ArchiveStrategy.h @@ -23,6 +23,8 @@ #include "Poco/File.h" #include "Poco/DateTimeFormatter.h" #include "Poco/NumberFormatter.h" +#include "Poco/Mutex.h" +#include "Poco/Condition.h" #include @@ -51,6 +53,8 @@ class Foundation_API ArchiveStrategy /// and creates and returns a new log file. /// The given LogFile object is deleted. + void close(); + void compress(bool flag = true); /// Enables or disables compression of archived files. @@ -58,10 +62,21 @@ class Foundation_API ArchiveStrategy void moveFile(const std::string& oldName, const std::string& newName); bool exists(const std::string& name); + Poco::FastMutex _rotateMutex; + + // Log rotation must wait until all of the compression tasks complete + int _compressingCount; + Poco::Condition _compressingComplete; + private: + + friend class ArchiveCompressor; + ArchiveStrategy(const ArchiveStrategy&); ArchiveStrategy& operator = (const ArchiveStrategy&); + void compressFile(const std::string& path); + std::atomic _compress; std::atomic _pCompressor; }; diff --git a/Externals/poco/Foundation/include/Poco/AsyncNotificationCenter.h b/Externals/poco/Foundation/include/Poco/AsyncNotificationCenter.h new file mode 100644 index 00000000000..7bf8ded1b78 --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/AsyncNotificationCenter.h @@ -0,0 +1,77 @@ +// +// AsyncNotificationCenter.h +// +// Library: Foundation +// Package: Notifications +// Module: AsyncNotificationCenter +// +// Definition of the AsyncNotificationCenter class. +// +// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. +// Aleph ONE Software Engineering d.o.o., +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_AsyncNotificationCenter_INCLUDED +#define Foundation_AsyncNotificationCenter_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/NotificationCenter.h" +#include "Poco/Thread.h" +#include "Poco/Stopwatch.h" +#include "Poco/Debugger.h" +#include "Poco/ErrorHandler.h" +#include "Poco/Format.h" +#include "Poco/RunnableAdapter.h" +#include "Poco/NotificationQueue.h" + + +namespace Poco { + + +class Foundation_API AsyncNotificationCenter: public NotificationCenter + /// AsyncNotificationCenter decouples posting of notifications + /// from notifying subscribers by calling observers' notification + /// handler in a dedicated thread. +{ +public: + AsyncNotificationCenter(); + /// Creates the AsyncNotificationCenter and starts the notifying thread. + + ~AsyncNotificationCenter(); + /// Stops the notifying thread and destroys the AsyncNotificationCenter. + + AsyncNotificationCenter& operator = (const AsyncNotificationCenter&) = delete; + AsyncNotificationCenter(const AsyncNotificationCenter&) = delete; + AsyncNotificationCenter& operator = (AsyncNotificationCenter&&) = delete; + AsyncNotificationCenter(AsyncNotificationCenter&&) = delete; + + virtual void postNotification(Notification::Ptr pNotification); + /// Enqueues notification into the notification queue. + + virtual int backlog() const; + /// Returns the numbner of notifications in the notification queue. + +private: + void start(); + void stop(); + void dequeue(); + + using Adapter = RunnableAdapter; + + Thread _thread; + NotificationQueue _nq; + Adapter _ra; + std::atomic _started; + std::atomic _done; +}; + + +} // namespace Poco + + +#endif // Foundation_AsyncNotificationCenter_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/AsyncObserver.h b/Externals/poco/Foundation/include/Poco/AsyncObserver.h new file mode 100644 index 00000000000..221ee54b201 --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/AsyncObserver.h @@ -0,0 +1,177 @@ +// +// AsyncObserver.h +// +// Library: Foundation +// Package: Notifications +// Module: AsyncObserver +// +// Definition of the AsyncObserver class template. +// +// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. +// Aleph ONE Software Engineering d.o.o., +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_AsyncObserver_INCLUDED +#define Foundation_AsyncObserver_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/NObserver.h" +#include "Poco/Thread.h" +#include "Poco/Stopwatch.h" +#include "Poco/Debugger.h" +#include "Poco/ErrorHandler.h" +#include "Poco/Format.h" +#include "Poco/RunnableAdapter.h" +#include "Poco/NotificationQueue.h" + + +namespace Poco { + + +template +class AsyncObserver: public NObserver + /// AsyncObserver notifies subscribers in a dedicated thread (as opposed + /// to (N)Observer classes, which notify subscribers synchronously). + /// In order to become active and process notifications, the start() + /// method must be called. + /// + /// This class is meant to be used with the NotificationCenter only. + /// Notification processing thread can be started only once, and copying + /// should be done before `start()` is called. +{ +public: + using Type = AsyncObserver; + using Matcher = typename NObserver::Matcher; + using Handler = typename NObserver::Handler; + using NotificationPtr = typename NObserver::NotificationPtr; + + AsyncObserver() = delete; + + AsyncObserver(C& object, Handler handler, Matcher matcher = nullptr): + NObserver(object, handler, matcher), + _ra(*this, &AsyncObserver::dequeue), + _started(false), + _done(false) + { + } + + AsyncObserver(const AsyncObserver& observer): + NObserver(observer), + _ra(*this, &AsyncObserver::dequeue), + _started(false), + _done(false) + { + poco_assert(observer._nq.size() == 0); + } + + ~AsyncObserver() + { + disable(); + } + + AsyncObserver& operator = (const AsyncObserver& observer) + { + if (&observer != this) + { + poco_assert(observer._nq.size() == 0); + setObject(observer._pObject); + setHandler(observer._handler); + setMatcher(observer._matcher); + _started = false; + _done =false; + } + return *this; + } + + virtual void notify(Notification* pNf) const + { + _nq.enqueueNotification(NotificationPtr(static_cast(pNf), true)); + } + + virtual AbstractObserver* clone() const + { + return new AsyncObserver(*this); + } + + virtual void start() + { + Poco::ScopedLock l(this->mutex()); + if (_started) + { + throw Poco::InvalidAccessException( + Poco::format("thread already started %s", poco_src_loc)); + } + + _thread.start(_ra); + Poco::Stopwatch sw; + sw.start(); + while (!_started) + { + if (sw.elapsedSeconds() > 5) + throw Poco::TimeoutException(poco_src_loc); + Thread::sleep(100); + } + } + + virtual void disable() + { + if (!_started.exchange(false)) return; + _nq.wakeUpAll(); + while (!_done) Thread::sleep(100); + _thread.join(); + NObserver::disable(); + } + + virtual int backlog() const + { + return _nq.size(); + } + +private: + void dequeue() + { + Notification::Ptr pNf; + _started = true; + _done = false; + while ((pNf = _nq.waitDequeueNotification())) + { + try + { + this->handle(pNf.unsafeCast()); + } + catch (Poco::Exception& ex) + { + Poco::ErrorHandler::handle(ex); + } + catch (std::exception& ex) + { + Poco::ErrorHandler::handle(ex); + } + catch (...) + { + Poco::ErrorHandler::handle(); + } + } + _done = true; + _started = false; + } + + using Adapter = RunnableAdapter>; + + Thread _thread; + mutable NotificationQueue _nq; + Adapter _ra; + std::atomic _started; + std::atomic _done; +}; + + +} // namespace Poco + + +#endif // Foundation_AsyncObserver_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h b/Externals/poco/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h index bcb839fe86b..abb5b670918 100644 --- a/Externals/poco/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h +++ b/Externals/poco/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h @@ -43,15 +43,15 @@ class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf /// for implementing an iostream. { protected: - typedef std::basic_streambuf Base; - typedef std::basic_ios IOS; - typedef ch char_type; - typedef tr char_traits; - typedef ba Allocator; - typedef typename Base::int_type int_type; - typedef typename Base::pos_type pos_type; - typedef typename Base::off_type off_type; - typedef typename IOS::openmode openmode; + using Base = std::basic_streambuf; + using IOS = std::basic_ios; + using char_type = ch; + using char_traits = tr; + using Allocator = ba; + using int_type = typename Base::int_type; + using pos_type = typename Base::pos_type; + using off_type = typename Base::off_type; + using openmode = typename IOS::openmode; public: BasicBufferedBidirectionalStreamBuf(std::streamsize bufferSize, openmode mode): @@ -69,6 +69,9 @@ class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf Allocator::deallocate(_pWriteBuffer, _bufsize); } + BasicBufferedBidirectionalStreamBuf(const BasicBufferedBidirectionalStreamBuf&) = delete; + BasicBufferedBidirectionalStreamBuf& operator = (const BasicBufferedBidirectionalStreamBuf&) = delete; + virtual int_type overflow(int_type c) { if (!(_mode & IOS::out)) return char_traits::eof(); @@ -130,6 +133,22 @@ class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf this->setp(_pWriteBuffer, _pWriteBuffer + _bufsize); } + virtual bool resizeBuffer(std::streamsize bufferSize) + { + if (_bufsize != bufferSize) + { + Allocator::deallocate(_pReadBuffer, _bufsize); + Allocator::deallocate(_pWriteBuffer, _bufsize); + + _bufsize = bufferSize; + _pReadBuffer = Allocator::allocate(_bufsize); + _pWriteBuffer = Allocator::allocate(_bufsize); + } + resetBuffers(); + + return true; + } + private: virtual int readFromDevice(char_type* /*buffer*/, std::streamsize /*length*/) { @@ -152,13 +171,10 @@ class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf return -1; } - std::streamsize _bufsize; - char_type* _pReadBuffer; - char_type* _pWriteBuffer; - openmode _mode; - - BasicBufferedBidirectionalStreamBuf(const BasicBufferedBidirectionalStreamBuf&); - BasicBufferedBidirectionalStreamBuf& operator = (const BasicBufferedBidirectionalStreamBuf&); + std::streamsize _bufsize {0}; + char_type* _pReadBuffer {nullptr}; + char_type* _pWriteBuffer {nullptr}; + openmode _mode {0}; }; @@ -172,8 +188,8 @@ class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf #if defined(_MSC_VER) && defined(POCO_DLL) && !defined(Foundation_EXPORTS) template class Foundation_API BasicBufferedBidirectionalStreamBuf>; #endif -typedef BasicBufferedBidirectionalStreamBuf> BufferedBidirectionalStreamBuf; - +using BufferedBidirectionalStreamBuf + = BasicBufferedBidirectionalStreamBuf>; } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/Bugcheck.h b/Externals/poco/Foundation/include/Poco/Bugcheck.h index 6e1e4aae789..6b24ae903be 100644 --- a/Externals/poco/Foundation/include/Poco/Bugcheck.h +++ b/Externals/poco/Foundation/include/Poco/Bugcheck.h @@ -39,38 +39,38 @@ class Foundation_API Bugcheck /// automatically provide useful context information. { public: - [[noreturn]] static void assertion(const char* cond, const char* file, int line, const char* text = 0); + [[noreturn]] static void assertion(const char* cond, const char* file, LineNumber line, const char* text = 0); /// An assertion failed. Break into the debugger, if /// possible, then throw an AssertionViolationException. - [[noreturn]] static void nullPointer(const char* ptr, const char* file, int line); + [[noreturn]] static void nullPointer(const char* ptr, const char* file, LineNumber line); /// An null pointer was encountered. Break into the debugger, if /// possible, then throw an NullPointerException. - [[noreturn]] static void bugcheck(const char* file, int line); + [[noreturn]] static void bugcheck(const char* file, LineNumber line); /// An internal error was encountered. Break into the debugger, if /// possible, then throw an BugcheckException. - [[noreturn]] static void bugcheck(const char* msg, const char* file, int line); + [[noreturn]] static void bugcheck(const char* msg, const char* file, LineNumber line); /// An internal error was encountered. Break into the debugger, if /// possible, then throw an BugcheckException. - static void unexpected(const char* file, int line); + static void unexpected(const char* file, LineNumber line); /// An exception was caught in a destructor. Break into debugger, /// if possible and report exception. Must only be called from /// within a catch () block as it rethrows the exception to /// determine its class. - static void debugger(const char* file, int line); + static void debugger(const char* file, LineNumber line); /// An internal error was encountered. Break into the debugger, if /// possible. - static void debugger(const char* msg, const char* file, int line); + static void debugger(const char* msg, const char* file, LineNumber line); /// An internal error was encountered. Break into the debugger, if /// possible. protected: - static std::string what(const char* msg, const char* file, int line, const char* text = 0); + static std::string what(const char* msg, const char* file, LineNumber line, const char* text = 0); }; @@ -165,42 +165,16 @@ class Foundation_API Bugcheck #endif -// -// poco_static_assert -// -// The following was ported from -// - +#define poco_static_assert(B) static_assert(B) -template -struct POCO_STATIC_ASSERTION_FAILURE; - - -template <> -struct POCO_STATIC_ASSERTION_FAILURE -{ - enum - { - value = 1 - }; -}; - -template -struct poco_static_assert_test -{ -}; - - -#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4)) -#define poco_static_assert(B) \ - typedef char POCO_JOIN(poco_static_assert_typedef_, __LINE__) \ - [POCO_STATIC_ASSERTION_FAILURE<(bool) (B)>::value] -#else -#define poco_static_assert(B) \ - typedef poco_static_assert_test)> \ - POCO_JOIN(poco_static_assert_typedef_, __LINE__) POCO_UNUSED -#endif +#define poco_static_assert_ptr(T) \ + static_assert(std::is_pointer_v || \ + std::is_same_v || \ + std::is_member_pointer_v || \ + std::is_member_function_pointer_v || \ + std::is_member_object_pointer_v, \ + "not a pointer") #endif // Foundation_Bugcheck_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/ByteOrder.h b/Externals/poco/Foundation/include/Poco/ByteOrder.h index 04159cfbdbb..93203d6907c 100644 --- a/Externals/poco/Foundation/include/Poco/ByteOrder.h +++ b/Externals/poco/Foundation/include/Poco/ByteOrder.h @@ -32,6 +32,8 @@ class Foundation_API ByteOrder /// integers of various sizes. { public: + static Int8 flipBytes(Int8 value); + static UInt8 flipBytes(UInt8 value); static Int16 flipBytes(Int16 value); static UInt16 flipBytes(UInt16 value); static Int32 flipBytes(Int32 value); @@ -43,6 +45,8 @@ class Foundation_API ByteOrder static UInt64 flipBytes(UInt64 value); #endif + static Int8 toBigEndian(Int8 value); + static UInt8 toBigEndian(UInt8 value); static Int16 toBigEndian(Int16 value); static UInt16 toBigEndian (UInt16 value); static Int32 toBigEndian(Int32 value); @@ -52,6 +56,8 @@ class Foundation_API ByteOrder static UInt64 toBigEndian (UInt64 value); #endif + static Int8 fromBigEndian(Int8 value); + static UInt8 fromBigEndian(UInt8 value); static Int16 fromBigEndian(Int16 value); static UInt16 fromBigEndian (UInt16 value); static Int32 fromBigEndian(Int32 value); @@ -61,6 +67,8 @@ class Foundation_API ByteOrder static UInt64 fromBigEndian (UInt64 value); #endif + static Int8 toLittleEndian(Int8 value); + static UInt8 toLittleEndian(UInt8 value); static Int16 toLittleEndian(Int16 value); static UInt16 toLittleEndian (UInt16 value); static Int32 toLittleEndian(Int32 value); @@ -70,6 +78,8 @@ class Foundation_API ByteOrder static UInt64 toLittleEndian (UInt64 value); #endif + static Int8 fromLittleEndian(Int8 value); + static UInt8 fromLittleEndian(UInt8 value); static Int16 fromLittleEndian(Int16 value); static UInt16 fromLittleEndian (UInt16 value); static Int32 fromLittleEndian(Int32 value); @@ -79,6 +89,8 @@ class Foundation_API ByteOrder static UInt64 fromLittleEndian (UInt64 value); #endif + static Int8 toNetwork(Int8 value); + static UInt8 toNetwork(UInt8 value); static Int16 toNetwork(Int16 value); static UInt16 toNetwork (UInt16 value); static Int32 toNetwork(Int32 value); @@ -88,6 +100,8 @@ class Foundation_API ByteOrder static UInt64 toNetwork (UInt64 value); #endif + static Int8 fromNetwork(Int8 value); + static UInt8 fromNetwork(UInt8 value); static Int16 fromNetwork(Int16 value); static UInt16 fromNetwork (UInt16 value); static Int32 fromNetwork(Int32 value); @@ -132,6 +146,18 @@ class Foundation_API ByteOrder // // inlines // +inline UInt8 ByteOrder::flipBytes(UInt8 value) +{ + return value; +} + + +inline Int8 ByteOrder::flipBytes(Int8 value) +{ + return value; +} + + inline UInt16 ByteOrder::flipBytes(UInt16 value) { #if defined(POCO_HAVE_MSC_BYTESWAP) @@ -218,6 +244,8 @@ inline Int64 ByteOrder::flipBytes(Int64 value) #if defined(POCO_HAVE_INT64) #define POCO_IMPLEMENT_BYTEORDER_NOOP(op) \ + POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int8) \ + POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt8) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int16) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt16) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int32) \ @@ -225,6 +253,8 @@ inline Int64 ByteOrder::flipBytes(Int64 value) POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int64) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt64) #define POCO_IMPLEMENT_BYTEORDER_FLIP(op) \ + POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int8) \ + POCO_IMPLEMENT_BYTEORDER_FLIP_(op, UInt8) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int16) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, UInt16) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int32) \ @@ -233,11 +263,15 @@ inline Int64 ByteOrder::flipBytes(Int64 value) POCO_IMPLEMENT_BYTEORDER_FLIP_(op, UInt64) #else #define POCO_IMPLEMENT_BYTEORDER_NOOP(op) \ + POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int8) \ + POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt8) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int16) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt16) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, Int32) \ POCO_IMPLEMENT_BYTEORDER_NOOP_(op, UInt32) #define POCO_IMPLEMENT_BYTEORDER_FLIP(op) \ + POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int8) \ + POCO_IMPLEMENT_BYTEORDER_FLIP_(op, UInt8) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int16) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, UInt16) \ POCO_IMPLEMENT_BYTEORDER_FLIP_(op, Int32) \ diff --git a/Externals/poco/Foundation/include/Poco/ClassLibrary.h b/Externals/poco/Foundation/include/Poco/ClassLibrary.h index e10dbcbfb1b..0f866043139 100644 --- a/Externals/poco/Foundation/include/Poco/ClassLibrary.h +++ b/Externals/poco/Foundation/include/Poco/ClassLibrary.h @@ -67,13 +67,13 @@ extern "C" \ #define POCO_BEGIN_MANIFEST_IMPL(fnName, base) \ bool fnName(Poco::ManifestBase* pManifest_) \ { \ - typedef base _Base; \ - typedef Poco::Manifest<_Base> _Manifest; \ - std::string requiredType(typeid(_Manifest).name()); \ - std::string actualType(pManifest_->className()); \ + using BaseType = base; \ + using ManifestType = Poco::Manifest; \ + const std::string requiredType(typeid(ManifestType).name()); \ + const std::string actualType(pManifest_->className()); \ if (requiredType == actualType) \ { \ - Poco::Manifest<_Base>* pManifest = static_cast<_Manifest*>(pManifest_); + Poco::Manifest* pManifest = static_cast(pManifest_); #define POCO_BEGIN_MANIFEST(base) \ @@ -93,15 +93,15 @@ extern "C" \ #define POCO_EXPORT_CLASS(cls) \ - pManifest->insert(new Poco::MetaObject(#cls)); + pManifest->insert(new Poco::MetaObject(#cls)); #define POCO_EXPORT_INTERFACE(cls, itf) \ - pManifest->insert(new Poco::MetaObject(itf)); + pManifest->insert(new Poco::MetaObject(itf)); #define POCO_EXPORT_SINGLETON(cls) \ - pManifest->insert(new Poco::MetaSingleton(#cls)); + pManifest->insert(new Poco::MetaSingleton(#cls)); #endif // Foundation_ClassLibrary_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/ClassLoader.h b/Externals/poco/Foundation/include/Poco/ClassLoader.h index a55c63fdcb4..4a49c251481 100644 --- a/Externals/poco/Foundation/include/Poco/ClassLoader.h +++ b/Externals/poco/Foundation/include/Poco/ClassLoader.h @@ -254,7 +254,7 @@ class ClassLoader if (itm != pManif->end()) return *itm; } - return 0; + return nullptr; } const Meta& classFor(const std::string& className) const diff --git a/Externals/poco/Foundation/include/Poco/Config.h b/Externals/poco/Foundation/include/Poco/Config.h index cd01069d7b9..ade3a848f10 100644 --- a/Externals/poco/Foundation/include/Poco/Config.h +++ b/Externals/poco/Foundation/include/Poco/Config.h @@ -175,19 +175,29 @@ // to "d.so", "d.dll", etc. for _DEBUG builds in Poco::SharedLibrary. // #define POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX - -// Disarm POCO_DEPRECATED macro. -// #define POCO_NO_DEPRECATED - // Enable usage of Poco::Mutex and Poco::FastMutex // as wrappers for std::recursive_mutex and std::mutex #ifndef POCO_ENABLE_STD_MUTEX // #define POCO_ENABLE_STD_MUTEX #endif +#ifndef POCO_HAVE_SENDFILE +// #define POCO_HAVE_SENDFILE +#endif + #define POCO_HAVE_CPP17_COMPILER (__cplusplus >= 201703L) +// Option to silence deprecation warnings. +#ifndef POCO_SILENCE_DEPRECATED + #define POCO_DEPRECATED(reason) [[deprecated(reason)]] +#else + #define POCO_DEPRECATED(reason) +#endif + // Uncomment to explicitly disable SQLParser // #define POCO_DATA_NO_SQL_PARSER +// Uncomment to enable stack trace autogeneration in Exception +//#define POCO_ENABLE_TRACE 1 + #endif // Foundation_Config_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/DateTime.h b/Externals/poco/Foundation/include/Poco/DateTime.h index b95af903909..65ef8851fa1 100644 --- a/Externals/poco/Foundation/include/Poco/DateTime.h +++ b/Externals/poco/Foundation/include/Poco/DateTime.h @@ -52,7 +52,8 @@ class Foundation_API DateTime /// Notes: /// * Zero is a valid year (in accordance with ISO 8601 and astronomical year numbering) /// * Year zero (0) is a leap year - /// * Negative years (years preceding 1 BC) are not supported + /// * Minimum date/time that can be represented is 12:00:00 UTC Monday, 1 January 4713 BC + /// (Julian Day 0, Gregorian -4713-11-24 12:00:00) /// /// For more information, please see: /// * http://en.wikipedia.org/wiki/Gregorian_Calendar @@ -254,6 +255,12 @@ class Foundation_API DateTime /// Returns true if all arguments are valid, false otherwise. protected: + void checkValid(); + /// Checks if the given date and time is valid (all arguments are within a proper range). + /// Expects all members to be set. + /// + /// Throws Poco::InvalidArgumentException if any of the arguments is not valid. + static double toJulianDay(Timestamp::UtcTimeVal utcTime); /// Computes the Julian day for an UTC time. diff --git a/Externals/poco/Foundation/include/Poco/DateTimeFormat.h b/Externals/poco/Foundation/include/Poco/DateTimeFormat.h index 291bf18b226..069eebf1196 100644 --- a/Externals/poco/Foundation/include/Poco/DateTimeFormat.h +++ b/Externals/poco/Foundation/include/Poco/DateTimeFormat.h @@ -128,9 +128,6 @@ class Foundation_API DateTimeFormat static bool isValid(const std::string& dateTime); /// Returns true if dateTime validates against at least one supported format. - typedef std::unordered_set RegexList; - static RegexList REGEX_LIST; - private: typedef std::unordered_set Formatlist; static Formatlist FORMAT_LIST; diff --git a/Externals/poco/Foundation/include/Poco/Debugger.h b/Externals/poco/Foundation/include/Poco/Debugger.h index f1de9fc38bb..1e4cb18e622 100644 --- a/Externals/poco/Foundation/include/Poco/Debugger.h +++ b/Externals/poco/Foundation/include/Poco/Debugger.h @@ -19,6 +19,7 @@ #include "Poco/Foundation.h" +#include namespace Poco { @@ -44,7 +45,7 @@ class Foundation_API Debugger /// Writes a message to the debugger log, if available, otherwise to /// standard error output. - static void message(const std::string& msg, const char* file, int line); + static void message(const std::string& msg, const char* file, LineNumber line); /// Writes a message to the debugger log, if available, otherwise to /// standard error output. @@ -56,15 +57,33 @@ class Foundation_API Debugger static void enter(const std::string& msg); /// Writes a debug message to the debugger log and breaks into it. - static void enter(const std::string& msg, const char* file, int line); + static void enter(const std::string& msg, const char* file, LineNumber line); /// Writes a debug message to the debugger log and breaks into it. - static void enter(const char* file, int line); + static void enter(const char* file, LineNumber line); /// Writes a debug message to the debugger log and breaks into it. + + static constexpr std::string_view sourceFile(const std::string_view& fileName) + /// Utility function for reporting the source file name. The file path is + /// truncated and only the source file name (with extension) is returned. + /// + /// For full location reporting (including function name and line number), + /// see `poco_src_loc` macro. + { + std::size_t pos = fileName.find_last_of("/\\"); + if (pos == std::string_view::npos) pos = 0; + else if (fileName.length() > 1) ++pos; + return std::string_view(fileName.substr(pos)); + } }; } // namespace Poco +#define poco_src_loc std::string(Poco::Debugger::sourceFile(__FILE__)) \ + .append("::").append(__func__) \ + .append("():").append(std::to_string(__LINE__)) + + #endif // Foundation_Debugger_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/DeflatingStream.h b/Externals/poco/Foundation/include/Poco/DeflatingStream.h index d7557071492..e48eef046c7 100644 --- a/Externals/poco/Foundation/include/Poco/DeflatingStream.h +++ b/Externals/poco/Foundation/include/Poco/DeflatingStream.h @@ -22,11 +22,8 @@ #include "Poco/BufferedStreamBuf.h" #include #include -#if defined(POCO_UNBUNDLED) -#include -#else -#include "Poco/zlib.h" -#endif + +struct z_stream_s; namespace Poco { @@ -47,6 +44,17 @@ class Foundation_API DeflatingStreamBuf: public BufferedStreamBuf STREAM_GZIP /// Create a gzip header, use CRC-32 checksum. }; + enum CompressionLevel + /// Constants for compression levels. + /// Note to maintainers: These must be kept in sync with the constants + /// defined by zlib. + { + DEFAULT_COMPRESSION = -1, + NO_COMPRESSION = 0, + BEST_SPEED = 1, + BEST_COMPRESSION = 9 + }; + DeflatingStreamBuf(std::istream& istr, StreamType type, int level); /// Creates a DeflatingStreamBuf for compressing data read /// from the given input stream. @@ -89,11 +97,11 @@ class Foundation_API DeflatingStreamBuf: public BufferedStreamBuf DEFLATE_BUFFER_SIZE = 32768 }; - std::istream* _pIstr; - std::ostream* _pOstr; - char* _buffer; - z_stream _zstr; - bool _eof; + std::istream* _pIstr; + std::ostream* _pOstr; + char* _buffer; + z_stream_s* _pZstr; + bool _eof; }; @@ -104,7 +112,7 @@ class Foundation_API DeflatingIOS: public virtual std::ios /// order of the stream buffer and base classes. { public: - DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); + DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = DeflatingStreamBuf::DEFAULT_COMPRESSION); /// Creates a DeflatingIOS for compressing data passed /// through and forwarding it to the given output stream. @@ -115,7 +123,7 @@ class Foundation_API DeflatingIOS: public virtual std::ios /// Please refer to the zlib documentation of deflateInit2() for a description /// of the windowBits parameter. - DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); + DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = DeflatingStreamBuf::DEFAULT_COMPRESSION); /// Creates a DeflatingIOS for compressing data read /// from the given input stream. @@ -150,7 +158,7 @@ class Foundation_API DeflatingOutputStream: public std::ostream, public Deflatin /// ostr.close(); { public: - DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); + DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = DeflatingStreamBuf::DEFAULT_COMPRESSION); /// Creates a DeflatingOutputStream for compressing data passed /// through and forwarding it to the given output stream. @@ -179,7 +187,7 @@ class Foundation_API DeflatingInputStream: public std::istream, public Deflating /// using zlib's deflate algorithm. { public: - DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = Z_DEFAULT_COMPRESSION); + DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamType type = DeflatingStreamBuf::STREAM_ZLIB, int level = DeflatingStreamBuf::DEFAULT_COMPRESSION); /// Creates a DeflatingIOS for compressing data read /// from the given input stream. diff --git a/Externals/poco/Foundation/include/Poco/DirectoryIterator.h b/Externals/poco/Foundation/include/Poco/DirectoryIterator.h index fd8e89db171..8749719d800 100644 --- a/Externals/poco/Foundation/include/Poco/DirectoryIterator.h +++ b/Externals/poco/Foundation/include/Poco/DirectoryIterator.h @@ -75,7 +75,7 @@ class Foundation_API DirectoryIterator virtual DirectoryIterator& operator ++ (); // prefix - //@ deprecated + POCO_DEPRECATED("") DirectoryIterator operator ++ (int); // postfix /// Please use the prefix increment operator instead. diff --git a/Externals/poco/Foundation/include/Poco/Dynamic/Pair.h b/Externals/poco/Foundation/include/Poco/Dynamic/Pair.h index 166dc28a9f2..e9bfa84c5c9 100644 --- a/Externals/poco/Foundation/include/Poco/Dynamic/Pair.h +++ b/Externals/poco/Foundation/include/Poco/Dynamic/Pair.h @@ -62,10 +62,8 @@ class Pair { } - virtual ~Pair() + virtual ~Pair() = default; /// Destroys the Pair. - { - } Pair& swap(Pair& other) noexcept /// Swaps the content of the two Pairs. @@ -122,62 +120,62 @@ class VarHolderImpl>: public VarHolder return typeid(Pair); } - void convert(Int8& val) const + void convert(Int8&) const { throw BadCastException("Cannot cast Pair type to Int8"); } - void convert(Int16& val) const + void convert(Int16&) const { throw BadCastException("Cannot cast Pair type to Int16"); } - void convert(Int32& val) const + void convert(Int32&) const { throw BadCastException("Cannot cast Pair type to Int32"); } - void convert(Int64& val) const + void convert(Int64&) const { throw BadCastException("Cannot cast Pair type to Int64"); } - void convert(UInt8& val) const + void convert(UInt8&) const { throw BadCastException("Cannot cast Pair type to UInt8"); } - void convert(UInt16& val) const + void convert(UInt16&) const { throw BadCastException("Cannot cast Pair type to UInt16"); } - void convert(UInt32& val) const + void convert(UInt32&) const { throw BadCastException("Cannot cast Pair type to UInt32"); } - void convert(UInt64& val) const + void convert(UInt64&) const { throw BadCastException("Cannot cast Pair type to UInt64"); } - void convert(bool& val) const + void convert(bool&) const { throw BadCastException("Cannot cast Pair type to bool"); } - void convert(float& val) const + void convert(float&) const { throw BadCastException("Cannot cast Pair type to float"); } - void convert(double& val) const + void convert(double&) const { throw BadCastException("Cannot cast Pair type to double"); } - void convert(char& val) const + void convert(char&) const { throw BadCastException("Cannot cast Pair type to char"); } @@ -271,62 +269,62 @@ class VarHolderImpl>: public VarHolder return typeid(Pair); } - void convert(Int8& val) const + void convert(Int8&) const { throw BadCastException("Cannot cast Pair type to Int8"); } - void convert(Int16& val) const + void convert(Int16&) const { throw BadCastException("Cannot cast Pair type to Int16"); } - void convert(Int32& val) const + void convert(Int32&) const { throw BadCastException("Cannot cast Pair type to Int32"); } - void convert(Int64& val) const + void convert(Int64&) const { throw BadCastException("Cannot cast Pair type to Int64"); } - void convert(UInt8& val) const + void convert(UInt8&) const { throw BadCastException("Cannot cast Pair type to UInt8"); } - void convert(UInt16& val) const + void convert(UInt16&) const { throw BadCastException("Cannot cast Pair type to UInt16"); } - void convert(UInt32& val) const + void convert(UInt32&) const { throw BadCastException("Cannot cast Pair type to UInt32"); } - void convert(UInt64& val) const + void convert(UInt64&) const { throw BadCastException("Cannot cast Pair type to UInt64"); } - void convert(bool& val) const + void convert(bool&) const { throw BadCastException("Cannot cast Pair type to bool"); } - void convert(float& val) const + void convert(float&) const { throw BadCastException("Cannot cast Pair type to float"); } - void convert(double& val) const + void convert(double&) const { throw BadCastException("Cannot cast Pair type to double"); } - void convert(char& val) const + void convert(char&) const { throw BadCastException("Cannot cast Pair type to char"); } diff --git a/Externals/poco/Foundation/include/Poco/Dynamic/Var.h b/Externals/poco/Foundation/include/Poco/Dynamic/Var.h index 4b6b03b30e7..2eec24cd98d 100644 --- a/Externals/poco/Foundation/include/Poco/Dynamic/Var.h +++ b/Externals/poco/Foundation/include/Poco/Dynamic/Var.h @@ -210,7 +210,7 @@ class Foundation_API Var if (pHolder && pHolder->type() == typeid(T)) { - VarHolderImpl* pHolderImpl = static_cast*>(pHolder); + auto* pHolderImpl = static_cast*>(pHolder); return pHolderImpl->value(); } else if (!pHolder) @@ -475,7 +475,12 @@ class Foundation_API Var const std::type_info& type() const; /// Returns the type information of the stored content. - //@ deprecated + std::string typeName(bool demangle = true) const; + /// Returns the type name of the stored content. + /// If demangling is available and emangle is true, + /// the returnsed string will be demangled. + + POCO_DEPRECATED("Use clear() instead") void empty(); /// Empties Var. /// This function is deprecated and will be removed. @@ -521,23 +526,8 @@ class Foundation_API Var /// This function returns 0 when Var is empty, 1 for POD or the size (i.e. length) /// for held container. - std::string toString() const + std::string toString() const; /// Returns the stored value as string. - { - VarHolder* pHolder = content(); - - if (!pHolder) - throw InvalidAccessException("Can not convert empty value."); - - if (typeid(std::string) == pHolder->type()) - return extract(); - else - { - std::string result; - pHolder->convert(result); - return result; - } - } static Var parse(const std::string& val); /// Parses the string which must be in JSON format @@ -617,17 +607,8 @@ class Foundation_API Var _placeholder.assign, ValueType>(value); } - void construct(const char* value) - { - std::string val(value); - _placeholder.assign, std::string>(val); - } - - void construct(const Var& other) - { - if (!other.isEmpty()) - other.content()->clone(&_placeholder); - } + void construct(const char* value); + void construct(const Var& other); Placeholder _placeholder; }; @@ -642,6 +623,20 @@ class Foundation_API Var /// Var members /// +inline void Var::construct(const char* value) +{ + std::string val(value); + _placeholder.assign, std::string>(val); +} + + +inline void Var::construct(const Var& other) +{ + if (!other.isEmpty()) + other.content()->clone(&_placeholder); +} + + inline void Var::swap(Var& other) { if (this == &other) return; @@ -674,6 +669,13 @@ inline const std::type_info& Var::type() const } +inline std::string Var::typeName(bool demangle) const +{ + VarHolder* pHolder = content(); + return pHolder ? demangle ? Poco::demangle(pHolder->type().name()) : pHolder->type().name() : std::string(); +} + + inline Var::ConstIterator Var::begin() const { if (size() == 0) return ConstIterator(const_cast(this), true); @@ -731,7 +733,7 @@ inline bool Var::operator ! () const inline bool Var::isEmpty() const { - return 0 == content(); + return nullptr == content(); } @@ -2286,8 +2288,7 @@ inline bool operator >= (const unsigned long& other, const Var& da) } // namespace Dynamic -//@ deprecated -typedef Dynamic::Var DynamicAny; +using DynamicAny POCO_DEPRECATED("") = Dynamic::Var; } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/Dynamic/VarHolder.h b/Externals/poco/Foundation/include/Poco/Dynamic/VarHolder.h index 0ae246ab767..cac21b780f9 100644 --- a/Externals/poco/Foundation/include/Poco/Dynamic/VarHolder.h +++ b/Externals/poco/Foundation/include/Poco/Dynamic/VarHolder.h @@ -33,17 +33,27 @@ #include "Poco/UTF8String.h" #include "Poco/UUID.h" #include "Poco/Any.h" +#include "Poco/Format.h" +#include "Poco/Debugger.h" #include "Poco/Exception.h" #include #include #include #include #include +#include #undef min #undef max #include +#define POCO_VAR_RANGE_EXCEPTION(str, from) \ + throw RangeException(Poco::format("%v ((%s/%d) %s > (%s/%d) %s) @ %s.", \ + std::string_view(#str), Poco::demangle(), numValDigits(from), std::to_string(from), \ + Poco::demangle(), numTypeDigits(), std::to_string(static_cast(from)), \ + poco_src_loc)) + + namespace Poco { namespace Dynamic { @@ -121,12 +131,12 @@ class Foundation_API VarHolder /// throw BadCastException. { public: - typedef Var ArrayValueType; + using ArrayValueType = Var; virtual ~VarHolder(); /// Destroys the VarHolder. - virtual VarHolder* clone(Placeholder* pHolder = 0) const = 0; + virtual VarHolder* clone(Placeholder* pHolder = nullptr) const = 0; /// Implementation must implement this function to /// deep-copy the VarHolder. /// If small object optimization is enabled (i.e. if @@ -312,140 +322,222 @@ class Foundation_API VarHolder return pVarHolder->assign, T>(val); } - template - void convertToSmaller(const F& from, T& to) const - /// This function is meant to convert signed numeric values from + template && std::is_signed_v) || + std::is_floating_point_v, F>* = nullptr, + std::enable_if_t<(std::is_integral_v && std::is_signed_v) || + std::is_floating_point_v, T>* = nullptr> + static void convertToSmaller(const F& from, T& to) + /// Converts signed integral, as well as floating-point, values from /// larger to smaller type. It checks the upper and lower bound and /// if from value is within limits of type T (i.e. check calls do not throw), /// it is converted. { - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_signed); - poco_static_assert (std::numeric_limits::is_signed); - + if constexpr((std::is_integral_v) && (std::is_floating_point_v)) + { + if (isPrecisionLost(from)) + POCO_VAR_RANGE_EXCEPTION ("Lost precision", from); + } checkUpperLimit(from); checkLowerLimit(from); + to = static_cast(from); + } + template && std::is_signed_v, F>* = nullptr, + std::enable_if_t, T>* = nullptr> + static void convertToSmaller(const F& from, T& to) + /// Converts signed integral values from integral to floating-point type. Checks for + /// the loss of precision and if from value is within limits of type T (i.e. check calls do not throw), + /// it is converted. + { + if (isPrecisionLost(from)) + POCO_VAR_RANGE_EXCEPTION ("Lost precision", from); to = static_cast(from); } - template - void convertToSmallerUnsigned(const F& from, T& to) const - /// This function is meant for converting unsigned integral data types, - /// from larger to smaller type. Since lower limit is always 0 for unsigned types, - /// only the upper limit is checked, thus saving some cycles compared to the signed - /// version of the function. If the value to be converted is smaller than - /// the maximum value for the target type, the conversion is performed. + template >* = nullptr, + std::enable_if_t, T>* = nullptr> + static void convertToSmaller(const F& from, T& to) + /// Converts boolean values to floating-point type. { - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (!std::numeric_limits::is_signed); - poco_static_assert (!std::numeric_limits::is_signed); + to = static_cast(from); + } + template && !std::is_signed_v, F>* = nullptr, + std::enable_if_t<(std::is_integral_v && !std::is_signed::value) || std::is_floating_point::value, T>* = nullptr> + static void convertToSmallerUnsigned(const F& from, T& to) + /// Converts unsigned integral data types from larger to smaller, as well as to floating-point, types. + /// Since lower limit is always 0 for unsigned types, only the upper limit is checked, thus + /// saving some cycles compared to the signed version of the function. If the + /// value to be converted is smaller than the maximum value for the target type, + /// the conversion is performed. + { checkUpperLimit(from); to = static_cast(from); } - template - void convertSignedToUnsigned(const F& from, T& to) const - /// This function is meant for converting signed integral data types to - /// unsigned data types. Negative values can not be converted and if one - /// is encountered, RangeException is thrown. + template && std::is_signed_v, F>* = nullptr, + std::enable_if_t && !std::is_signed_v, T>* = nullptr> + static void convertSignedToUnsigned(const F& from, T& to) + /// Converts signed integral data types to unsigned data types. + /// Negative values can not be converted and if one is encountered, RangeException is thrown. /// If upper limit is within the target data type limits, the conversion is performed. { - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_signed); - poco_static_assert (!std::numeric_limits::is_signed); - if (from < 0) - throw RangeException("Value too small."); + POCO_VAR_RANGE_EXCEPTION ("Value too small", from); checkUpperLimit,T>(from); to = static_cast(from); } - template ::value, bool> = true> - void convertSignedFloatToUnsigned(const F& from, T& to) const - /// This function is meant for converting floating point data types to - /// unsigned integral data types. Negative values can not be converted and if one - /// is encountered, RangeException is thrown. + template , bool> = true, + std::enable_if_t && !std::is_signed_v, T>* = nullptr> + static void convertSignedFloatToUnsigned(const F& from, T& to) + /// Converts floating point data types to unsigned integral data types. Negative values + /// can not be converted and if one is encountered, RangeException is thrown. /// If upper limit is within the target data type limits, the conversion is performed. { - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (!std::numeric_limits::is_integer); - poco_static_assert (std::numeric_limits::is_integer); - poco_static_assert (!std::numeric_limits::is_signed); - if (from < 0) - throw RangeException("Value too small."); + POCO_VAR_RANGE_EXCEPTION ("Value too small", from); checkUpperLimit(from); to = static_cast(from); } - template - void convertUnsignedToSigned(const F& from, T& to) const - /// This function is meant for converting unsigned integral data types to - /// signed integral data types. Negative values can not be converted and if one - /// is encountered, RangeException is thrown. + template && !std::is_signed_v, F>* = nullptr, + std::enable_if_t && std::is_signed_v, T>* = nullptr> + static void convertUnsignedToSigned(const F& from, T& to) + /// Converts unsigned integral data types to signed integral data types. /// If upper limit is within the target data type limits, the conversion is performed. { - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (std::numeric_limits::is_specialized); - poco_static_assert (!std::numeric_limits::is_signed); - poco_static_assert (std::numeric_limits::is_signed); - checkUpperLimit(from); to = static_cast(from); } + template && std::is_signed_v && (sizeof(F) <= sizeof(T))>* = nullptr> + void convertToSigned(const F& from, T& to) const + { + to = static_cast(from); + } + + template && std::is_signed_v && (sizeof(F) > sizeof(T))>* = nullptr> + void convertToSigned(const F& from, T& to) const + { + convertToSmaller(from, to); + } + + template && std::is_signed_v>* = nullptr> + void convertToSigned(const F& from, T& to) const + { + convertUnsignedToSigned(from, to); + } + + template && !std::is_signed_v && (sizeof(F) <= sizeof(T))>* = nullptr> + void convertToUnsigned(const F& from, T& to) const + { + to = static_cast(from); + } + + template && !std::is_signed_v && (sizeof(F) > sizeof(T))>* = nullptr> + void convertToUnsigned(const F& from, T& to) const + { + convertToSmallerUnsigned(from, to); + } + + template && !std::is_signed_v>* = nullptr> + void convertToUnsigned(const F& from, T& to) const + { + convertSignedToUnsigned(from, to); + } + + template , bool> = true, + std::enable_if_t, bool> = true> + static void convertToFP(F& from, T& to) + /// Converts unsigned integral data types to floating-point data types. + /// If the number of significant digits used for the integer vaue exceeds the number + /// of available digits in the floatinng-point destination (ie. if precision would be lost + /// by casting the value), RangeException is thrown. + { + if (isPrecisionLost(from)) + POCO_VAR_RANGE_EXCEPTION ("Lost precision", from); + to = static_cast(from); + } + private: - template ::value, bool> = true> - void checkUpperLimit(const F& from) const + template , bool> = true> + static constexpr int numValDigits(const T& value) { - if (from > std::numeric_limits::max()) - throw RangeException("Value too large."); + using U = std::make_unsigned_t; + if (value == 0) return 0; + int digitCount = 0; + U locVal = value; // to prevent sign preservation + while (locVal >>= 1) ++digitCount; + return digitCount; } - template ::value, bool> = true> - void checkLowerLimit(const F& from) const + template , bool> = true> + static constexpr int numValDigits(T value) { - if (from < std::numeric_limits::min()) - throw RangeException("Value too small."); + return numValDigits(static_cast(value)); } - template ::value, bool> = true> - void checkUpperLimit(const F& from) const + template , bool> = true> + static constexpr int numTypeDigits() { - if (std::is_floating_point::value) - { - if (from > std::numeric_limits::max()) - throw RangeException("Value too large."); - } - else - { - // Avoid clang -Wimplicit-int-float-conversion warning with an explicit cast. - if (from > static_cast(std::numeric_limits::max())) - throw RangeException("Value too large."); - } + return std::numeric_limits::digits; } - template ::value, bool> = true> - void checkLowerLimit(const F& from) const + template , bool> = true> + static constexpr int numTypeDigits() { - if (std::is_floating_point::value) - { - if (from < -std::numeric_limits::max()) - throw RangeException("Value too small."); - } - else + return numValDigits(std::numeric_limits::max()); + } + + template , bool> = true, + std::enable_if_t, bool> = true> + static bool isPrecisionLost(const F& from) + // Checks for loss of precision in integral -> floating point conversion. + { + return numValDigits(from) > numTypeDigits(); + } + + template , bool> = true> + static void checkUpperLimit(const F& from) + { + if (from > static_cast(std::numeric_limits::max())) + POCO_VAR_RANGE_EXCEPTION ("Value too big", from); + } + + template , bool> = true> + static void checkLowerLimit(const F& from) + { + if (from < static_cast(std::numeric_limits::min())) + POCO_VAR_RANGE_EXCEPTION ("Value too small", from); + } + + template , bool> = true> + static void checkUpperLimit(const F& from) + { + if ((from > static_cast(std::numeric_limits::max()))) + POCO_VAR_RANGE_EXCEPTION ("Value too big", from); + } + + template , bool> = true> + static void checkLowerLimit(const F& from) + { + if constexpr(std::is_floating_point_v) { - // Avoid clang -Wimplicit-int-float-conversion warning with an explicit cast. - if (from < static_cast(std::numeric_limits::min())) - throw RangeException("Value too small."); + if (static_cast(-std::numeric_limits::max()) > from) + POCO_VAR_RANGE_EXCEPTION ("Value too small", from); } + else if (from < static_cast(std::numeric_limits::min())) + POCO_VAR_RANGE_EXCEPTION ("Value too small", from); } }; @@ -731,6 +823,287 @@ class VarHolderImpl: public VarHolder return typeid(T); } + void convert(Int8& val) const + { + if constexpr (std::is_enum_v) + { + convertToSigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(Int16& val) const + { + if constexpr (std::is_enum_v) + { + convertToSigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(Int32& val) const + { + if constexpr (std::is_enum_v) + { + convertToSigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(Int64& val) const + { + if constexpr (std::is_enum_v) + { + convertToSigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(UInt8& val) const + { + if constexpr (std::is_enum_v) + { + convertToUnsigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(UInt16& val) const + { + if constexpr (std::is_enum_v) + { + convertToUnsigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(UInt32& val) const + { + if constexpr (std::is_enum_v) + { + convertToUnsigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(UInt64& val) const + { + if constexpr (std::is_enum_v) + { + convertToUnsigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + +#ifdef POCO_INT64_IS_LONG + + void convert(long long& val) const + { + if constexpr (std::is_enum_v) + { + convertToSigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(unsigned long long& val) const + { + if constexpr (std::is_enum_v) + { + convertToUnsigned(std::underlying_type_t(_val), val); + } + else + { + VarHolder::convert(val); + } + } + +#endif + + void convert(bool& val) const + { + if constexpr (std::is_enum_v) + { + val = (std::underlying_type_t(_val) != 0); + } + else + { + VarHolder::convert(val); + } + } + + void convert(float& val) const + { + if constexpr (std::is_enum_v) + { + val = static_cast(_val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(double& val) const + { + if constexpr (std::is_enum_v) + { + val = static_cast(_val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(char& val) const + { + if constexpr (std::is_enum_v) + { + val = static_cast(_val); + } + else + { + VarHolder::convert(val); + } + } + + void convert(std::string& val) const + { + if constexpr (std::is_enum_v) + { + val = NumberFormatter::format(std::underlying_type_t(_val)); + } + else + { + VarHolder::convert(val); + } + } + + void convert(Poco::UTF16String& val) const + { + if constexpr (std::is_enum_v) + { + std::string str = NumberFormatter::format(std::underlying_type_t(_val)); + Poco::UnicodeConverter::convert(str, val); + } + else + { + VarHolder::convert(val); + } + } + + bool isArray() const + { + if constexpr (std::is_enum_v) + { + return false; + } + else + { + return VarHolder::isArray(); + } + } + + bool isStruct() const + { + if constexpr (std::is_enum_v) + { + return false; + } + else + { + return VarHolder::isStruct(); + } + } + + bool isInteger() const + { + if constexpr (std::is_enum_v) + { + return std::numeric_limits>::is_integer; + } + else + { + return VarHolder::isInteger(); + } + } + + bool isSigned() const + { + if constexpr (std::is_enum_v) + { + return std::numeric_limits>::is_signed; + } + else + { + return VarHolder::isSigned(); + } + } + + bool isNumeric() const + { + if constexpr (std::is_enum_v) + { + return std::numeric_limits>::is_specialized; + } + else + { + return VarHolder::isNumeric(); + } + } + + bool isBoolean() const + { + if constexpr (std::is_enum_v) + { + return false; + } + else + { + return VarHolder::isBoolean(); + } + } + + bool isString() const + { + if constexpr (std::is_enum_v) + { + return false; + } + else + { + return VarHolder::isString(); + } + } + VarHolder* clone(Placeholder* pVarHolder = 0) const { return cloneHolder(pVarHolder, _val); @@ -828,12 +1201,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -984,12 +1357,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1137,12 +1510,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1289,12 +1662,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1456,12 +1829,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1608,12 +1981,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1760,12 +2133,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -1912,12 +2285,12 @@ class VarHolderImpl: public VarHolder void convert(float& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(double& val) const { - val = static_cast(_val); + convertToFP(_val, val); } void convert(char& val) const @@ -4320,10 +4693,10 @@ class VarHolderImpl: public VarHolder }; -typedef std::vector Vector; -typedef std::deque Deque; -typedef std::list List; -typedef Vector Array; +using Vector = std::vector; +using Deque = std::deque; +using List = std::list; +using Array = Vector; } } // namespace Poco::Dynamic diff --git a/Externals/poco/Foundation/include/Poco/Dynamic/VarIterator.h b/Externals/poco/Foundation/include/Poco/Dynamic/VarIterator.h index eb9129fbc66..ebf6c0853a5 100644 --- a/Externals/poco/Foundation/include/Poco/Dynamic/VarIterator.h +++ b/Externals/poco/Foundation/include/Poco/Dynamic/VarIterator.h @@ -69,6 +69,18 @@ class Foundation_API VarIterator bool operator != (const VarIterator& other) const; /// Inequality operator. + bool operator < (const VarIterator& other) const; + /// Less than operator. + + bool operator > (const VarIterator& other) const; + /// Greater than operator. + + bool operator <= (const VarIterator& other) const; + /// Less than or equal to operator. + + bool operator >= (const VarIterator& other) const; + /// Greater than or equal to operator. + Var& operator * () const; /// Returns value at the current position. @@ -138,6 +150,30 @@ inline bool VarIterator::operator != (const VarIterator& other) const } +inline bool VarIterator::operator < (const VarIterator& other) const +{ + return _position < other._position; +} + + +inline bool VarIterator::operator > (const VarIterator& other) const +{ + return _position > other._position; +} + + +inline bool VarIterator::operator <= (const VarIterator& other) const +{ + return _position <= other._position; +} + + +inline bool VarIterator::operator >= (const VarIterator& other) const +{ + return _position >= other._position; +} + + } } // namespace Poco::Dynamic diff --git a/Externals/poco/Foundation/include/Poco/Error.h b/Externals/poco/Foundation/include/Poco/Error.h index 935ee223437..8f8c37442ee 100644 --- a/Externals/poco/Foundation/include/Poco/Error.h +++ b/Externals/poco/Foundation/include/Poco/Error.h @@ -43,6 +43,9 @@ class Foundation_API Error static std::string getMessage(int errorCode); /// Utility function translating numeric error code to string. #endif + + static std::string getLastMessage(); + /// Utility function returning the last error message. }; diff --git a/Externals/poco/Foundation/include/Poco/Event.h b/Externals/poco/Foundation/include/Poco/Event.h index c59f29acd6e..b28c9866435 100644 --- a/Externals/poco/Foundation/include/Poco/Event.h +++ b/Externals/poco/Foundation/include/Poco/Event.h @@ -55,7 +55,7 @@ class Foundation_API Event: private EventImpl /// the event is automatically reset after /// a wait() successfully returns. - //@ deprecated + POCO_DEPRECATED("") explicit Event(bool autoReset); /// Please use Event::Event(EventType) instead. diff --git a/Externals/poco/Foundation/include/Poco/Exception.h b/Externals/poco/Foundation/include/Poco/Exception.h index d09d4ff9989..0ed44429944 100644 --- a/Externals/poco/Foundation/include/Poco/Exception.h +++ b/Externals/poco/Foundation/include/Poco/Exception.h @@ -103,6 +103,12 @@ class Foundation_API Exception: public std::exception int _code; }; +#if defined(_HAS_EXCEPTIONS) + // Size of Poco::Exception depends on the exception settings (like _HAS_EXCEPTIONS) + // that might influence size of std::exception from which Poco::Exception is derived from. + // It is expected that Poco libraries and application using Poco have the same settings. + static_assert(_HAS_EXCEPTIONS != 0); +#endif // // inlines @@ -228,6 +234,7 @@ POCO_DECLARE_EXCEPTION(Foundation_API, PropertyNotSupportedException, RuntimeExc POCO_DECLARE_EXCEPTION(Foundation_API, PoolOverflowException, RuntimeException) POCO_DECLARE_EXCEPTION(Foundation_API, NoPermissionException, RuntimeException) POCO_DECLARE_EXCEPTION(Foundation_API, OutOfMemoryException, RuntimeException) +POCO_DECLARE_EXCEPTION(Foundation_API, ResourceLimitException, RuntimeException) POCO_DECLARE_EXCEPTION(Foundation_API, DataException, RuntimeException) POCO_DECLARE_EXCEPTION(Foundation_API, DataFormatException, DataException) @@ -246,6 +253,7 @@ POCO_DECLARE_EXCEPTION(Foundation_API, CreateFileException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, OpenFileException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, WriteFileException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, ReadFileException, FileException) +POCO_DECLARE_EXCEPTION(Foundation_API, ExecuteFileException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, FileNotReadyException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, DirectoryNotEmptyException, FileException) POCO_DECLARE_EXCEPTION(Foundation_API, UnknownURISchemeException, RuntimeException) diff --git a/Externals/poco/Foundation/include/Poco/FIFOEvent.h b/Externals/poco/Foundation/include/Poco/FIFOEvent.h index f4c5007e7ee..6d8701ba7ca 100644 --- a/Externals/poco/Foundation/include/Poco/FIFOEvent.h +++ b/Externals/poco/Foundation/include/Poco/FIFOEvent.h @@ -26,9 +26,8 @@ namespace Poco { -//@ deprecated template -class FIFOEvent: public AbstractEvent < +class POCO_DEPRECATED("use BasicEvent") FIFOEvent: public AbstractEvent < TArgs, FIFOStrategy>, AbstractDelegate, diff --git a/Externals/poco/Foundation/include/Poco/FIFOStrategy.h b/Externals/poco/Foundation/include/Poco/FIFOStrategy.h index 577bb4ee29f..db837f0d74b 100644 --- a/Externals/poco/Foundation/include/Poco/FIFOStrategy.h +++ b/Externals/poco/Foundation/include/Poco/FIFOStrategy.h @@ -24,9 +24,8 @@ namespace Poco { -//@ deprecated template -class FIFOStrategy: public DefaultStrategy +class POCO_DEPRECATED("") FIFOStrategy: public DefaultStrategy /// Note: As of release 1.4.2, DefaultStrategy already /// implements FIFO behavior, so this class is provided /// for backwards compatibility only. diff --git a/Externals/poco/Foundation/include/Poco/File.h b/Externals/poco/Foundation/include/Poco/File.h index ba1cfe5a7cd..756f40c2c9e 100644 --- a/Externals/poco/Foundation/include/Poco/File.h +++ b/Externals/poco/Foundation/include/Poco/File.h @@ -54,7 +54,7 @@ class Foundation_API File: private FileImpl /// use the forward slash ("/") as directory separator. { public: - typedef FileSizeImpl FileSize; + using FileSize = FileSizeImpl; enum LinkType /// Type of link for linkTo(). @@ -84,7 +84,7 @@ class Foundation_API File: private FileImpl File(const File& file); /// Copy constructor. - virtual ~File(); + ~File() override; /// Destroys the file. File& operator = (const File& file); @@ -104,15 +104,30 @@ class Foundation_API File: private FileImpl const std::string& path() const; /// Returns the path. - + #if defined(POCO_OS_FAMILY_WINDOWS) const std::wstring& wpath() const; /// Returns the path. #endif + std::string absolutePath() const; + /// Returns absolute path. + /// Attempts to find the existing file + /// using curent work directory and the PATH + /// environment variable. + /// If the file doesn't exist, returns empty string. + bool exists() const; /// Returns true iff the file exists. + bool existsAnywhere() const; + /// If the file path is relative, searches + /// for the file in the current working directory + /// and the environment paths. + /// If the file path is absolute, the + /// functionality is identical to the + /// exists() call. + bool canRead() const; /// Returns true iff the file is readable. diff --git a/Externals/poco/Foundation/include/Poco/FileStream.h b/Externals/poco/Foundation/include/Poco/FileStream.h index 768364bbd6f..8b3b948032a 100644 --- a/Externals/poco/Foundation/include/Poco/FileStream.h +++ b/Externals/poco/Foundation/include/Poco/FileStream.h @@ -53,9 +53,19 @@ class Foundation_API FileIOS: public virtual std::ios FileIOS(); /// Creates the basic stream. - ~FileIOS(); + ~FileIOS() override; /// Destroys the stream. + virtual void open(const std::string& path, std::ios::openmode mode); + /// Opens the file specified by path, using the given mode. + /// + /// Throws a FileException (or a similar exception) if the file + /// does not exist or is not accessible for other reasons and + /// a new file cannot be created. + + void openHandle(NativeHandle handle, std::ios::openmode mode); + /// Takes ownership of the handle. + void close(); /// Closes the file stream. /// @@ -69,9 +79,12 @@ class Foundation_API FileIOS: public virtual std::ios NativeHandle nativeHandle() const; /// Returns native file descriptor handle - Poco::UInt64 size() const; + UInt64 size() const; /// Returns file size + void flushToDisk(); + /// Forces buffered data to be written to the disk + protected: FileStreamBuf _buf; }; @@ -102,10 +115,10 @@ class Foundation_API FileInputStream: public FileIOS, public std::istream /// Throws a FileNotFoundException (or a similar exception) if the file /// does not exist or is not accessible for other reasons. - ~FileInputStream(); + ~FileInputStream() override; /// Destroys the stream. - void open(const std::string& path, std::ios::openmode mode = std::ios::in); + void open(const std::string& path, std::ios::openmode mode = std::ios::in) override; /// Opens the file specified by path, using the given mode, which /// will always include std::ios::in (even if not specified). /// @@ -145,10 +158,10 @@ class Foundation_API FileOutputStream: public FileIOS, public std::ostream /// for std::ofstream, which is std::ios::out only. This is for backwards compatibility /// with earlier POCO versions. - ~FileOutputStream(); + ~FileOutputStream() override; /// Destroys the FileOutputStream. - void open(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::trunc); + void open(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::trunc) override; /// Opens the file specified by path, using the given mode, which /// always includes std::ios::out, even if not specified. /// @@ -190,10 +203,10 @@ class Foundation_API FileStream: public FileIOS, public std::iostream /// for std::fstream, which is std::ios::out only. This is for backwards compatibility /// with earlier POCO versions. - ~FileStream(); + ~FileStream() override; /// Destroys the FileOutputStream. - void open(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::in); + void open(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::in) override; /// Opens the file specified by path, using the given mode. /// /// Throws a FileException (or a similar exception) if the file diff --git a/Externals/poco/Foundation/include/Poco/FileStreamRWLock.h b/Externals/poco/Foundation/include/Poco/FileStreamRWLock.h new file mode 100644 index 00000000000..7227ed03d93 --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/FileStreamRWLock.h @@ -0,0 +1,204 @@ +// +// FileStreamRWLock.h +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Definition of the FileStreamRWLock class. +// +// Copyright (c) 2004-2024, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_FileStreamRWLock_INCLUDED +#define Foundation_FileStreamRWLock_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Exception.h" +#include "Poco/FileStream.h" +#include + +#if defined(POCO_OS_FAMILY_WINDOWS) +#include "Poco/FileStreamRWLock_WIN32.h" +#else +#include "Poco/FileStreamRWLock_POSIX.h" +#endif + + +namespace Poco { + + +class ScopedFStreamRWLock; +class ScopedFStreamReadRWLock; +class ScopedFStreamWriteRWLock; + + +class Foundation_API FileStreamRWLock: private FileStreamRWLockImpl + /// A reader writer lock on the file region allows multiple concurrent + /// process-readers or one exclusive process-writer. +{ +public: + using ScopedLock = ScopedFStreamRWLock; + using ScopedReadLock = ScopedFStreamReadRWLock; + using ScopedWriteLock = ScopedFStreamWriteRWLock; + + FileStreamRWLock(const FileStream &fs, Poco::UInt64 offset, Poco::UInt64 size); + /// Creates the Reader/Writer lock on the file region. + /// offset - from start of the file + /// size - size of the locker region + + ~FileStreamRWLock(); + /// Destroys the Reader/Writer lock on the file region. + + void readLock(); + /// Acquires a read lock. If another process currently holds a write lock, + /// waits until the write lock is released. + + bool tryReadLock(); + /// Tries to acquire a read lock. Immediately returns true if successful, or + /// false if another process currently holds a write lock. + + void writeLock(); + /// Acquires a write lock on the file region. If one or more other processes currently hold + /// locks, waits until all locks are released. + + bool tryWriteLock(); + /// Tries to acquire a write lock on the file region. Immediately returns true if successful, + /// or false if one or more other processes currently hold + /// locks. + + void unlock(); + /// Releases the read or write lock. + +private: + std::atomic_bool _locked = false; + FileStreamRWLock(const FileStreamRWLock&); + FileStreamRWLock& operator = (const FileStreamRWLock&); +}; + + +class Foundation_API ScopedFStreamRWLock + /// A variant of ScopedLock for reader/writer locks. +{ +public: + ScopedFStreamRWLock(FileStreamRWLock& rwl, bool write = false); + ~ScopedFStreamRWLock(); + +private: + FileStreamRWLock& _rwl; + + ScopedFStreamRWLock(); + ScopedFStreamRWLock(const ScopedFStreamRWLock&); + ScopedFStreamRWLock& operator = (const ScopedFStreamRWLock&); +}; + + +class Foundation_API ScopedFStreamReadRWLock : public ScopedFStreamRWLock + /// A variant of ScopedLock for reader locks. +{ +public: + ScopedFStreamReadRWLock(FileStreamRWLock& rwl); + ~ScopedFStreamReadRWLock(); +}; + + +class Foundation_API ScopedFStreamWriteRWLock : public ScopedFStreamRWLock + /// A variant of ScopedLock for writer locks. +{ +public: + ScopedFStreamWriteRWLock(FileStreamRWLock& rwl); + ~ScopedFStreamWriteRWLock(); +}; + + +// +// inlines +// +inline void FileStreamRWLock::readLock() +{ + readLockImpl(); + _locked = true; +} + + +inline bool FileStreamRWLock::tryReadLock() +{ + bool locked = tryReadLockImpl(); + if (locked) _locked = true; // assign only if success lock + return locked; +} + + +inline void FileStreamRWLock::writeLock() +{ + writeLockImpl(); + _locked = true; +} + + +inline bool FileStreamRWLock::tryWriteLock() +{ + bool locked = tryWriteLockImpl(); + if (locked) _locked = true; // assign only if success lock + return locked; +} + + +inline void FileStreamRWLock::unlock() +{ + unlockImpl(); + _locked = false; +} + + +inline ScopedFStreamRWLock::ScopedFStreamRWLock(FileStreamRWLock& rwl, bool write): _rwl(rwl) +{ + if (write) + _rwl.writeLock(); + else + _rwl.readLock(); +} + + +inline ScopedFStreamRWLock::~ScopedFStreamRWLock() +{ + try + { + _rwl.unlock(); + } + catch (...) + { + poco_unexpected(); + } +} + + +inline ScopedFStreamReadRWLock::ScopedFStreamReadRWLock(FileStreamRWLock& rwl): ScopedFStreamRWLock(rwl, false) +{ +} + + +inline ScopedFStreamReadRWLock::~ScopedFStreamReadRWLock() +{ +} + + +inline ScopedFStreamWriteRWLock::ScopedFStreamWriteRWLock(FileStreamRWLock& rwl): ScopedFStreamRWLock(rwl, true) +{ +} + + +inline ScopedFStreamWriteRWLock::~ScopedFStreamWriteRWLock() +{ +} + + +} // namespace Poco + + +#endif // Foundation_FileStreamRWLock_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/FileStreamRWLock_POSIX.h b/Externals/poco/Foundation/include/Poco/FileStreamRWLock_POSIX.h new file mode 100644 index 00000000000..9bcd38624ac --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/FileStreamRWLock_POSIX.h @@ -0,0 +1,115 @@ +// +// FileStreamRWLock_POSIX.h +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Definition of the FileStreamRWLockImpl class for POSIX FileStream. +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_FileStreamRWLock_POSIX_INCLUDED +#define Foundation_FileStreamRWLock_POSIX_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Exception.h" +#include "Poco/FileStream.h" +#include +#include + + +namespace Poco { + + +class Foundation_API FileStreamRWLockImpl +{ +protected: + FileStreamRWLockImpl(const FileStream::NativeHandle &fd, Poco::UInt64 offset, Poco::UInt64 size); + ~FileStreamRWLockImpl(); + void readLockImpl(); + bool tryReadLockImpl(); + void writeLockImpl(); + bool tryWriteLockImpl(); + void unlockImpl(); + +private: + FileStream::NativeHandle _fd; + struct flock _flock; + int _lockMode; +}; + + +// +// inlines +// +inline void FileStreamRWLockImpl::readLockImpl() +{ + _flock.l_type = F_RDLCK; + _lockMode = F_SETLKW; + int rc = fcntl(_fd, _lockMode, &_flock); + if (rc == -1) + throw SystemException("cannot lock reader lock", errno); +} + + +inline bool FileStreamRWLockImpl::tryReadLockImpl() +{ + _flock.l_type = F_RDLCK; + _lockMode = F_SETLK; + int rc = fcntl(_fd, _lockMode, &_flock); + if (rc == 0) + return true; + else if (errno == EAGAIN || errno == EACCES) + return false; + else + throw SystemException("cannot lock try-reader lock", errno); + +} + + +inline void FileStreamRWLockImpl::writeLockImpl() +{ + _flock.l_type = F_WRLCK; + _lockMode = F_SETLKW; + int rc = fcntl(_fd, _lockMode, &_flock); + if (rc == -1) + throw SystemException("cannot lock writer lock", errno); +} + + +inline bool FileStreamRWLockImpl::tryWriteLockImpl() +{ + _flock.l_type = F_WRLCK; + _lockMode = F_SETLK; + int rc = fcntl(_fd, _lockMode, &_flock); + if (rc != -1) + return true; + else if (errno == EAGAIN || errno == EACCES) + return false; + else + throw SystemException("cannot lock writer lock", errno); + +} + + +inline void FileStreamRWLockImpl::unlockImpl() +{ + _flock.l_type = F_UNLCK; + _lockMode = F_SETLKW; + int rc = fcntl(_fd, _lockMode, &_flock); + if (rc == -1) + throw SystemException("cannot unlock", errno); +} + + +} // namespace Poco + + +#endif // Foundation_FileStreamRWLock_POSIX_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/FileStreamRWLock_WIN32.h b/Externals/poco/Foundation/include/Poco/FileStreamRWLock_WIN32.h new file mode 100644 index 00000000000..537b19ae2b8 --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/FileStreamRWLock_WIN32.h @@ -0,0 +1,134 @@ +// +// FileStreamRWLock_WIN32.h +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Definition of the FileStreamRWLockImpl class for WIN32 FileStream. +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_FileStreamRWLock_WIN32_INCLUDED +#define Foundation_FileStreamRWLock_WIN32_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Exception.h" +#include "Poco/FileStream.h" +#include + +namespace Poco { + +struct LockMode +{ + static constexpr DWORD READ = 0; + static constexpr DWORD WRITE = LOCKFILE_EXCLUSIVE_LOCK; + static constexpr DWORD TRY_READ = LOCKFILE_FAIL_IMMEDIATELY; + static constexpr DWORD TRY_WRITE = (LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY); +}; + +class Foundation_API FileStreamRWLockImpl +{ +protected: + FileStreamRWLockImpl(const FileStream::NativeHandle &fd, Poco::UInt64 offset, Poco::UInt64 size); + ~FileStreamRWLockImpl(); + void readLockImpl(); + bool tryReadLockImpl(); + void writeLockImpl(); + bool tryWriteLockImpl(); + void unlockImpl(); + +private: + FileStream::NativeHandle _fd; + OVERLAPPED _overlapped; + LARGE_INTEGER _size; +}; + + +// +// inlines +// +inline void FileStreamRWLockImpl::readLockImpl() +{ + BOOL fSuccess = LockFileEx(_fd, LockMode::READ, 0, _size.LowPart, _size.HighPart, &_overlapped); + if (!fSuccess) + { + throw SystemException("cannot lock reader lock", GetLastError()); + } +} + + +inline bool FileStreamRWLockImpl::tryReadLockImpl() +{ + BOOL fSuccess = LockFileEx(_fd, LockMode::TRY_READ, 0, _size.LowPart, _size.HighPart, &_overlapped); + if (fSuccess) + { + return true; + } + else + { + auto lastError = GetLastError(); + if (lastError == ERROR_IO_PENDING || lastError == ERROR_LOCK_VIOLATION) + { + return false; + } + else + { + throw SystemException("cannot lock try-reader lock", lastError); + } + } +} + + +inline void FileStreamRWLockImpl::writeLockImpl() +{ + BOOL fSuccess = LockFileEx(_fd, LockMode::WRITE, 0, _size.LowPart, _size.HighPart, &_overlapped); + if (!fSuccess) + { + throw SystemException("cannot lock writer lock", GetLastError()); + } +} + + +inline bool FileStreamRWLockImpl::tryWriteLockImpl() +{ + BOOL fSuccess = LockFileEx(_fd, LockMode::TRY_WRITE, 0, _size.LowPart, _size.HighPart, &_overlapped); + if (fSuccess) + { + return true; + } + else + { + auto lastError = GetLastError(); + if (lastError == ERROR_IO_PENDING || lastError == ERROR_LOCK_VIOLATION) + { + return false; + } + else + { + throw SystemException("cannot lock try-writer lock", lastError); + } + } +} + + +inline void FileStreamRWLockImpl::unlockImpl() +{ + BOOL fSuccess = UnlockFileEx(_fd, 0, _size.LowPart, _size.HighPart, &_overlapped); + if (!fSuccess) + { + throw SystemException("cannot unlock ", GetLastError()); + } +} + + +} // namespace Poco + + +#endif // Foundation_FileStreamRWLock_WIN32_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/FileStream_POSIX.h b/Externals/poco/Foundation/include/Poco/FileStream_POSIX.h index 8e7ef8fb29c..73458353d3a 100644 --- a/Externals/poco/Foundation/include/Poco/FileStream_POSIX.h +++ b/Externals/poco/Foundation/include/Poco/FileStream_POSIX.h @@ -36,26 +36,38 @@ class Foundation_API FileStreamBuf: public BufferedBidirectionalStreamBuf FileStreamBuf(); /// Creates a FileStreamBuf. - ~FileStreamBuf(); + ~FileStreamBuf() override; /// Destroys the FileStream. void open(const std::string& path, std::ios::openmode mode); /// Opens the given file in the given mode. + void openHandle(NativeHandle fd, std::ios::openmode mode); + /// Take ownership of the given file descriptor. + bool close(); /// Closes the File stream buffer. Returns true if successful, /// false otherwise. - std::streampos seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode = std::ios::in | std::ios::out); + bool resizeBuffer(std::streamsize bufferSize) override; + /// Resizes internal buffer. Minimum size is BUFFER_SIZE. + /// Minimum is used when requested size is smaller. + /// Buffer can be resized only when the file is not open. + /// Returns true if resize succeeded. + + std::streampos seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode = std::ios::in | std::ios::out) override; /// Change position by offset, according to way and mode. - std::streampos seekpos(std::streampos pos, std::ios::openmode mode = std::ios::in | std::ios::out); + std::streampos seekpos(std::streampos pos, std::ios::openmode mode = std::ios::in | std::ios::out) override; /// Change to specified position, according to mode. + void flushToDisk(); + /// Forces buffered data to be written to the disk + NativeHandle nativeHandle() const; /// Returns native file descriptor handle - Poco::UInt64 size() const; + UInt64 size() const; /// Returns file size protected: @@ -64,13 +76,13 @@ class Foundation_API FileStreamBuf: public BufferedBidirectionalStreamBuf BUFFER_SIZE = 4096 }; - int readFromDevice(char* buffer, std::streamsize length); - int writeToDevice(const char* buffer, std::streamsize length); + int readFromDevice(char* buffer, std::streamsize length) override; + int writeToDevice(const char* buffer, std::streamsize length) override; private: std::string _path; NativeHandle _fd; - std::streamoff _pos; + std::streamoff _pos {0}; }; diff --git a/Externals/poco/Foundation/include/Poco/FileStream_WIN32.h b/Externals/poco/Foundation/include/Poco/FileStream_WIN32.h index d26f1ffed05..f4b8c15b2ba 100644 --- a/Externals/poco/Foundation/include/Poco/FileStream_WIN32.h +++ b/Externals/poco/Foundation/include/Poco/FileStream_WIN32.h @@ -25,7 +25,6 @@ namespace Poco { - class Foundation_API FileStreamBuf: public BufferedBidirectionalStreamBuf /// This stream buffer handles Fileio { @@ -41,16 +40,28 @@ class Foundation_API FileStreamBuf: public BufferedBidirectionalStreamBuf void open(const std::string& path, std::ios::openmode mode); /// Opens the given file in the given mode. + void openHandle(NativeHandle handle, std::ios::openmode mode); + /// Take ownership of the given HANDLE. + bool close(); /// Closes the File stream buffer. Returns true if successful, /// false otherwise. - std::streampos seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode = std::ios::in | std::ios::out); + bool resizeBuffer(std::streamsize bufferSize) override; + /// Resizes internal buffer. Minimum size is BUFFER_SIZE. + /// Minimum is used when requested size is smaller. + /// Buffer can be resized only when the file is not open. + /// Returns true if resize succeeded. + + std::streampos seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode = std::ios::in | std::ios::out) override; /// change position by offset, according to way and mode - std::streampos seekpos(std::streampos pos, std::ios::openmode mode = std::ios::in | std::ios::out); + std::streampos seekpos(std::streampos pos, std::ios::openmode mode = std::ios::in | std::ios::out) override; /// change to specified position, according to mode + void flushToDisk(); + /// Forces buffered data to be written to the disk + NativeHandle nativeHandle() const; /// Returns native file descriptor handle @@ -63,13 +74,13 @@ class Foundation_API FileStreamBuf: public BufferedBidirectionalStreamBuf BUFFER_SIZE = 4096 }; - int readFromDevice(char* buffer, std::streamsize length); - int writeToDevice(const char* buffer, std::streamsize length); + int readFromDevice(char* buffer, std::streamsize length) override; + int writeToDevice(const char* buffer, std::streamsize length) override; private: std::string _path; NativeHandle _handle; - UInt64 _pos; + UInt64 _pos {0}; }; diff --git a/Externals/poco/Foundation/include/Poco/File_UNIX.h b/Externals/poco/Foundation/include/Poco/File_UNIX.h index 46ee3202819..8c3c35207da 100644 --- a/Externals/poco/Foundation/include/Poco/File_UNIX.h +++ b/Externals/poco/Foundation/include/Poco/File_UNIX.h @@ -19,6 +19,7 @@ #include "Poco/Foundation.h" +#include "Poco/Timestamp.h" namespace Poco { @@ -32,7 +33,7 @@ class FileImpl OPT_FAIL_ON_OVERWRITE_IMPL = 0x01 }; - typedef UInt64 FileSizeImpl; + using FileSizeImpl = UInt64; FileImpl(); FileImpl(const std::string& path); @@ -40,10 +41,11 @@ class FileImpl void swapImpl(FileImpl& file); void setPathImpl(const std::string& path); const std::string& getPathImpl() const; + std::string getExecutablePathImpl() const; bool existsImpl() const; bool canReadImpl() const; bool canWriteImpl() const; - bool canExecuteImpl() const; + bool canExecuteImpl(const std::string& absolutePath) const; bool isFileImpl() const; bool isDirectoryImpl() const; bool isLinkImpl() const; diff --git a/Externals/poco/Foundation/include/Poco/File_VX.h b/Externals/poco/Foundation/include/Poco/File_VX.h index 8b2f909732e..ac99930e27c 100644 --- a/Externals/poco/Foundation/include/Poco/File_VX.h +++ b/Externals/poco/Foundation/include/Poco/File_VX.h @@ -19,7 +19,7 @@ #include "Poco/Foundation.h" - +#include "Poco/Timestamp.h" namespace Poco { @@ -32,7 +32,7 @@ class FileImpl OPT_FAIL_ON_OVERWRITE_IMPL = 0x01 }; - typedef UInt64 FileSizeImpl; + using FileSizeImpl = UInt64; FileImpl(); FileImpl(const std::string& path); @@ -40,10 +40,11 @@ class FileImpl void swapImpl(FileImpl& file); void setPathImpl(const std::string& path); const std::string& getPathImpl() const; + std::string getExecutablePathImpl() const; bool existsImpl() const; bool canReadImpl() const; bool canWriteImpl() const; - bool canExecuteImpl() const; + bool canExecuteImpl(const std::string& absolutePath) const; bool isFileImpl() const; bool isDirectoryImpl() const; bool isLinkImpl() const; diff --git a/Externals/poco/Foundation/include/Poco/File_WIN32U.h b/Externals/poco/Foundation/include/Poco/File_WIN32U.h index ed79ced2ec5..1dc79273cf0 100644 --- a/Externals/poco/Foundation/include/Poco/File_WIN32U.h +++ b/Externals/poco/Foundation/include/Poco/File_WIN32U.h @@ -33,7 +33,7 @@ class Foundation_API FileImpl OPT_FAIL_ON_OVERWRITE_IMPL = 0x01 }; - typedef UInt64 FileSizeImpl; + using FileSizeImpl = UInt64; FileImpl(); FileImpl(const std::string& path); @@ -41,11 +41,12 @@ class Foundation_API FileImpl void swapImpl(FileImpl& file); void setPathImpl(const std::string& path); const std::string& getPathImpl() const; + std::string getExecutablePathImpl() const; const std::wstring& getPathWImpl() const; bool existsImpl() const; bool canReadImpl() const; bool canWriteImpl() const; - bool canExecuteImpl() const; + bool canExecuteImpl(const std::string& absolutePath) const; bool isFileImpl() const; bool isDirectoryImpl() const; bool isLinkImpl() const; diff --git a/Externals/poco/Foundation/include/Poco/Format.h b/Externals/poco/Foundation/include/Poco/Format.h index d82b107be64..2334b11a050 100644 --- a/Externals/poco/Foundation/include/Poco/Format.h +++ b/Externals/poco/Foundation/include/Poco/Format.h @@ -63,6 +63,7 @@ std::string Foundation_API format(const std::string& fmt, const Any& value); /// * E signed floating-point value in the form [-]d.ddddE[]dd[d] /// * f signed floating-point value in the form [-]dddd.dddd /// * s std::string + /// * v std::string_view /// * z std::size_t /// /// The following flags are supported: diff --git a/Externals/poco/Foundation/include/Poco/Foundation.h b/Externals/poco/Foundation/include/Poco/Foundation.h index 139a93d7560..9f51c47540b 100644 --- a/Externals/poco/Foundation/include/Poco/Foundation.h +++ b/Externals/poco/Foundation/include/Poco/Foundation.h @@ -141,32 +141,22 @@ using namespace std::literals; #define POCO_DO_JOIN(X, Y) POCO_DO_JOIN2(X, Y) #define POCO_DO_JOIN2(X, Y) X##Y - -// -// POCO_DEPRECATED // -// A macro expanding to a compiler-specific clause to -// mark a class or function as deprecated. -// -#if defined(POCO_NO_DEPRECATED) -#define POCO_DEPRECATED -#elif defined(_GNUC_) -#define POCO_DEPRECATED __attribute__((deprecated)) -#elif defined(__clang__) -#define POCO_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) -#define POCO_DEPRECATED __declspec(deprecated) -#else -#define POCO_DEPRECATED -#endif +// MS Visual Studio can use type long for __LINE__ macro +// when /ZI compilation flag is used - https://learn.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170#zi-1 +// This breaks some poco interfaces, for ex. logger +// We should fix type for line number +namespace Poco { + +using LineNumber = decltype(__LINE__); +} // // Pull in basic definitions // #include "Poco/Bugcheck.h" #include "Poco/Types.h" -#include #endif // Foundation_Foundation_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/HashFunction.h b/Externals/poco/Foundation/include/Poco/HashFunction.h index c451d0699d3..3daabfe72d3 100644 --- a/Externals/poco/Foundation/include/Poco/HashFunction.h +++ b/Externals/poco/Foundation/include/Poco/HashFunction.h @@ -25,9 +25,8 @@ namespace Poco { -//@ deprecated template -struct HashFunction +struct POCO_DEPRECATED("use Hash") HashFunction /// A generic hash function. { UInt32 operator () (T key, UInt32 maxValue) const @@ -38,9 +37,8 @@ struct HashFunction }; -//@ deprecated template <> -struct HashFunction +struct POCO_DEPRECATED("use Hash") HashFunction /// A generic hash function. { UInt32 operator () (const std::string& key, UInt32 maxValue) const diff --git a/Externals/poco/Foundation/include/Poco/HashMap.h b/Externals/poco/Foundation/include/Poco/HashMap.h index 63def8bf9e6..418bdfba0e7 100644 --- a/Externals/poco/Foundation/include/Poco/HashMap.h +++ b/Externals/poco/Foundation/include/Poco/HashMap.h @@ -85,26 +85,23 @@ class HashMap /// A HashMap can be used just like a std::map. { public: - typedef Key KeyType; - typedef Mapped MappedType; - typedef Mapped& Reference; - typedef const Mapped& ConstReference; - typedef Mapped* Pointer; - typedef const Mapped* ConstPointer; + using KeyType = Key; + using MappedType = Mapped; + using Reference = Mapped &; + using ConstReference = const Mapped &; + using Pointer = Mapped *; + using ConstPointer = const Mapped *; - typedef HashMapEntry ValueType; - typedef std::pair PairType; + using ValueType = HashMapEntry; + using PairType = std::pair; - typedef HashMapEntryHash HashType; - typedef LinearHashTable HashTable; + using HashType = HashMapEntryHash; + using HashTable = LinearHashTable; - typedef typename HashTable::Iterator Iterator; - typedef typename HashTable::ConstIterator ConstIterator; + using Iterator = typename HashTable::Iterator; + using ConstIterator = typename HashTable::ConstIterator; - HashMap() - /// Creates an empty HashMap. - { - } + HashMap() = default; HashMap(std::size_t initialReserve): _table(initialReserve) diff --git a/Externals/poco/Foundation/include/Poco/HashStatistic.h b/Externals/poco/Foundation/include/Poco/HashStatistic.h index b2541ee2304..4d1a2fa2a34 100644 --- a/Externals/poco/Foundation/include/Poco/HashStatistic.h +++ b/Externals/poco/Foundation/include/Poco/HashStatistic.h @@ -24,8 +24,8 @@ namespace Poco { +class POCO_DEPRECATED("") HashStatistic; -//@ deprecated class Foundation_API HashStatistic /// HashStatistic class bundles statistical information on the current state of a HashTable { diff --git a/Externals/poco/Foundation/include/Poco/HashTable.h b/Externals/poco/Foundation/include/Poco/HashTable.h index 259ce8da34b..b4b4eed5ee5 100644 --- a/Externals/poco/Foundation/include/Poco/HashTable.h +++ b/Externals/poco/Foundation/include/Poco/HashTable.h @@ -31,9 +31,8 @@ namespace Poco { -//@ deprecated template > -class HashTable +class POCO_DEPRECATED("use LinearHashTable") HashTable /// A HashTable stores a key value pair that can be looked up via a hashed key. /// /// Collision handling is done via overflow maps(!). With small hash tables performance of this diff --git a/Externals/poco/Foundation/include/Poco/InflatingStream.h b/Externals/poco/Foundation/include/Poco/InflatingStream.h index 61064dc87cc..0a01d121da3 100644 --- a/Externals/poco/Foundation/include/Poco/InflatingStream.h +++ b/Externals/poco/Foundation/include/Poco/InflatingStream.h @@ -22,11 +22,8 @@ #include "Poco/BufferedStreamBuf.h" #include #include -#if defined(POCO_UNBUNDLED) -#include -#else -#include "Poco/zlib.h" -#endif + +struct z_stream_s; namespace Poco { @@ -92,12 +89,12 @@ class Foundation_API InflatingStreamBuf: public BufferedStreamBuf INFLATE_BUFFER_SIZE = 32768 }; - std::istream* _pIstr; - std::ostream* _pOstr; - char* _buffer; - z_stream _zstr; - bool _eof; - bool _check; + std::istream* _pIstr; + std::ostream* _pOstr; + char* _buffer; + z_stream_s* _pZstr; + bool _eof; + bool _check; }; diff --git a/Externals/poco/Foundation/include/Poco/JSONFormatter.h b/Externals/poco/Foundation/include/Poco/JSONFormatter.h new file mode 100644 index 00000000000..5edc6e16d6b --- /dev/null +++ b/Externals/poco/Foundation/include/Poco/JSONFormatter.h @@ -0,0 +1,109 @@ +// +// JSONFormatter.h +// +// Library: Foundation +// Package: Logging +// Module: JSONFormatter +// +// Definition of the JSONFormatter class. +// +// Copyright (c) 2024, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_JSONFormatter_INCLUDED +#define Foundation_JSONFormatter_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Formatter.h" +#include "Poco/Message.h" +#include + + +namespace Poco { + + +class Foundation_API JSONFormatter: public Formatter + /// This formatter formats log messages as compact + /// (no unnecessary whitespace) single-line JSON strings. + /// + /// The following JSON schema is used: + /// { + /// "timestamp": "2024-09-26T13:41:23.324461Z", + /// "source": "sample", + /// "level": "information", + /// "message": "This is a test message.", + /// "thread": 12, + /// "file": "source.cpp", + /// "line": 456, + /// "params": { + /// "prop1": "value1" + /// } + /// } + /// + /// The "file" and "line" properties will only be included if the log + /// message contains a file name and line number. + /// + /// The "params" object will only be included if custom parameters + /// have been added to the Message. +{ +public: + using Ptr = AutoPtr; + + JSONFormatter() = default; + /// Creates a JSONFormatter. + + ~JSONFormatter() = default; + /// Destroys the JSONFormatter. + + void format(const Message& msg, std::string& text); + /// Formats the message as a JSON string. + + void setProperty(const std::string& name, const std::string& value); + /// Sets the property with the given name to the given value. + /// + /// The following properties are supported: + /// + /// * times: Specifies whether times are adjusted for local time + /// or taken as they are in UTC. Supported values are "local" and "UTC". + /// * thread: Specifies the value given for the thread. Can be + /// "none" (excluded), "name" (thread name), "id" (POCO thread ID) or "osid" + /// (operating system thread ID). + /// + /// If any other property name is given, a PropertyNotSupported + /// exception is thrown. + + std::string getProperty(const std::string& name) const; + /// Returns the value of the property with the given name or + /// throws a PropertyNotSupported exception if the given + /// name is not recognized. + + static const std::string PROP_TIMES; + static const std::string PROP_THREAD; + +protected: + std::string getThread(const Message& message) const; + static const std::string& getPriorityName(int prio); + + enum ThreadFormat + { + JSONF_THREAD_NONE = 0, + JSONF_THREAD_NAME = 1, + JSONF_THREAD_ID = 2, + JSONF_THREAD_OS_ID = 3 + }; + +private: + bool _localTime = false; + ThreadFormat _threadFormat = JSONF_THREAD_ID; +}; + + +} // namespace Poco + + +#endif // Foundation_JSONFormatter_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/LinearHashTable.h b/Externals/poco/Foundation/include/Poco/LinearHashTable.h index 5d7c1f85686..e35e8bfa56b 100644 --- a/Externals/poco/Foundation/include/Poco/LinearHashTable.h +++ b/Externals/poco/Foundation/include/Poco/LinearHashTable.h @@ -20,7 +20,6 @@ #include "Poco/Foundation.h" #include "Poco/Hash.h" -#include #include #include #include @@ -55,16 +54,16 @@ class LinearHashTable /// elements in a bucket should not exceed 3. { public: - typedef Value ValueType; - typedef Value& Reference; - typedef const Value& ConstReference; - typedef Value* Pointer; - typedef const Value* ConstPointer; - typedef HashFunc Hash; - typedef std::vector Bucket; - typedef std::vector BucketVec; - typedef typename Bucket::iterator BucketIterator; - typedef typename BucketVec::iterator BucketVecIterator; + using ValueType = Value; + using Reference = Value &; + using ConstReference = const Value &; + using Pointer = Value *; + using ConstPointer = const Value *; + using Hash = HashFunc; + using Bucket = std::vector; + using BucketVec = std::vector; + using BucketIterator = typename Bucket::iterator; + using BucketVecIterator = typename BucketVec::iterator; class ConstIterator { @@ -176,9 +175,7 @@ class LinearHashTable class Iterator: public ConstIterator { public: - Iterator() - { - } + Iterator() = default; Iterator(const BucketVecIterator& vecIt, const BucketVecIterator& endIt, const BucketIterator& buckIt): ConstIterator(vecIt, endIt, buckIt) @@ -238,10 +235,7 @@ class LinearHashTable friend class LinearHashTable; }; - LinearHashTable(std::size_t initialReserve = 64): - _split(0), - _front(1), - _size(0) + LinearHashTable(std::size_t initialReserve = 64) /// Creates the LinearHashTable, using the given initialReserve. { _buckets.reserve(calcSize(initialReserve)); @@ -257,10 +251,8 @@ class LinearHashTable { } - ~LinearHashTable() + ~LinearHashTable() = default; /// Destroys the LinearHashTable. - { - } LinearHashTable& operator = (const LinearHashTable& table) /// Assigns another LinearHashTable. @@ -495,9 +487,9 @@ class LinearHashTable // Evil hack: _buckets must be mutable because both ConstIterator and Iterator hold // ordinary iterator's (not const_iterator's). mutable BucketVec _buckets; - std::size_t _split; - std::size_t _front; - std::size_t _size; + std::size_t _split{0}; + std::size_t _front{1}; + std::size_t _size{0}; HashFunc _hash; }; diff --git a/Externals/poco/Foundation/include/Poco/LocalDateTime.h b/Externals/poco/Foundation/include/Poco/LocalDateTime.h index 5562309fef3..440e1735d18 100644 --- a/Externals/poco/Foundation/include/Poco/LocalDateTime.h +++ b/Externals/poco/Foundation/include/Poco/LocalDateTime.h @@ -67,7 +67,6 @@ class Foundation_API LocalDateTime /// * millisecond is from 0 to 999. /// * microsecond is from 0 to 999. - //@ deprecated LocalDateTime(int tzd, int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond); /// Creates a LocalDateTime for the given Gregorian date and time in the /// time zone denoted by the time zone differential in tzd. @@ -85,13 +84,11 @@ class Foundation_API LocalDateTime /// Creates a LocalDateTime from the UTC time given in dateTime, /// using the time zone differential of the current time zone. - //@ deprecated LocalDateTime(int tzd, const DateTime& dateTime); /// Creates a LocalDateTime from the UTC time given in dateTime, /// using the given time zone differential. Adjusts dateTime /// for the given time zone differential. - //@ deprecated LocalDateTime(int tzd, const DateTime& dateTime, bool adjust); /// Creates a LocalDateTime from the UTC time given in dateTime, /// using the given time zone differential. If adjust is true, @@ -100,7 +97,6 @@ class Foundation_API LocalDateTime LocalDateTime(double julianDay); /// Creates a LocalDateTime for the given Julian day in the local time zone. - //@ deprecated LocalDateTime(int tzd, double julianDay); /// Creates a LocalDateTime for the given Julian day in the time zone /// denoted by the time zone differential in tzd. @@ -131,7 +127,6 @@ class Foundation_API LocalDateTime /// * millisecond is from 0 to 999. /// * microsecond is from 0 to 999. - //@ deprecated LocalDateTime& assign(int tzd, int year, int month, int day, int hour, int minute, int second, int millisecond, int microseconds); /// Assigns a Gregorian local date and time in the time zone denoted by /// the time zone differential in tzd. @@ -145,7 +140,6 @@ class Foundation_API LocalDateTime /// * millisecond is from 0 to 999. /// * microsecond is from 0 to 999. - //@ deprecated LocalDateTime& assign(int tzd, double julianDay); /// Assigns a Julian day in the time zone denoted by the /// time zone differential in tzd. diff --git a/Externals/poco/Foundation/include/Poco/LogFile.h b/Externals/poco/Foundation/include/Poco/LogFile.h index 3e1ec21f4e6..cbd200b2246 100644 --- a/Externals/poco/Foundation/include/Poco/LogFile.h +++ b/Externals/poco/Foundation/include/Poco/LogFile.h @@ -17,21 +17,14 @@ #ifndef Foundation_LogFile_INCLUDED #define Foundation_LogFile_INCLUDED - #include "Poco/Foundation.h" - - -#if defined(POCO_OS_FAMILY_WINDOWS) -#include "Poco/LogFile_WIN32U.h" -#else -#include "Poco/LogFile_STD.h" -#endif - +#include "Poco/Timestamp.h" +#include "Poco/FileStream.h" namespace Poco { -class Foundation_API LogFile: public LogFileImpl +class Foundation_API LogFile /// This class is used by FileChannel to work /// with a log file. { @@ -55,34 +48,13 @@ class Foundation_API LogFile: public LogFileImpl const std::string& path() const; /// Returns the path given in the constructor. -}; - - -// -// inlines -// -inline void LogFile::write(const std::string& text, bool flush) -{ - writeImpl(text, flush); -} - -inline UInt64 LogFile::size() const -{ - return sizeImpl(); -} - - -inline Timestamp LogFile::creationDate() const -{ - return creationDateImpl(); -} - - -inline const std::string& LogFile::path() const -{ - return pathImpl(); -} +private: + std::string _path; + mutable Poco::FileOutputStream _str; + Timestamp _creationDate; + UInt64 _size; +}; } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/LogFile_STD.h b/Externals/poco/Foundation/include/Poco/LogFile_STD.h deleted file mode 100644 index a178cb0babf..00000000000 --- a/Externals/poco/Foundation/include/Poco/LogFile_STD.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// LogFile_STD.h -// -// Library: Foundation -// Package: Logging -// Module: LogFile -// -// Definition of the LogFileImpl class using iostreams. -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_LogFile_STD_INCLUDED -#define Foundation_LogFile_STD_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/Timestamp.h" -#include "Poco/FileStream.h" - - -namespace Poco { - - -class Foundation_API LogFileImpl - /// The implementation of LogFile for non-Windows platforms. - /// The native filesystem APIs are used for - /// total control over locking behavior. -{ -public: - LogFileImpl(const std::string& path); - ~LogFileImpl(); - void writeImpl(const std::string& text, bool flush); - UInt64 sizeImpl() const; - Timestamp creationDateImpl() const; - const std::string& pathImpl() const; - -private: - std::string _path; - mutable Poco::FileOutputStream _str; - Timestamp _creationDate; - UInt64 _size; -}; - - -} // namespace Poco - - -#endif // Foundation_LogFile_STD_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/LogFile_WIN32U.h b/Externals/poco/Foundation/include/Poco/LogFile_WIN32U.h deleted file mode 100644 index ed558a7da70..00000000000 --- a/Externals/poco/Foundation/include/Poco/LogFile_WIN32U.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// LogFile_WIN32U.h -// -// Library: Foundation -// Package: Logging -// Module: LogFile -// -// Definition of the LogFileImpl class using the Windows file APIs. -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_LogFile_WIN32U_INCLUDED -#define Foundation_LogFile_WIN32U_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/Timestamp.h" -#include "Poco/UnWindows.h" - - -namespace Poco { - - -class Foundation_API LogFileImpl - /// The implementation of LogFile for Windows. - /// The native filesystem APIs are used for - /// total control over locking behavior. -{ -public: - LogFileImpl(const std::string& path); - ~LogFileImpl(); - void writeImpl(const std::string& text, bool flush); - UInt64 sizeImpl() const; - Timestamp creationDateImpl() const; - const std::string& pathImpl() const; - -private: - void createFile(); - - std::string _path; - HANDLE _hFile; - Timestamp _creationDate; -}; - - -} // namespace Poco - - -#endif // Foundation_LogFile_WIN32U_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/Logger.h b/Externals/poco/Foundation/include/Poco/Logger.h index 84e3b985a58..027ccc70baa 100644 --- a/Externals/poco/Foundation/include/Poco/Logger.h +++ b/Externals/poco/Foundation/include/Poco/Logger.h @@ -130,7 +130,7 @@ class Foundation_API Logger: public Channel void log(const Exception& exc); /// Logs the given exception with priority PRIO_ERROR. - void log(const Exception& exc, const char* file, int line); + void log(const Exception& exc, const char* file, LineNumber line); /// Logs the given exception with priority PRIO_ERROR. /// /// File must be a static string, such as the value of @@ -142,8 +142,8 @@ class Foundation_API Logger: public Channel /// creates a Message with priority PRIO_FATAL /// and the given message text and sends it /// to the attached channel. - - void fatal(const std::string& msg, const char* file, int line); + + void fatal(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_FATAL, /// creates a Message with priority PRIO_FATAL /// and the given message text and sends it @@ -166,7 +166,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void critical(const std::string& msg, const char* file, int line); + void critical(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_CRITICAL, /// creates a Message with priority PRIO_CRITICAL /// and the given message text and sends it @@ -189,7 +189,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void error(const std::string& msg, const char* file, int line); + void error(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_ERROR, /// creates a Message with priority PRIO_ERROR /// and the given message text and sends it @@ -212,7 +212,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void warning(const std::string& msg, const char* file, int line); + void warning(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_WARNING, /// creates a Message with priority PRIO_WARNING /// and the given message text and sends it @@ -235,7 +235,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void notice(const std::string& msg, const char* file, int line); + void notice(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_NOTICE, /// creates a Message with priority PRIO_NOTICE /// and the given message text and sends it @@ -258,7 +258,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void information(const std::string& msg, const char* file, int line); + void information(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_INFORMATION, /// creates a Message with priority PRIO_INFORMATION /// and the given message text and sends it @@ -281,7 +281,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void debug(const std::string& msg, const char* file, int line); + void debug(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_DEBUG, /// creates a Message with priority PRIO_DEBUG /// and the given message text and sends it @@ -304,7 +304,7 @@ class Foundation_API Logger: public Channel /// and the given message text and sends it /// to the attached channel. - void trace(const std::string& msg, const char* file, int line); + void trace(const std::string& msg, const char* file, LineNumber line); /// If the Logger's log level is at least PRIO_TRACE, /// creates a Message with priority PRIO_TRACE /// and the given message text and sends it @@ -463,7 +463,7 @@ class Foundation_API Logger: public Channel void log(const std::string& text, Message::Priority prio); void logNPC(const std::string& text, Message::Priority prio); - void log(const std::string& text, Message::Priority prio, const char* file, int line); + void log(const std::string& text, Message::Priority prio, const char* file, LineNumber line); static std::string format(const std::string& fmt, int argc, std::string argv[]); static Logger& parent(const std::string& name); @@ -799,7 +799,7 @@ inline void Logger::logNPC(const std::string& text, Message::Priority prio) } -inline void Logger::log(const std::string& text, Message::Priority prio, const char* file, int line) +inline void Logger::log(const std::string& text, Message::Priority prio, const char* file, LineNumber line) { if (_level >= prio && _pChannel) { @@ -823,7 +823,7 @@ inline void Logger::fatal(const std::string& msg) } -inline void Logger::fatal(const std::string& msg, const char* file, int line) +inline void Logger::fatal(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_FATAL, file, line); } @@ -836,7 +836,7 @@ inline void Logger::critical(const std::string& msg) } -inline void Logger::critical(const std::string& msg, const char* file, int line) +inline void Logger::critical(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_CRITICAL, file, line); } @@ -848,7 +848,7 @@ inline void Logger::error(const std::string& msg) } -inline void Logger::error(const std::string& msg, const char* file, int line) +inline void Logger::error(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_ERROR, file, line); } @@ -860,7 +860,7 @@ inline void Logger::warning(const std::string& msg) } -inline void Logger::warning(const std::string& msg, const char* file, int line) +inline void Logger::warning(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_WARNING, file, line); } @@ -872,7 +872,7 @@ inline void Logger::notice(const std::string& msg) } -inline void Logger::notice(const std::string& msg, const char* file, int line) +inline void Logger::notice(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_NOTICE, file, line); } @@ -884,7 +884,7 @@ inline void Logger::information(const std::string& msg) } -inline void Logger::information(const std::string& msg, const char* file, int line) +inline void Logger::information(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_INFORMATION, file, line); } @@ -896,7 +896,7 @@ inline void Logger::debug(const std::string& msg) } -inline void Logger::debug(const std::string& msg, const char* file, int line) +inline void Logger::debug(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_DEBUG, file, line); } @@ -908,7 +908,7 @@ inline void Logger::trace(const std::string& msg) } -inline void Logger::trace(const std::string& msg, const char* file, int line) +inline void Logger::trace(const std::string& msg, const char* file, LineNumber line) { log(msg, Message::PRIO_TRACE, file, line); } diff --git a/Externals/poco/Foundation/include/Poco/Message.h b/Externals/poco/Foundation/include/Poco/Message.h index fd3262caff6..8122e940646 100644 --- a/Externals/poco/Foundation/include/Poco/Message.h +++ b/Externals/poco/Foundation/include/Poco/Message.h @@ -43,7 +43,7 @@ class Foundation_API Message /// caused the message. { public: - typedef std::map StringMap; + using StringMap = std::map; enum Priority { @@ -65,7 +65,7 @@ class Foundation_API Message /// Creates a Message with the given source, text and priority. /// The thread and process ids are set. - Message(const std::string& source, const std::string& text, Priority prio, const char* file, int line); + Message(const std::string& source, const std::string& text, Priority prio, const char* file, LineNumber line); /// Creates a Message with the given source, text, priority, /// source file path and line. /// @@ -155,14 +155,14 @@ class Foundation_API Message /// Returns the source file path of the code creating /// the message. May be 0 if not set. - void setSourceLine(int line); + void setSourceLine(LineNumber line); /// Sets the source file line of the statement /// generating the log message. /// /// This is usually the result of the __LINE__ /// macro. - int getSourceLine() const; + LineNumber getSourceLine() const; /// Returns the source file line of the statement /// generating the log message. May be 0 /// if not set. @@ -211,7 +211,7 @@ class Foundation_API Message std::string _thread; long _pid; const char* _file; - int _line; + LineNumber _line; StringMap* _pMap; }; @@ -271,7 +271,7 @@ inline const char* Message::getSourceFile() const } -inline int Message::getSourceLine() const +inline LineNumber Message::getSourceLine() const { return _line; } diff --git a/Externals/poco/Foundation/include/Poco/Mutex.h b/Externals/poco/Foundation/include/Poco/Mutex.h index a7a4100fa21..512cdbd6a0c 100644 --- a/Externals/poco/Foundation/include/Poco/Mutex.h +++ b/Externals/poco/Foundation/include/Poco/Mutex.h @@ -52,6 +52,7 @@ class Foundation_API Mutex: private MutexImpl { public: using ScopedLock = Poco::ScopedLock; + using ScopedLockWithUnlock = Poco::ScopedLockWithUnlock; Mutex(); /// creates the Mutex. @@ -107,6 +108,7 @@ class Foundation_API FastMutex: private FastMutexImpl { public: using ScopedLock = Poco::ScopedLock; + using ScopedLockWithUnlock = Poco::ScopedLockWithUnlock; FastMutex(); /// creates the Mutex. @@ -165,6 +167,7 @@ class Foundation_API SpinlockMutex { public: using ScopedLock = Poco::ScopedLock; + using ScopedLockWithUnlock = Poco::ScopedLockWithUnlock; SpinlockMutex(); /// Creates the SpinlockMutex. @@ -209,6 +212,7 @@ class Foundation_API NullMutex { public: using ScopedLock = Poco::ScopedLock; + using ScopedLockWithUnlock = Poco::ScopedLockWithUnlock; NullMutex() /// Creates the NullMutex. diff --git a/Externals/poco/Foundation/include/Poco/Mutex_POSIX.h b/Externals/poco/Foundation/include/Poco/Mutex_POSIX.h index 6e6c42a5254..de90eae563b 100644 --- a/Externals/poco/Foundation/include/Poco/Mutex_POSIX.h +++ b/Externals/poco/Foundation/include/Poco/Mutex_POSIX.h @@ -20,8 +20,8 @@ #include "Poco/Foundation.h" #include "Poco/Exception.h" +#include "Poco/Error.h" #include -#include namespace Poco { @@ -56,8 +56,9 @@ class Foundation_API FastMutexImpl: public MutexImpl // inline void MutexImpl::lockImpl() { - if (pthread_mutex_lock(&_mutex)) - throw SystemException("cannot lock mutex"); + int rc; + if ((rc = pthread_mutex_lock(&_mutex))) + throw SystemException("cannot lock mutex", Error::getMessage(rc)); } @@ -69,14 +70,15 @@ inline bool MutexImpl::tryLockImpl() else if (rc == EBUSY) return false; else - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getMessage(rc)); } inline void MutexImpl::unlockImpl() { - if (pthread_mutex_unlock(&_mutex)) - throw SystemException("cannot unlock mutex"); + int rc; + if ((rc = pthread_mutex_unlock(&_mutex))) + throw SystemException("cannot unlock mutex", Error::getMessage(rc)); } diff --git a/Externals/poco/Foundation/include/Poco/Mutex_WIN32.h b/Externals/poco/Foundation/include/Poco/Mutex_WIN32.h index b99981b20fc..c0967a91425 100644 --- a/Externals/poco/Foundation/include/Poco/Mutex_WIN32.h +++ b/Externals/poco/Foundation/include/Poco/Mutex_WIN32.h @@ -20,6 +20,7 @@ #include "Poco/Foundation.h" #include "Poco/Exception.h" +#include "Poco/Error.h" #include "Poco/UnWindows.h" @@ -55,7 +56,7 @@ inline void MutexImpl::lockImpl() } catch (...) { - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getLastMessage()); } } @@ -69,7 +70,7 @@ inline bool MutexImpl::tryLockImpl() catch (...) { } - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getLastMessage()); } diff --git a/Externals/poco/Foundation/include/Poco/NObserver.h b/Externals/poco/Foundation/include/Poco/NObserver.h index 95b61fabd3e..72c354434a9 100644 --- a/Externals/poco/Foundation/include/Poco/NObserver.h +++ b/Externals/poco/Foundation/include/Poco/NObserver.h @@ -3,7 +3,7 @@ // // Library: Foundation // Package: Notifications -// Module: NotificationCenter +// Module: NObserver // // Definition of the NObserver class template. // @@ -37,25 +37,39 @@ class NObserver: public AbstractObserver /// to use this template class. /// /// This class template is quite similar to the Observer class - /// template. The only difference is that the NObserver - /// expects the callback function to accept a const AutoPtr& - /// instead of a plain pointer as argument, thus simplifying memory - /// management. + /// template. The differences are: + /// + /// - NObserver expects the callback function to accept a const AutoPtr& + /// instead of a plain pointer as argument, thus simplifying memory + /// management. + /// + /// - In addition to dispatching notifications based on the Notification runtime + /// type, NObserver can also notify subscribers based on the Notification name. + /// To enable this functionality, a matcher function must be provided. + /// Null matcher means no matching is performed and all notificiations + /// of the type subscribed to are dispatched. { public: - typedef AutoPtr NotificationPtr; - typedef void (C::*Callback)(const NotificationPtr&); + using Type = NObserver; + using NotificationPtr = AutoPtr; + using Callback = void (C::*)(const NotificationPtr&); + using Handler = Callback; + using Matcher = bool (C::*)(const std::string&) const; - NObserver(C& object, Callback method): + NObserver() = delete; + + NObserver(C& object, Handler method, Matcher matcher = nullptr): _pObject(&object), - _method(method) + _handler(method), + _matcher(matcher) { } NObserver(const NObserver& observer): AbstractObserver(observer), _pObject(observer._pObject), - _method(observer._method) + _handler(observer._handler), + _matcher(observer._matcher) { } @@ -68,54 +82,72 @@ class NObserver: public AbstractObserver if (&observer != this) { _pObject = observer._pObject; - _method = observer._method; + _handler = observer._handler; + _matcher = observer._matcher; } return *this; } - void notify(Notification* pNf) const + virtual void notify(Notification* pNf) const { - Poco::Mutex::ScopedLock lock(_mutex); - - if (_pObject) - { - N* pCastNf = dynamic_cast(pNf); - if (pCastNf) - { - NotificationPtr ptr(pCastNf, true); - (_pObject->*_method)(ptr); - } - } + handle(NotificationPtr(static_cast(pNf), true)); } - bool equals(const AbstractObserver& abstractObserver) const + virtual bool equals(const AbstractObserver& abstractObserver) const { const NObserver* pObs = dynamic_cast(&abstractObserver); - return pObs && pObs->_pObject == _pObject && pObs->_method == _method; + return pObs && pObs->_pObject == _pObject && pObs->_handler == _handler && pObs->_matcher == _matcher; + } + + POCO_DEPRECATED("use `bool accepts(const Notification::Ptr&)` instead") + virtual bool accepts(Notification* pNf, const char* pName) const + { + return (!pName || pNf->name() == pName) && dynamic_cast(pNf) != nullptr; } - bool accepts(Notification* pNf, const char* pName = 0) const + virtual bool accepts(const Notification::Ptr& pNf) const { - return dynamic_cast(pNf) && (!pName || pNf->name() == pName); + return (match(pNf) && (pNf.template cast() != nullptr)); } - AbstractObserver* clone() const + virtual AbstractObserver* clone() const { return new NObserver(*this); } - void disable() + virtual void disable() { Poco::Mutex::ScopedLock lock(_mutex); - _pObject = 0; + _pObject = nullptr; } -private: - NObserver(); +protected: + void handle(const NotificationPtr& ptr) const + { + Mutex::ScopedLock lock(_mutex); + + if (_pObject) + (_pObject->*_handler)(ptr); + } + + bool match(const Notification::Ptr& ptr) const + { + Mutex::ScopedLock l(_mutex); + + return _pObject && (!_matcher || (_pObject->*_matcher)(ptr->name())); + } + + Mutex& mutex() const + { + return _mutex; + } + +private: C* _pObject; - Callback _method; + Callback _handler; + Matcher _matcher; mutable Poco::Mutex _mutex; }; diff --git a/Externals/poco/Foundation/include/Poco/NamedEvent_UNIX.h b/Externals/poco/Foundation/include/Poco/NamedEvent_UNIX.h index f4b5255f793..9b49ecc9310 100644 --- a/Externals/poco/Foundation/include/Poco/NamedEvent_UNIX.h +++ b/Externals/poco/Foundation/include/Poco/NamedEvent_UNIX.h @@ -17,12 +17,21 @@ #ifndef Foundation_NamedEvent_UNIX_INCLUDED #define Foundation_NamedEvent_UNIX_INCLUDED - #include "Poco/Foundation.h" + +#include + #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) -#include + #define POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES 1 + #define POCO_NAMED_EVENT_USE_SYS_V_SEMAPHORES 0 +#else + #define POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES 0 + #define POCO_NAMED_EVENT_USE_SYS_V_SEMAPHORES 1 #endif +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + #include +#endif namespace Poco { @@ -39,10 +48,11 @@ class Foundation_API NamedEventImpl std::string getFileName(); std::string _name; -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) - sem_t* _sem; +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + ::sem_t* _sem; #else int _semid; // semaphore id + bool _createdId; // semaphore id was created with this instance #endif }; diff --git a/Externals/poco/Foundation/include/Poco/NamedMutex.h b/Externals/poco/Foundation/include/Poco/NamedMutex.h index 197fe38fb9a..f6d1c9c184d 100644 --- a/Externals/poco/Foundation/include/Poco/NamedMutex.h +++ b/Externals/poco/Foundation/include/Poco/NamedMutex.h @@ -54,6 +54,7 @@ class Foundation_API NamedMutex: private NamedMutexImpl { public: using ScopedLock = Poco::ScopedLock; + using ScopedLockWithUnlock = Poco::ScopedLockWithUnlock; NamedMutex(const std::string& name); /// creates the Mutex. diff --git a/Externals/poco/Foundation/include/Poco/NamedTuple.h b/Externals/poco/Foundation/include/Poco/NamedTuple.h index fa0b41efa5c..7b6e1c882c8 100644 --- a/Externals/poco/Foundation/include/Poco/NamedTuple.h +++ b/Externals/poco/Foundation/include/Poco/NamedTuple.h @@ -21,7 +21,7 @@ #include "Poco/Foundation.h" #include "Poco/Tuple.h" #include "Poco/TypeList.h" -#include "Poco/DynamicAny.h" +#include "Poco/Dynamic/Var.h" #include "Poco/SharedPtr.h" #include "Poco/Format.h" @@ -265,12 +265,12 @@ struct NamedTuple: public Tuple::CONSTTYPE& t39 = POCO_TYPEWRAPPER_DEFAULTVALUE(T39)): TupleType(t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39), - _pNames(0) + _pNames(nullptr) { init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37,n38,n39); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -329,7 +329,7 @@ struct NamedTuple: public Tuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -780,7 +780,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -1223,7 +1223,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -1658,7 +1658,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -2085,7 +2085,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -2504,7 +2504,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -2915,7 +2915,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -3318,7 +3318,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -3713,7 +3713,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -4100,7 +4100,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -4479,7 +4479,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -4850,7 +4850,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -5213,7 +5213,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -5568,7 +5568,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -5915,7 +5915,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -6254,7 +6254,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -6585,7 +6585,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -6908,7 +6908,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -7223,7 +7223,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -7530,7 +7530,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -7829,7 +7829,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -8120,7 +8120,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -8403,7 +8403,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -8678,7 +8678,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -8946,7 +8946,7 @@ struct NamedTuplebegin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -9206,7 +9206,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -9458,7 +9458,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -9669,7 +9669,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -9701,7 +9701,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -9906,7 +9906,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -9937,7 +9937,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -10134,7 +10134,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -10164,7 +10164,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -10355,7 +10355,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -10384,7 +10384,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -10568,7 +10568,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7,n8); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -10596,7 +10596,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -10773,7 +10773,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6,n7); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -10800,7 +10800,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -10968,7 +10968,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5,n6); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -10994,7 +10994,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11155,7 +11155,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4,n5); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11180,7 +11180,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11336,7 +11336,7 @@ struct NamedTuple: init(n0,n1,n2,n3,n4); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11360,7 +11360,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11508,7 +11508,7 @@ struct NamedTuple: init(n0,n1,n2,n3); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11531,7 +11531,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11673,7 +11673,7 @@ struct NamedTuple: init(n0,n1,n2); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11695,7 +11695,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11830,7 +11830,7 @@ struct NamedTuple: init(n0,n1); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11851,7 +11851,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } @@ -11978,7 +11978,7 @@ struct NamedTuple: init(n0); } - const DynamicAny get(const std::string& name) const + const Dynamic::Var get(const std::string& name) const { NameVec::const_iterator it = _pNames->begin(); NameVec::const_iterator itEnd = _pNames->end(); @@ -11998,7 +11998,7 @@ struct NamedTuple: throw NotFoundException("Name not found: " + name); } - const DynamicAny operator [] (const std::string& name) const + const Dynamic::Var operator [] (const std::string& name) const { return get(name); } diff --git a/Externals/poco/Foundation/include/Poco/NestedDiagnosticContext.h b/Externals/poco/Foundation/include/Poco/NestedDiagnosticContext.h index 80b0c223efb..94d3ee07523 100644 --- a/Externals/poco/Foundation/include/Poco/NestedDiagnosticContext.h +++ b/Externals/poco/Foundation/include/Poco/NestedDiagnosticContext.h @@ -68,7 +68,7 @@ class Foundation_API NestedDiagnosticContext void push(const std::string& info); /// Pushes a context (without line number and filename) onto the stack. - void push(const std::string& info, int line, const char* filename); + void push(const std::string& info, LineNumber line, const char* filename); /// Pushes a context (including line number and filename) /// onto the stack. Filename must be a static string, such as the /// one produced by the __FILE__ preprocessor macro. @@ -89,9 +89,11 @@ class Foundation_API NestedDiagnosticContext /// to the given stream. The entries are delimited by /// a newline. - void dump(std::ostream& ostr, const std::string& delimiter) const; + void dump(std::ostream& ostr, const std::string& delimiter, bool nameOnly = false) const; /// Dumps the stack (including line number and filenames) /// to the given stream. + /// If nameOnly is false (default), the whole path to file is printed, + /// otherwise only the file name. void clear(); /// Clears the NDC stack. @@ -104,7 +106,7 @@ class Foundation_API NestedDiagnosticContext { std::string info; const char* file; - int line; + LineNumber line; }; typedef std::vector Stack; @@ -124,7 +126,7 @@ class Foundation_API NDCScope NDCScope(const std::string& info); /// Pushes a context on the stack. - NDCScope(const std::string& info, int line, const char* filename); + NDCScope(const std::string& info, LineNumber line, const char* filename); /// Pushes a context on the stack. ~NDCScope(); @@ -141,7 +143,7 @@ inline NDCScope::NDCScope(const std::string& info) } -inline NDCScope::NDCScope(const std::string& info, int line, const char* filename) +inline NDCScope::NDCScope(const std::string& info, LineNumber line, const char* filename) { NestedDiagnosticContext::current().push(info, line, filename); } diff --git a/Externals/poco/Foundation/include/Poco/Notification.h b/Externals/poco/Foundation/include/Poco/Notification.h index 4226ebf7d0a..9d84287c2f5 100644 --- a/Externals/poco/Foundation/include/Poco/Notification.h +++ b/Externals/poco/Foundation/include/Poco/Notification.h @@ -22,6 +22,7 @@ #include "Poco/Mutex.h" #include "Poco/RefCountedObject.h" #include "Poco/AutoPtr.h" +#include namespace Poco { @@ -37,7 +38,7 @@ class Foundation_API Notification: public RefCountedObject public: using Ptr = AutoPtr; - Notification(); + Notification(const std::string& name = ""s); /// Creates the notification. virtual std::string name() const; @@ -46,6 +47,7 @@ class Foundation_API Notification: public RefCountedObject protected: virtual ~Notification(); + std::unique_ptr _pName; }; diff --git a/Externals/poco/Foundation/include/Poco/NotificationCenter.h b/Externals/poco/Foundation/include/Poco/NotificationCenter.h index dd77972b298..33964baa553 100644 --- a/Externals/poco/Foundation/include/Poco/NotificationCenter.h +++ b/Externals/poco/Foundation/include/Poco/NotificationCenter.h @@ -79,10 +79,11 @@ class Foundation_API NotificationCenter /// } { public: + NotificationCenter(); /// Creates the NotificationCenter. - ~NotificationCenter(); + virtual ~NotificationCenter(); /// Destroys the NotificationCenter. void addObserver(const AbstractObserver& observer); @@ -99,7 +100,7 @@ class Foundation_API NotificationCenter bool hasObserver(const AbstractObserver& observer) const; /// Returns true if the observer is registered with this NotificationCenter. - void postNotification(Notification::Ptr pNotification); + virtual void postNotification(Notification::Ptr pNotification); /// Posts a notification to the NotificationCenter. /// The NotificationCenter then delivers the notification /// to all interested observers. @@ -120,13 +121,29 @@ class Foundation_API NotificationCenter std::size_t countObservers() const; /// Returns the number of registered observers. + virtual int backlog() const; + /// Returns the sum of queued notifications + /// for all observers (applies only to asynchronous observers, + /// regular observers post notifications syncronously and + /// never have a backlog). + static NotificationCenter& defaultCenter(); /// Returns a reference to the default /// NotificationCenter. +protected: + using AbstractObserverPtr = SharedPtr; + using ObserverList = std::vector; + + Mutex& mutex() + { + return _mutex; + } + + ObserverList observersToNotify(const Notification::Ptr& pNotification) const; + void notifyObservers(Notification::Ptr& pNotification); + private: - typedef SharedPtr AbstractObserverPtr; - typedef std::vector ObserverList; ObserverList _observers; mutable Mutex _mutex; diff --git a/Externals/poco/Foundation/include/Poco/Nullable.h b/Externals/poco/Foundation/include/Poco/Nullable.h index 5a22cc94d7c..3d8d4d17b0a 100644 --- a/Externals/poco/Foundation/include/Poco/Nullable.h +++ b/Externals/poco/Foundation/include/Poco/Nullable.h @@ -20,18 +20,13 @@ #include "Poco/Foundation.h" #include "Poco/Exception.h" -#include +#include #include namespace Poco { - -enum NullType -{ - NULL_GENERIC = 0 -}; - +using NullType = std::nullopt_t; template class Nullable @@ -58,88 +53,72 @@ class Nullable /// default construction. { public: - Nullable(): + using Type = C; + + Nullable() /// Creates an empty Nullable. - _value(), - _isNull(true), - _null() { } - Nullable(const NullType&): + Nullable(const NullType&) /// Creates an empty Nullable. - _value(), - _isNull(true), - _null() { } Nullable(const C& value): /// Creates a Nullable with the given value. - _value(value), - _isNull(false), - _null() + _optional(value) { } Nullable(C&& value): /// Creates a Nullable by moving the given value. - _value(std::forward(value)), - _isNull(false), - _null() + _optional(std::forward(value)) { } Nullable(const Nullable& other): /// Creates a Nullable by copying another one. - _value(other._value), - _isNull(other._isNull), - _null() + _optional(other._optional) { } Nullable(Nullable&& other) noexcept: /// Creates a Nullable by moving another one. - _value(std::move(other._value)), - _isNull(other._isNull), - _null() + _optional(std::move(other._optional)) { - other._isNull = true; + other._optional.reset(); } - ~Nullable() + ~Nullable() = default; /// Destroys the Nullable. - { - } Nullable& assign(const C& value) /// Assigns a value to the Nullable. { - _value = value; - _isNull = false; + _optional.emplace(value); return *this; } Nullable& assign(C&& value) /// Assigns a value to the Nullable. { - _value = std::move(value); - _isNull = false; + _optional.emplace(std::move(value)); return *this; } Nullable& assign(const Nullable& other) /// Assigns another Nullable. { - Nullable tmp(other); - swap(tmp); + if (&other != this) + _optional = other._optional; return *this; } Nullable& assign(NullType) /// Sets value to null. { - _isNull = true; + _optional.reset(); return *this; } @@ -164,42 +143,39 @@ class Nullable Nullable& operator = (Nullable&& other) noexcept /// Moves another Nullable. { - _isNull = other._isNull; - _value = std::move(other._value); - other._isNull = true; + _optional = std::move(other._optional); return *this; } Nullable& operator = (NullType) - /// Assigns another Nullable. + /// Assigns NullType. { - _isNull = true; + _optional.reset(); return *this; } void swap(Nullable& other) noexcept /// Swaps this Nullable with other. { - std::swap(_value, other._value); - std::swap(_isNull, other._isNull); + std::swap(_optional, other._optional); } bool operator == (const Nullable& other) const /// Compares two Nullables for equality { - return (_isNull && other._isNull) || (_isNull == other._isNull && _value == other._value); + return _optional == other._optional; } bool operator == (const C& value) const /// Compares Nullable with value for equality { - return (!_isNull && _value == value); + return (_optional.has_value() && _optional.value() == value); } bool operator == (const NullType&) const /// Compares Nullable with NullData for equality { - return _isNull; + return !_optional.has_value(); } bool operator != (const C& value) const @@ -217,7 +193,7 @@ class Nullable bool operator != (const NullType&) const /// Compares with NullData for non equality { - return !_isNull; + return _optional.has_value(); } bool operator < (const Nullable& other) const @@ -225,14 +201,7 @@ class Nullable /// value is smaler than the other object's value. /// Null value is smaller than a non-null value. { - if (_isNull && other._isNull) return false; - - if (!_isNull && !other._isNull) - return (_value < other._value); - - if (_isNull && !other._isNull) return true; - - return false; + return _optional < other._optional; } bool operator > (const Nullable& other) const @@ -248,8 +217,8 @@ class Nullable /// /// Throws a NullValueException if the Nullable is empty. { - if (!_isNull) - return _value; + if (_optional.has_value()) + return _optional.value(); else throw NullValueException(); } @@ -259,8 +228,8 @@ class Nullable /// /// Throws a NullValueException if the Nullable is empty. { - if (!_isNull) - return _value; + if (_optional.has_value()) + return _optional.value(); else throw NullValueException(); } @@ -269,22 +238,25 @@ class Nullable /// Returns the Nullable's value, or the /// given default value if the Nullable is empty. { - return _isNull ? deflt : _value; + if (_optional.has_value()) + return _optional.value(); + + return deflt; } - operator C& () + explicit operator C& () /// Get reference to the value { return value(); } - operator const C& () const + explicit operator const C& () const /// Get const reference to the value { return value(); } - operator NullType& () + operator const NullType& () const /// Get reference to the value { return _null; @@ -293,19 +265,18 @@ class Nullable bool isNull() const /// Returns true if the Nullable is empty. { - return _isNull; + return !_optional.has_value(); } void clear() /// Clears the Nullable. { - _isNull = true; + _optional.reset(); } private: - C _value; - bool _isNull; - NullType _null; + std::optional _optional; + static constexpr NullType _null {std::nullopt}; }; diff --git a/Externals/poco/Foundation/include/Poco/NumberFormatter.h b/Externals/poco/Foundation/include/Poco/NumberFormatter.h index bb9ff309e02..11bc107a2e0 100644 --- a/Externals/poco/Foundation/include/Poco/NumberFormatter.h +++ b/Externals/poco/Foundation/include/Poco/NumberFormatter.h @@ -517,14 +517,14 @@ class Foundation_API NumberFormatter // Deprecated functions // - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(int value, bool prefix); /// Formats an int value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(int value, int width, bool prefix); /// Formats an int value in hexadecimal notation, /// right justified and zero-padded in @@ -533,13 +533,13 @@ class Foundation_API NumberFormatter /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned value, bool prefix); /// Formats an unsigned int value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned value, int width, bool prefix); /// Formats an unsigned value in hexadecimal notation, /// right justified and zero-padded in @@ -547,14 +547,14 @@ class Foundation_API NumberFormatter /// If prefix is true, "0x" prefix is prepended to the /// resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(long value, bool prefix); /// Formats a long value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(long value, int width, bool prefix); /// Formats a long value in hexadecimal notation, /// right justified and zero-padded in a field having at least the @@ -563,13 +563,13 @@ class Foundation_API NumberFormatter /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned long value, bool prefix); /// Formats an unsigned long value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned long value, int width, bool prefix); /// Formats an unsigned long value in hexadecimal notation, /// right justified and zero-padded in a field having at least the @@ -580,14 +580,14 @@ class Foundation_API NumberFormatter #ifdef POCO_HAVE_INT64 #ifdef POCO_INT64_IS_LONG - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(long long value, bool prefix); /// Formats a 64-bit integer value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(long long value, int width, bool prefix); /// Formats a 64-bit integer value in hexadecimal notation, /// right justified and zero-padded in a field having at least @@ -595,13 +595,13 @@ class Foundation_API NumberFormatter /// The value is treated as unsigned. /// If prefix is true, "0x" prefix is prepended to the resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned long long value, bool prefix); /// Formats an unsigned 64-bit integer value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(unsigned long long value, int width, bool prefix); /// Formats an unsigned 64-bit integer value in hexadecimal notation, /// right justified and zero-padded in a field having at least @@ -610,14 +610,14 @@ class Foundation_API NumberFormatter #else // ifndef POCO_INT64_IS_LONG - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(Int64 value, bool prefix); /// Formats a 64-bit integer value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. /// The value is treated as unsigned. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(Int64 value, int width, bool prefix); /// Formats a 64-bit integer value in hexadecimal notation, /// right justified and zero-padded in a field having at least @@ -625,13 +625,13 @@ class Foundation_API NumberFormatter /// The value is treated as unsigned. /// If prefix is true, "0x" prefix is prepended to the resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(UInt64 value, bool prefix); /// Formats an unsigned 64-bit integer value in hexadecimal notation. /// If prefix is true, "0x" prefix is prepended to the /// resulting string. - [[deprecated("use formatHex with options instead")]] + POCO_DEPRECATED("use formatHex with options instead") static std::string formatHex(UInt64 value, int width, bool prefix); /// Formats an unsigned 64-bit integer value in hexadecimal notation, /// right justified and zero-padded in a field having at least diff --git a/Externals/poco/Foundation/include/Poco/NumericString.h b/Externals/poco/Foundation/include/Poco/NumericString.h index ac571301ecc..0310b4f355e 100644 --- a/Externals/poco/Foundation/include/Poco/NumericString.h +++ b/Externals/poco/Foundation/include/Poco/NumericString.h @@ -536,7 +536,7 @@ bool intToStr(T value, template -[[deprecated("use intToStr instead")]] +POCO_DEPRECATED("use intToStr instead") bool uIntToStr(T value, unsigned short base, char* result, @@ -581,7 +581,7 @@ bool intToStr (T number, template -[[deprecated("use intToStr instead")]] +POCO_DEPRECATED("use intToStr instead") bool uIntToStr (T number, unsigned short base, std::string& result, diff --git a/Externals/poco/Foundation/include/Poco/Observer.h b/Externals/poco/Foundation/include/Poco/Observer.h index e7bc67413a6..8e69329ea97 100644 --- a/Externals/poco/Foundation/include/Poco/Observer.h +++ b/Externals/poco/Foundation/include/Poco/Observer.h @@ -74,15 +74,10 @@ class Observer: public AbstractObserver void notify(Notification* pNf) const { Poco::Mutex::ScopedLock lock(_mutex); - if (_pObject) { - N* pCastNf = dynamic_cast(pNf); - if (pCastNf) - { - pCastNf->duplicate(); - (_pObject->*_method)(pCastNf); - } + pNf->duplicate(); + (_pObject->*_method)(static_cast(pNf)); } } @@ -92,9 +87,15 @@ class Observer: public AbstractObserver return pObs && pObs->_pObject == _pObject && pObs->_method == _method; } - bool accepts(Notification* pNf, const char* pName = 0) const + POCO_DEPRECATED("use `bool accepts(const Notification::Ptr&)` instead") + bool accepts(Notification* pNf, const char* pName) const + { + return (!pName || pNf->name() == pName) && (dynamic_cast(pNf) != nullptr); + } + + bool accepts(const Notification::Ptr& pNf) const { - return dynamic_cast(pNf) && (!pName || pNf->name() == pName); + return (pNf.cast() != nullptr); } AbstractObserver* clone() const diff --git a/Externals/poco/Foundation/include/Poco/Optional.h b/Externals/poco/Foundation/include/Poco/Optional.h index 31c38fd5a82..b7344642b26 100644 --- a/Externals/poco/Foundation/include/Poco/Optional.h +++ b/Externals/poco/Foundation/include/Poco/Optional.h @@ -20,7 +20,7 @@ #include "Poco/Foundation.h" #include "Poco/Exception.h" -#include +#include namespace Poco { @@ -53,40 +53,33 @@ class Optional /// nillable == true. { public: - Optional(): + Optional() /// Creates an empty Optional. - _value(), - _isSpecified(false) { } Optional(const C& value): /// Creates a Optional with the given value. - _value(value), - _isSpecified(true) + _optional(value) { } Optional(C&& value): /// Creates a Optional by moving the given value. - _value(std::forward(value)), - _isSpecified(true) + _optional(std::forward(value)) { } Optional(const Optional& other): /// Creates a Optional by copying another one. - _value(other._value), - _isSpecified(other._isSpecified) + _optional(other._optional) { } Optional(Optional&& other) noexcept: /// Creates a Optional by moving another one. - _value(std::move(other._value)), - _isSpecified(other._isSpecified) + _optional(std::move(other._optional)) { - other._isSpecified = false; } ~Optional() @@ -97,16 +90,14 @@ class Optional Optional& assign(const C& value) /// Assigns a value to the Optional. { - _value = value; - _isSpecified = true; + _optional.emplace(value); return *this; } Optional& assign(C&& value) /// Moves a value into the Optional. { - _value = std::move(value); - _isSpecified = true; + _optional.emplace(std::move(value)); return *this; } @@ -135,16 +126,14 @@ class Optional Optional& operator = (Optional&& other) noexcept { - _value = std::move(other._value); - _isSpecified = other._isSpecified; - other._isSpecified = false; + _optional = std::move(other._optional); return *this; } void swap(Optional& other) noexcept { - std::swap(_value, other._value); - std::swap(_isSpecified, other._isSpecified); + using std::swap; + swap(_optional, other._optional); } const C& value() const @@ -152,10 +141,10 @@ class Optional /// /// Throws a Poco::NullValueException if the value has not been specified. { - if (_isSpecified) - return _value; - else - throw Poco::NullValueException(); + if (_optional.has_value()) + return _optional.value(); + + throw Poco::NullValueException(); } const C& value(const C& deflt) const @@ -163,24 +152,27 @@ class Optional /// given default value if the Optional's /// value has not been specified. { - return _isSpecified ? _value : deflt; + if (_optional.has_value()) + return _optional.value(); + + return deflt; } bool isSpecified() const /// Returns true iff the Optional's value has been specified. { - return _isSpecified; + return _optional.has_value(); } void clear() /// Clears the Optional. { - _isSpecified = false; + _optional.reset(); } private: - C _value; - bool _isSpecified; + + std::optional _optional; }; diff --git a/Externals/poco/Foundation/include/Poco/Path.h b/Externals/poco/Foundation/include/Poco/Path.h index cf6b76abd56..73f5a4a05e6 100644 --- a/Externals/poco/Foundation/include/Poco/Path.h +++ b/Externals/poco/Foundation/include/Poco/Path.h @@ -48,7 +48,7 @@ class Foundation_API Path PATH_GUESS /// Guess the style by examining the path }; - typedef std::vector StringVec; + using StringVec = std::vector; Path(); /// Creates an empty relative path. @@ -290,6 +290,22 @@ class Foundation_API Path /// this is the semicolon ';'. On OpenVMS systems, this is the /// comma ','. + static std::string addDirectorySeparator(const std::string& path); + /// Adds a separator to the end of a string to create the correct syntax for a path. + /// If the source path already has a trailing separator, no separator will be added. + /// + /// On Unix systems, this is the slash '/'. On Windows systems, + /// this is the backslash '\'. On OpenVMS systems, this is the + /// period '.'. + + static std::string addDirectorySeparator(const std::string& path, Style style); + /// Adds a separator to the end of a string to create the correct syntax for a path. + /// If the source path already has a trailing separator, no separator will be added. + /// + /// On Unix systems, this is the slash '/'. On Windows systems, + /// this is the backslash '\'. On OpenVMS systems, this is the + /// period '.'. + static std::string self(); /// Return path to the executable file, empty string if failed. /// The path is absolute one. diff --git a/Externals/poco/Foundation/include/Poco/PriorityDelegate.h b/Externals/poco/Foundation/include/Poco/PriorityDelegate.h index 4cd664aab05..cac9cf25e52 100644 --- a/Externals/poco/Foundation/include/Poco/PriorityDelegate.h +++ b/Externals/poco/Foundation/include/Poco/PriorityDelegate.h @@ -52,7 +52,6 @@ class PriorityDelegate: public AbstractPriorityDelegate { if (&delegate != this) { - this->_pTarget = delegate._pTarget; this->_receiverObject = delegate._receiverObject; this->_receiverMethod = delegate._receiverMethod; this->_priority = delegate._priority; @@ -126,7 +125,6 @@ class PriorityDelegate: public AbstractPriorityDelegate_pTarget = delegate._pTarget; this->_receiverObject = delegate._receiverObject; this->_receiverMethod = delegate._receiverMethod; this->_priority = delegate._priority; @@ -200,7 +198,6 @@ class PriorityDelegate: public AbstractPriorityDelegate { if (&delegate != this) { - this->_pTarget = delegate._pTarget; this->_receiverObject = delegate._receiverObject; this->_receiverMethod = delegate._receiverMethod; this->_priority = delegate._priority; @@ -274,7 +271,6 @@ class PriorityDelegate: public AbstractPriorityDelegate { if (&delegate != this) { - this->_pTarget = delegate._pTarget; this->_receiverObject = delegate._receiverObject; this->_receiverMethod = delegate._receiverMethod; this->_priority = delegate._priority; diff --git a/Externals/poco/Foundation/include/Poco/Process.h b/Externals/poco/Foundation/include/Poco/Process.h index 717040444fc..bb650c6446d 100644 --- a/Externals/poco/Foundation/include/Poco/Process.h +++ b/Externals/poco/Foundation/include/Poco/Process.h @@ -94,6 +94,10 @@ class Foundation_API Process: public ProcessImpl /// Returns the number of seconds spent by the /// current process in user and kernel mode. + static void timesMicroseconds(Poco::Int64& userTime, Poco::Int64& kernelTime); + /// Returns the number of microseconds spent by the + /// current process in user and kernel mode. + static ProcessHandle launch(const std::string& command, const Args& args, int options = 0); /// Creates a new process for the given command and returns /// a ProcessHandle of the new process. The given arguments are @@ -268,6 +272,12 @@ inline void Process::times(long& userTime, long& kernelTime) } +inline void Process::timesMicroseconds(Poco::Int64& userTime, Poco::Int64& kernelTime) +{ + ProcessImpl::timesMicrosecondsImpl(userTime, kernelTime); +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/ProcessRunner.h b/Externals/poco/Foundation/include/Poco/ProcessRunner.h index ed2fa9fdfe0..3826bd5e3d7 100644 --- a/Externals/poco/Foundation/include/Poco/ProcessRunner.h +++ b/Externals/poco/Foundation/include/Poco/ProcessRunner.h @@ -121,6 +121,8 @@ class Foundation_API ProcessRunner: public Poco::Runnable int runCount() const; /// Returns the number of times the process has been executed. + const std::string& error() const; + /// Returns the error message. private: static const Poco::ProcessHandle::PID INVALID_PID = -1; @@ -141,10 +143,23 @@ class Foundation_API ProcessRunner: public Poco::Runnable /// Process initialization completion is indicated by new pid in /// the pid file. If pid file is not specified, there is no waiting. - void checkTimeout(const Poco::Stopwatch& sw, const std::string& msg); + void checkError(); /// If timeout is exceeded, throws TimeoutException with `msg` /// message. + void checkTimeout(const std::string& msg); + /// If timeout is exceeded, throws TimeoutException with `msg` + /// message. + + void checkStatus(const std::string& msg, bool tOut = true); + /// If there were andy errors during process start/stop, + /// throws RuntimeException with the error message; + /// otherwise, if tOut is true and timeout is exceeded, throws + /// TimeoutException with `msg` message. + + void setError(const std::string& msg); + /// Sets the error message. + Poco::Thread _t; std::string _cmd; Args _args; @@ -156,6 +171,9 @@ class Foundation_API ProcessRunner: public Poco::Runnable std::atomic _started; std::atomic _rc; std::atomic _runCount; + Stopwatch _sw; + std::string _error; + mutable Poco::FastMutex _mutex; }; @@ -193,6 +211,20 @@ inline int ProcessRunner::runCount() const } +inline void ProcessRunner::setError(const std::string& msg) +{ + _error = Poco::format("ProcessRunner(%s): %s", cmdLine(), msg); +} + + +inline const std::string& ProcessRunner::error() const +{ + Poco::FastMutex::ScopedLock l(_mutex); + + return _error; +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/Process_UNIX.h b/Externals/poco/Foundation/include/Poco/Process_UNIX.h index 10124358575..26666cb4be5 100644 --- a/Externals/poco/Foundation/include/Poco/Process_UNIX.h +++ b/Externals/poco/Foundation/include/Poco/Process_UNIX.h @@ -56,6 +56,7 @@ class Foundation_API ProcessImpl static PIDImpl idImpl(); static void timesImpl(long& userTime, long& kernelTime); + static void timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime); static ProcessHandleImpl* launchImpl( const std::string& command, const ArgsImpl& args, diff --git a/Externals/poco/Foundation/include/Poco/Process_VX.h b/Externals/poco/Foundation/include/Poco/Process_VX.h index 189828e3a3f..0fbda8c5592 100644 --- a/Externals/poco/Foundation/include/Poco/Process_VX.h +++ b/Externals/poco/Foundation/include/Poco/Process_VX.h @@ -57,6 +57,7 @@ class Foundation_API ProcessImpl static PIDImpl idImpl(); static void timesImpl(long& userTime, long& kernelTime); + static void timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime); static ProcessHandleImpl* launchImpl( const std::string& command, const ArgsImpl& args, diff --git a/Externals/poco/Foundation/include/Poco/Process_WIN32U.h b/Externals/poco/Foundation/include/Poco/Process_WIN32U.h index 6e789e9842f..d44b19c6b2a 100644 --- a/Externals/poco/Foundation/include/Poco/Process_WIN32U.h +++ b/Externals/poco/Foundation/include/Poco/Process_WIN32U.h @@ -61,6 +61,7 @@ class Foundation_API ProcessImpl static PIDImpl idImpl(); static void timesImpl(long& userTime, long& kernelTime); + static void timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime); static ProcessHandleImpl* launchImpl( const std::string& command, const ArgsImpl& args, diff --git a/Externals/poco/Foundation/include/Poco/RWLock_VX.h b/Externals/poco/Foundation/include/Poco/RWLock_VX.h index e5a18e052b3..cd0804d7014 100644 --- a/Externals/poco/Foundation/include/Poco/RWLock_VX.h +++ b/Externals/poco/Foundation/include/Poco/RWLock_VX.h @@ -20,8 +20,8 @@ #include "Poco/Foundation.h" #include "Poco/Exception.h" +#include "Poco/Error.h" #include -#include namespace Poco { @@ -48,8 +48,9 @@ class Foundation_API RWLockImpl // inline void RWLockImpl::readLockImpl() { - if (pthread_mutex_lock(&_mutex)) - throw SystemException("cannot lock mutex"); + int rc = 0; + if ((rc = pthread_mutex_lock(&_mutex))) + throw SystemException("cannot lock mutex", Error::getMessage(rc)); } @@ -61,7 +62,7 @@ inline bool RWLockImpl::tryReadLockImpl() else if (rc == EBUSY) return false; else - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getMessage(rc)); } @@ -81,8 +82,9 @@ inline bool RWLockImpl::tryWriteLockImpl() inline void RWLockImpl::unlockImpl() { - if (pthread_mutex_unlock(&_mutex)) - throw SystemException("cannot unlock mutex"); + int rc = 0; + if ((rc = pthread_mutex_unlock(&_mutex))) + throw SystemException("cannot unlock mutex", Error::getMessage(rc)); } diff --git a/Externals/poco/Foundation/include/Poco/RotateStrategy.h b/Externals/poco/Foundation/include/Poco/RotateStrategy.h index ce04031cf36..1f1fb8b1d18 100644 --- a/Externals/poco/Foundation/include/Poco/RotateStrategy.h +++ b/Externals/poco/Foundation/include/Poco/RotateStrategy.h @@ -83,9 +83,11 @@ class RotateAtTimeStrategy: public RotateStrategy _day = DateTimeParser::parseDayOfWeek(it, timestr[index].end()); ++index; } + [[fallthrough]]; case 2: // hh:mm _hour = NumberParser::parse(timestr[index]); ++index; + [[fallthrough]]; case 1: // mm _minute = NumberParser::parse(timestr[index]); break; @@ -118,8 +120,8 @@ class RotateAtTimeStrategy: public RotateStrategy _threshold += tsp; } while (!(_threshold.minute() == _minute && - (-1 == _hour || _threshold.hour() == _hour) && - (-1 == _day || _threshold.dayOfWeek() == _day))); + (-1 == _hour || _threshold.hour() == _hour) && + (-1 == _day || _threshold.dayOfWeek() == _day))); // round to :00.0 seconds _threshold.assign(_threshold.year(), _threshold.month(), _threshold.day(), _threshold.hour(), _threshold.minute()); } diff --git a/Externals/poco/Foundation/include/Poco/RunnableAdapter.h b/Externals/poco/Foundation/include/Poco/RunnableAdapter.h index 0fa16ef8bb2..e3480486d5d 100644 --- a/Externals/poco/Foundation/include/Poco/RunnableAdapter.h +++ b/Externals/poco/Foundation/include/Poco/RunnableAdapter.h @@ -32,7 +32,7 @@ class RunnableAdapter: public Runnable /// Usage: /// RunnableAdapter ra(myObject, &MyObject::doSomething)); /// Thread thr; - /// thr.Start(ra); + /// thr.start(ra); /// /// For using a freestanding or static member function as a thread /// target, please see the ThreadTarget class. diff --git a/Externals/poco/Foundation/include/Poco/ScopedLock.h b/Externals/poco/Foundation/include/Poco/ScopedLock.h index 4b1f5ce71a5..eef75363524 100644 --- a/Externals/poco/Foundation/include/Poco/ScopedLock.h +++ b/Externals/poco/Foundation/include/Poco/ScopedLock.h @@ -77,12 +77,18 @@ class ScopedLockWithUnlock public: explicit ScopedLockWithUnlock(M& mutex): _pMutex(&mutex) { + poco_assert(_pMutex != nullptr); + _pMutex->lock(); + _locked = true; } ScopedLockWithUnlock(M& mutex, long milliseconds): _pMutex(&mutex) { + poco_assert(_pMutex != nullptr); + _pMutex->lock(milliseconds); + _locked = true; } ~ScopedLockWithUnlock() @@ -97,17 +103,29 @@ class ScopedLockWithUnlock } } + void lock() + { + poco_assert(_pMutex != nullptr); + poco_assert(_locked == false); + + _pMutex->lock(); + _locked = true; + } + void unlock() { - if (_pMutex) + if (_locked) { + poco_assert(_pMutex != nullptr); + _pMutex->unlock(); - _pMutex = 0; + _locked = false; } } private: M* _pMutex; + bool _locked = false; ScopedLockWithUnlock(); ScopedLockWithUnlock(const ScopedLockWithUnlock&); diff --git a/Externals/poco/Foundation/include/Poco/SimpleFileChannel.h b/Externals/poco/Foundation/include/Poco/SimpleFileChannel.h index 0e03178d8c9..d99c73cbda5 100644 --- a/Externals/poco/Foundation/include/Poco/SimpleFileChannel.h +++ b/Externals/poco/Foundation/include/Poco/SimpleFileChannel.h @@ -70,7 +70,7 @@ class Foundation_API SimpleFileChannel: public Channel /// The flush property specifies whether each log message is flushed /// immediately to the log file (which may hurt application performance, /// but ensures that everything is in the log in case of a system crash), - // or whether it's allowed to stay in the system's file buffer for some time. + /// or whether it's allowed to stay in the system's file buffer for some time. /// Valid values are: /// /// * true: Every message is immediately flushed to the log file (default). @@ -86,16 +86,16 @@ class Foundation_API SimpleFileChannel: public Channel SimpleFileChannel(const std::string& path); /// Creates the FileChannel for a file with the given path. - void open(); + void open() override; /// Opens the FileChannel and creates the log file if necessary. - void close(); + void close() override; /// Closes the FileChannel. - void log(const Message& msg); + void log(const Message& msg) override; /// Logs the given message to the file. - void setProperty(const std::string& name, const std::string& value); + void setProperty(const std::string& name, const std::string& value) override; /// Sets the property with the given name. /// /// The following properties are supported: @@ -107,7 +107,7 @@ class Foundation_API SimpleFileChannel: public Channel /// flushed to the log file. See the SimpleFileChannel /// class for details. - std::string getProperty(const std::string& name) const; + std::string getProperty(const std::string& name) const override; /// Returns the value of the property with the given name. /// See setProperty() for a description of the supported /// properties. @@ -130,7 +130,7 @@ class Foundation_API SimpleFileChannel: public Channel static const std::string PROP_FLUSH; protected: - ~SimpleFileChannel(); + ~SimpleFileChannel() override; void setRotation(const std::string& rotation); void setFlush(const std::string& flush); void rotate(); diff --git a/Externals/poco/Foundation/include/Poco/SimpleHashTable.h b/Externals/poco/Foundation/include/Poco/SimpleHashTable.h index ef8b7d634fd..9c6e9868cae 100644 --- a/Externals/poco/Foundation/include/Poco/SimpleHashTable.h +++ b/Externals/poco/Foundation/include/Poco/SimpleHashTable.h @@ -31,9 +31,8 @@ namespace Poco { -//@ deprecated template > -class SimpleHashTable +class POCO_DEPRECATED("use LinearHashTable") SimpleHashTable /// A SimpleHashTable stores a key value pair that can be looked up via a hashed key. /// /// In comparison to a HashTable, this class handles collisions by sequentially searching the next diff --git a/Externals/poco/Foundation/include/Poco/StreamCopier.h b/Externals/poco/Foundation/include/Poco/StreamCopier.h index fda660c43c4..1423fd3a1e5 100644 --- a/Externals/poco/Foundation/include/Poco/StreamCopier.h +++ b/Externals/poco/Foundation/include/Poco/StreamCopier.h @@ -19,6 +19,7 @@ #include "Poco/Foundation.h" +#include "Poco/Buffer.h" #include #include #include @@ -47,6 +48,21 @@ class Foundation_API StreamCopier /// integer is used to count the number of bytes copied. #endif + static std::streamsize copyStreamRange(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength, std::size_t bufferSize = 8192); + /// Writes range of bytes readable from istr to ostr, using an internal buffer. + /// + /// Returns the number of bytes copied. + +#if defined(POCO_HAVE_INT64) + static Poco::UInt64 copyStreamRange64(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength, std::size_t bufferSize = 8192); + /// Writes range of bytes readable from istr to ostr, using an internal buffer. + /// + /// Returns the number of bytes copied as a 64-bit unsigned integer. + /// + /// Note: the only difference to copyStreamRange() is that a 64-bit unsigned + /// integer is used to count the number of bytes copied. +#endif + static std::streamsize copyStreamUnbuffered(std::istream& istr, std::ostream& ostr); /// Writes all bytes readable from istr to ostr. /// @@ -62,6 +78,21 @@ class Foundation_API StreamCopier /// integer is used to count the number of bytes copied. #endif +static std::streamsize copyStreamRangeUnbuffered(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength); + /// Writes range of bytes readable from istr to ostr. + /// + /// Returns the number of bytes copied. + +#if defined(POCO_HAVE_INT64) + static Poco::UInt64 copyStreamRangeUnbuffered64(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength); + /// Writes range of bytes readable from istr to ostr. + /// + /// Returns the number of bytes copied as a 64-bit unsigned integer. + /// + /// Note: the only difference to copyStreamRangeUnbuffered() is that a 64-bit unsigned + /// integer is used to count the number of bytes copied. +#endif + static std::streamsize copyToString(std::istream& istr, std::string& str, std::size_t bufferSize = 8192); /// Appends all bytes readable from istr to the given string, using an internal buffer. /// @@ -76,6 +107,120 @@ class Foundation_API StreamCopier /// Note: the only difference to copyToString() is that a 64-bit unsigned /// integer is used to count the number of bytes copied. #endif + +private: + template + static T copyStreamImpl(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) + { + poco_assert (bufferSize > 0); + + Buffer buffer(bufferSize); + T len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + ostr.write(buffer.begin(), n); + if (istr && ostr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; + } + + template + static T copyStreamRangeImpl(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength, std::size_t bufferSize) + { + poco_assert (bufferSize > 0); + + if (bufferSize > static_cast(rangeLength)) + bufferSize = rangeLength; + + Buffer buffer(bufferSize); + T len = 0; + if (istr) + { + istr.seekg(rangeStart, std::ios_base::beg); + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + ostr.write(buffer.begin(), n); + if ((len < rangeLength) && istr && ostr) + { + const std::size_t inputLen = rangeLength - len; + if (bufferSize > inputLen) + bufferSize = inputLen; + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + } + return len; + } + + template + static T copyToStringImpl(std::istream& istr, std::string& str, std::size_t bufferSize) + { + poco_assert (bufferSize > 0); + + Buffer buffer(bufferSize); + T len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + str.append(buffer.begin(), static_cast(n)); + if (istr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; + } + + template + static T copyStreamUnbufferedImpl(std::istream& istr, std::ostream& ostr) + { + char c = 0; + T len = 0; + istr.get(c); + while (istr && ostr) + { + ++len; + ostr.put(c); + istr.get(c); + } + return len; + } + + template + static T copyStreamRangeUnbufferedImpl(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength) + { + T len = 0; + char c = 0; + if (istr) + { + istr.seekg(rangeStart, std::ios_base::beg); + istr.get(c); + while (istr && ostr && (static_cast(len) < rangeLength)) + { + ostr.put(c); + ++len; + istr.get(c); + } + } + return len; + } }; diff --git a/Externals/poco/Foundation/include/Poco/String.h b/Externals/poco/Foundation/include/Poco/String.h index 32574ae9d5b..5fe74c1b9f4 100644 --- a/Externals/poco/Foundation/include/Poco/String.h +++ b/Externals/poco/Foundation/include/Poco/String.h @@ -21,17 +21,56 @@ #include "Poco/Foundation.h" #include "Poco/Ascii.h" #include +#if !defined(POCO_NO_WSTRING) +#include +#endif #include + // ignore loop unrolling warnings in this file #if defined(__clang__) && ((__clang_major__ > 3) || (__clang_major__ == 3 && __clang_minor__ >= 6)) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wpass-failed" #endif + namespace Poco { +template +std::size_t cstrlen(const C* str) + /// Returns the length of a zero-terminated C string. + /// For char and wchar_t based strings, overloads are + /// provided that call strlen() and wcslen(). +{ + const C* end = str; + while (*end) ++end; + return end - str; +} + + +inline std::size_t cstrlen(const char* str) + /// Returns the length of a zero-terminated C string. + /// This implementation calls std::strlen(). +{ + return std::strlen(str); +} + + +#if !defined(POCO_NO_WSTRING) + + +inline std::size_t cstrlen(const wchar_t* str) + /// Returns the length of a zero-terminated C string. + /// This implementation calls std::wcslen(). +{ + return std::wcslen(str); +} + + +#endif + + template S trimLeft(const S& str) /// Returns a copy of str with all leading @@ -494,7 +533,7 @@ S& replaceInPlace(S& str, const typename S::value_type* from, const typename S:: S result; typename S::size_type pos = 0; - typename S::size_type fromLen = std::strlen(from); + typename S::size_type fromLen = cstrlen(from); result.append(str, 0, start); do { @@ -763,10 +802,24 @@ struct CILess }; +template +void secureClear(T& str) + /// Securely clears a string's contents by first overwriting + /// the entire buffer (up to capacity) with zeroes, then + /// clearing the string. +{ + str.resize(str.capacity()); + std::fill(str.begin(), str.end(), typename T::value_type()); + str.clear(); +} + + } // namespace Poco + #if defined(__clang__) && ((__clang_major__ > 3) || (__clang_major__ == 3 && __clang_minor__ >= 6)) # pragma clang diagnostic pop #endif + #endif // Foundation_String_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/Thread.h b/Externals/poco/Foundation/include/Poco/Thread.h index 00d3da09e83..5b7e68b4e23 100644 --- a/Externals/poco/Foundation/include/Poco/Thread.h +++ b/Externals/poco/Foundation/include/Poco/Thread.h @@ -161,7 +161,7 @@ class Foundation_API Thread: private ThreadImpl /// The Thread ensures that the given target stays /// alive while the thread is running. - void start(Callable target, void* pData = 0); + void start(Callable target, void* pData = nullptr); /// Starts the thread with the given target and parameter. template diff --git a/Externals/poco/Foundation/include/Poco/Thread_POSIX.h b/Externals/poco/Foundation/include/Poco/Thread_POSIX.h index f758353d76e..1ae01a656c3 100644 --- a/Externals/poco/Foundation/include/Poco/Thread_POSIX.h +++ b/Externals/poco/Foundation/include/Poco/Thread_POSIX.h @@ -19,6 +19,7 @@ #include "Poco/Foundation.h" +#include "Poco/Mutex.h" #include "Poco/Runnable.h" #include "Poco/SignalHandler.h" #include "Poco/Event.h" @@ -31,7 +32,6 @@ #if !defined(POCO_NO_SYS_SELECT_H) #include #endif -#include #if defined(POCO_VXWORKS) #include #endif @@ -41,8 +41,8 @@ namespace Poco { class Foundation_API ThreadImpl { public: - typedef pthread_t TIDImpl; - typedef void (*Callable)(void*); + using TIDImpl = pthread_t; + using Callable = void (*)(void *); enum Priority { @@ -64,10 +64,12 @@ class Foundation_API ThreadImpl TIDImpl tidImpl() const; void setNameImpl(const std::string& threadName); std::string getNameImpl() const; +#ifndef POCO_NO_THREADNAME std::string getOSThreadNameImpl(); /// Returns the thread's name, expressed as an operating system /// specific name value. Return empty string if thread is not running. /// For test used only. +#endif void setPriorityImpl(int prio); int getPriorityImpl() const; void setOSPriorityImpl(int prio, int policy = SCHED_OTHER); @@ -99,7 +101,7 @@ class Foundation_API ThreadImpl public: CurrentThreadHolder() { - if (pthread_key_create(&_key, NULL)) + if (pthread_key_create(&_key, nullptr)) throw SystemException("cannot allocate thread context key"); } ~CurrentThreadHolder() @@ -126,7 +128,7 @@ class Foundation_API ThreadImpl prio(PRIO_NORMAL_IMPL), osPrio(), policy(SCHED_OTHER), - done(false), + done(Event::EVENT_MANUALRESET), stackSize(POCO_THREAD_STACK_SIZE), started(false), joined(false) @@ -145,8 +147,8 @@ class Foundation_API ThreadImpl int policy; Event done; std::size_t stackSize; - bool started; - bool joined; + std::atomic started; + std::atomic joined; std::string name; int affinity; mutable FastMutex mutex; diff --git a/Externals/poco/Foundation/include/Poco/Timer.h b/Externals/poco/Foundation/include/Poco/Timer.h index ce77ae2d181..45de0a56d93 100644 --- a/Externals/poco/Foundation/include/Poco/Timer.h +++ b/Externals/poco/Foundation/include/Poco/Timer.h @@ -71,7 +71,7 @@ class Foundation_API Timer: protected Runnable /// startInterval expires. /// To start the timer, call the Start() method. - virtual ~Timer(); + ~Timer() override; /// Stops and destroys the timer. void start(const AbstractTimerCallback& method); @@ -138,7 +138,7 @@ class Foundation_API Timer: protected Runnable /// longer to execute than the timer interval. protected: - void run(); + void run() override; private: long _startInterval; @@ -181,19 +181,19 @@ class TimerCallback: public AbstractTimerCallback /// to use this template class. { public: - typedef void (C::*Callback)(Timer&); + using Callback = void (C::*)(Timer &); + + TimerCallback() = delete; TimerCallback(C& object, Callback method): _pObject(&object), _method(method) { } - TimerCallback(const TimerCallback& callback): _pObject(callback._pObject), _method(callback._method) + TimerCallback(const TimerCallback& callback): AbstractTimerCallback(callback), _pObject(callback._pObject), _method(callback._method) { } - ~TimerCallback() - { - } + ~TimerCallback() override = default; TimerCallback& operator = (const TimerCallback& callback) { @@ -205,19 +205,17 @@ class TimerCallback: public AbstractTimerCallback return *this; } - void invoke(Timer& timer) const + void invoke(Timer& timer) const override { (_pObject->*_method)(timer); } - AbstractTimerCallback* clone() const + AbstractTimerCallback* clone() const override { return new TimerCallback(*this); } private: - TimerCallback(); - C* _pObject; Callback _method; }; diff --git a/Externals/poco/Foundation/include/Poco/Types.h b/Externals/poco/Foundation/include/Poco/Types.h index 8aa919e3dca..fe51a233fa8 100644 --- a/Externals/poco/Foundation/include/Poco/Types.h +++ b/Externals/poco/Foundation/include/Poco/Types.h @@ -21,6 +21,16 @@ #include "Poco/Foundation.h" #include #include +#if defined(__clang__) || (defined (__GNUC__) && (__GNUC__ >= 3)) +# if (__cplusplus >= 201703L) +# if __has_include() +# include +# include +# include +# define POCO_HAVE_CXXABI_H +# endif // __has_include() +# endif // __cplusplus >= 201703L +#endif // defined(__clang__) || (defined (__GNUC__) && (__GNUC__ >= 3)) namespace Poco { @@ -37,7 +47,6 @@ using UInt64 = std::uint64_t; using IntPtr = std::intptr_t; using UIntPtr = std::uintptr_t; - #if defined(_MSC_VER) #if defined(_WIN64) #define POCO_PTR_IS_64_BIT 1 @@ -73,6 +82,47 @@ using UIntPtr = std::uintptr_t; #endif +inline std::string Foundation_API demangle(const char* typeName) +{ + std::string result(typeName); +#ifdef POCO_HAVE_CXXABI_H + int status; + char* demangled = abi::__cxa_demangle(typeName, nullptr, nullptr, &status); + if (demangled) + { + if (status == 0) result = demangled; + else + { + switch (status) + { + case -1: result = "[ERRMEM]"; break; + case -2: result = "[ERRNAME]"; break; + case -3: result = "[ERRARG]"; break; + default: result = "[ERRUNK]"; + } + } + + std::free(demangled); + } +#endif + return result; +} + + +template +std::string demangle() +{ + return demangle(typeid(T).name()); +} + + +template +std::string demangle(const T& t) +{ + return demangle(typeid(std::remove_const_t>).name()); +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/include/Poco/UTF8String.h b/Externals/poco/Foundation/include/Poco/UTF8String.h index f1330d57180..09245b37faf 100644 --- a/Externals/poco/Foundation/include/Poco/UTF8String.h +++ b/Externals/poco/Foundation/include/Poco/UTF8String.h @@ -37,6 +37,15 @@ struct Foundation_API UTF8 /// removeBOM() removes the UTF-8 Byte Order Mark sequence (0xEF, 0xBB, 0xBF) /// from the beginning of the given string, if it's there. { + enum NormalizationForm + /// Normalization form for normalize(). + { + NORMALIZATION_FORM_D, /// Canonical Decomposition + NORMALIZATION_FORM_C, /// Canonical Decomposition, followed by Canonical Composition + NORMALIZATION_FORM_KD, /// Compatibility Decomposition + NORMALIZATION_FORM_KC /// Compatibility Decomposition, followed by Canonical Composition + }; + static int icompare(const std::string& str, std::string::size_type pos, std::string::size_type n, std::string::const_iterator it2, std::string::const_iterator end2); static int icompare(const std::string& str1, const std::string& str2); static int icompare(const std::string& str1, std::string::size_type n1, const std::string& str2, std::string::size_type n2); @@ -74,6 +83,14 @@ struct Foundation_API UTF8 static std::string unescape(const std::string::const_iterator& begin, const std::string::const_iterator& end); /// Creates an UTF8 string from a string that contains escaped characters. + + static std::string normalize(const std::string& s, NormalizationForm form); + /// Normalizes the given UTF8 string according to the given normalization form. + /// Returns the normalized UTF8 string. + + static std::string normalize(const std::string::const_iterator& begin, const std::string::const_iterator& end, NormalizationForm form); + /// Normalizes the given UTF8 string range according to the given normalization form. + /// Returns the normalized UTF8 string. }; diff --git a/Externals/poco/Foundation/include/Poco/UUID.h b/Externals/poco/Foundation/include/Poco/UUID.h index 0e72f31c2b3..3ffda736842 100644 --- a/Externals/poco/Foundation/include/Poco/UUID.h +++ b/Externals/poco/Foundation/include/Poco/UUID.h @@ -40,6 +40,8 @@ class Foundation_API UUID /// draft by Leach/Salz from February, 1998 /// (http://www.ics.uci.edu/~ejw/authoring/uuid-guid/draft-leach-uuids-guids-01.txt) /// and also http://tools.ietf.org/html/draft-mealling-uuid-urn-05 + /// + /// Version 6 and 7 UUIDs are based on RFC 9562. { public: enum Version @@ -48,8 +50,9 @@ class Foundation_API UUID UUID_DCE_UID = 0x02, UUID_NAME_BASED = 0x03, UUID_RANDOM = 0x04, - UUID_NAME_BASED_SHA1 = 0x05 - + UUID_NAME_BASED_SHA1 = 0x05, + UUID_TIME_BASED_V6 = 0x06, + UUID_TIME_BASED_V7 = 0x07 }; UUID(); diff --git a/Externals/poco/Foundation/include/Poco/UUIDGenerator.h b/Externals/poco/Foundation/include/Poco/UUIDGenerator.h index b91c2d895e0..99000e209f8 100644 --- a/Externals/poco/Foundation/include/Poco/UUIDGenerator.h +++ b/Externals/poco/Foundation/include/Poco/UUIDGenerator.h @@ -39,6 +39,8 @@ class Foundation_API UUIDGenerator /// RFC 2518 (WebDAV), section 6.4.1 and the UUIDs and GUIDs internet /// draft by Leach/Salz from February, 1998 /// (http://ftp.ics.uci.edu/pub/ietf/webdav/uuid-guid/draft-leach-uuids-guids-01.txt) + /// + /// Version 6 and 7 UUIDs are based on RFC 9562. { public: UUIDGenerator(); @@ -78,6 +80,13 @@ class Foundation_API UUIDGenerator /// The UUID::version() method can be used to determine the actual kind of /// the UUID generated. + UUID createV6(); + /// Creates a time-based version 6 UUID (according to RFC 9562) with a MAC address. + /// If no MAC address is available, a random MAC address will be generated. + + UUID createV7(); + /// Creates a time-based version 7 UUID (according to RFC 9652). + void seed(UInt32 n); /// Seeds the internal pseudo random generator for time-based UUIDs with the given seed. @@ -90,13 +99,13 @@ class Foundation_API UUIDGenerator protected: Timestamp::UtcTimeVal timeStamp(); - void getNode(); private: FastMutex _mutex; Random _random; Timestamp _lastTime; int _ticks; + Poco::UInt16 _counter; Environment::NodeId _node; bool _haveNode; diff --git a/Externals/poco/Foundation/include/Poco/Version.h b/Externals/poco/Foundation/include/Poco/Version.h index eff51fededb..468bc52e7d3 100644 --- a/Externals/poco/Foundation/include/Poco/Version.h +++ b/Externals/poco/Foundation/include/Poco/Version.h @@ -36,6 +36,6 @@ // Bx: beta releases // -#define POCO_VERSION 0x010D0300 +#define POCO_VERSION 0x010E0000 #endif // Foundation_Version_INCLUDED diff --git a/Externals/poco/Foundation/include/Poco/zconf.h b/Externals/poco/Foundation/include/Poco/zconf.h index fb76ffe312a..62adc8d8431 100644 --- a/Externals/poco/Foundation/include/Poco/zconf.h +++ b/Externals/poco/Foundation/include/Poco/zconf.h @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -300,14 +300,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/Externals/poco/Foundation/include/Poco/zlib.h b/Externals/poco/Foundation/include/Poco/zlib.h index 6b7244f9943..8d4b932eaf6 100644 --- a/Externals/poco/Foundation/include/Poco/zlib.h +++ b/Externals/poco/Foundation/include/Poco/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.3, August 18th, 2023 + version 1.3.1, January 22nd, 2024 - Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.3" -#define ZLIB_VERNUM 0x1300 +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 3 -#define ZLIB_VER_REVISION 0 +#define ZLIB_VER_REVISION 1 #define ZLIB_VER_SUBREVISION 0 /* @@ -936,10 +936,10 @@ ZEXTERN int ZEXPORT inflateSync(z_streamp strm); inflateSync returns Z_OK if a possible full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, @@ -1758,14 +1758,14 @@ ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. + len2. len2 must be non-negative. */ /* ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); Return the operator corresponding to length len2, to be used with - crc32_combine_op(). + crc32_combine_op(). len2 must be non-negative. */ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); diff --git a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj index f4c6753a01b..534d086e729 100644 --- a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 ActiveMethod {F8B51F16-52AE-3D43-B55B-BD62ED422C2F} ActiveMethod @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 ActiveMethodd ActiveMethodd ActiveMethodd @@ -247,7 +248,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +259,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +283,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +315,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +326,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +350,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +382,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +393,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +417,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +449,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +460,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +484,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +516,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +527,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +551,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +583,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +594,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +618,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +637,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj.filters index bd142a0f107..7fd5553daae 100644 --- a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {7a53c284-9806-44c4-957d-4fa88cf2c27d} + {227f29cc-966c-4fb4-b80f-84ca5f7439bb} - {66f9ee0d-3733-4ee9-8681-df583f77928a} + {4e9c3e31-0c6c-4edc-8ddd-b80c0a4707a3} diff --git a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj index db3219d51d7..184f4e5653f 100644 --- a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 ActiveMethod {F8B51F16-52AE-3D43-B55B-BD62ED422C2F} ActiveMethod @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + ActiveMethodd + ActiveMethodd + ActiveMethodd + ActiveMethod + ActiveMethod + ActiveMethod ActiveMethodd ActiveMethodd ActiveMethodd @@ -171,6 +250,36 @@ ActiveMethod ActiveMethod + + binA64\ + objA64\ActiveMethod\$(Configuration)\ + true + + + binA64\ + objA64\ActiveMethod\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\ActiveMethod\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\ActiveMethod\$(Configuration)\ + false + + + binA64\static_md\ + objA64\ActiveMethod\$(Configuration)\ + true + + + binA64\static_md\ + objA64\ActiveMethod\$(Configuration)\ + false + bin\ obj\ActiveMethod\$(Configuration)\ @@ -231,6 +340,207 @@ obj64\ActiveMethod\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\ActiveMethod.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\ActiveMethodd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\ActiveMethod.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\ActiveMethodd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +557,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +568,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +592,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +624,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +635,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +659,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +691,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +702,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +726,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +758,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +769,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +793,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +825,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +836,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +860,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +892,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +903,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\ActiveMethodd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +927,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +946,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj.filters index 01f8b225d2b..c40c26e4a61 100644 --- a/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/ActiveMethod/ActiveMethod_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {892e841b-bbec-44c3-8b3b-a4cabe7d5624} + {675c9a08-df1e-451c-99a5-18ccd941108a} - {2b600ec9-e46e-4b02-9c2e-b1d017ac136e} + {5d946aef-051e-4b01-b30e-cd5bba375e97} diff --git a/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj b/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj index 0cdaa03af86..cdd50eec2a0 100644 --- a/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 Activity {479B938E-57EA-3332-AFD3-E7285DE4EB28} Activity @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 Activityd Activityd Activityd @@ -247,7 +248,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +259,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +283,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +315,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +326,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +350,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +382,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +393,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +417,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +449,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +460,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +484,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +516,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +527,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +551,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +583,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +594,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +618,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +637,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj.filters index 604d8016e5d..01f51aa1a36 100644 --- a/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Activity/Activity_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {28deeb4b-b165-4722-b64a-927fed711cc9} + {ce0c5e57-5f27-4c66-bb96-dd2c5e4ea499} - {e9852f8a-e2af-4ed5-8e93-18d0c3056e3a} + {2fee14fa-315a-43b0-8b7f-8a299f5c5d6f} diff --git a/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj b/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj index bbe1b38a8c2..cd36f94dfbc 100644 --- a/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 Activity {479B938E-57EA-3332-AFD3-E7285DE4EB28} Activity @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + Activityd + Activityd + Activityd + Activity + Activity + Activity Activityd Activityd Activityd @@ -171,6 +250,36 @@ Activity Activity + + binA64\ + objA64\Activity\$(Configuration)\ + true + + + binA64\ + objA64\Activity\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\Activity\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\Activity\$(Configuration)\ + false + + + binA64\static_md\ + objA64\Activity\$(Configuration)\ + true + + + binA64\static_md\ + objA64\Activity\$(Configuration)\ + false + bin\ obj\Activity\$(Configuration)\ @@ -231,6 +340,207 @@ obj64\Activity\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\Activity.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Activityd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Activity.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\Activityd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +557,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +568,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +592,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +624,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +635,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +659,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +691,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +702,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +726,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +758,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +769,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +793,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +825,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +836,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +860,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +892,10 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +903,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Activityd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +927,10 @@ Level3 Default + $(OutDir)$(TargetName).pdb true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +946,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj.filters index ed2babd93e5..24dd086eb45 100644 --- a/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Activity/Activity_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {d2c80216-e0de-43c8-94e5-ffb185915fee} + {7843dbcc-c57d-4033-8862-e46d64b101a2} - {20c5270a-b308-45bf-a511-c8a797b886c2} + {06185875-d62b-4387-ae81-9332b2bbe4da} diff --git a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj index adbb3b61ecb..26f533a4286 100644 --- a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 BinaryReaderWriter {A5639B95-211B-36F1-994E-F05361C18EBF} BinaryReaderWriter @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 BinaryReaderWriterd BinaryReaderWriterd BinaryReaderWriterd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj.filters index 4279e82bae2..89b0014a764 100644 --- a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {2f7ee134-f1b2-47d1-b1d4-4ea167d0761a} + {44bad71f-689f-4acf-a19f-52c62272ab9a} - {b49b1131-efbd-47f7-a618-42ab4c4572c9} + {54e0fb0b-de51-4686-9ac0-50c1a3f1bc11} diff --git a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj index f9907616a96..0a577c86ff8 100644 --- a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 BinaryReaderWriter {A5639B95-211B-36F1-994E-F05361C18EBF} BinaryReaderWriter @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + BinaryReaderWriterd + BinaryReaderWriterd + BinaryReaderWriterd + BinaryReaderWriter + BinaryReaderWriter + BinaryReaderWriter BinaryReaderWriterd BinaryReaderWriterd BinaryReaderWriterd @@ -171,6 +250,36 @@ BinaryReaderWriter BinaryReaderWriter + + binA64\ + objA64\BinaryReaderWriter\$(Configuration)\ + true + + + binA64\ + objA64\BinaryReaderWriter\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\BinaryReaderWriter\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\BinaryReaderWriter\$(Configuration)\ + false + + + binA64\static_md\ + objA64\BinaryReaderWriter\$(Configuration)\ + true + + + binA64\static_md\ + objA64\BinaryReaderWriter\$(Configuration)\ + false + bin\ obj\BinaryReaderWriter\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\BinaryReaderWriter\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\BinaryReaderWriter.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\BinaryReaderWriterd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\BinaryReaderWriter.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\BinaryReaderWriterd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\BinaryReaderWriterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj.filters index 46dc18bb922..7525083b43c 100644 --- a/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {d0a67174-96fb-4282-9840-090d8aacd275} + {711c0015-3bd2-44b3-a56d-d6e7ed572fd0} - {f437fa22-5a1d-4902-b09a-64f7d50d766f} + {320f04c0-e38f-4031-8d9b-bb27b09ba582} diff --git a/Externals/poco/Foundation/samples/CMakeLists.txt b/Externals/poco/Foundation/samples/CMakeLists.txt index cc82eb2996d..f70c294e103 100644 --- a/Externals/poco/Foundation/samples/CMakeLists.txt +++ b/Externals/poco/Foundation/samples/CMakeLists.txt @@ -17,3 +17,4 @@ add_subdirectory(hmacmd5) add_subdirectory(inflate) add_subdirectory(md5) add_subdirectory(uuidgen) +add_subdirectory(trace) diff --git a/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj b/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj index ad08097d3a0..20c30015fde 100644 --- a/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 DateTime {9549D36E-CB01-3BA4-916D-0BCEA078A8AF} DateTime @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 DateTimed DateTimed DateTimed @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj.filters index 1c919f7c7fe..ab0882dc022 100644 --- a/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/DateTime/DateTime_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {135717ee-ed21-488a-b2ec-aedb4d97be13} + {ebe608e5-f2d4-43ce-bfc4-dcc98ecae85d} - {e9670977-d50c-455d-9936-09f4e2756f2d} + {5f894cc5-0d8b-4b7a-90f7-7c77fd415b18} diff --git a/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj b/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj index a636cc0372f..c23a3935091 100644 --- a/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 DateTime {9549D36E-CB01-3BA4-916D-0BCEA078A8AF} DateTime @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + DateTimed + DateTimed + DateTimed + DateTime + DateTime + DateTime DateTimed DateTimed DateTimed @@ -171,6 +250,36 @@ DateTime DateTime + + binA64\ + objA64\DateTime\$(Configuration)\ + true + + + binA64\ + objA64\DateTime\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\DateTime\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\DateTime\$(Configuration)\ + false + + + binA64\static_md\ + objA64\DateTime\$(Configuration)\ + true + + + binA64\static_md\ + objA64\DateTime\$(Configuration)\ + false + bin\ obj\DateTime\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\DateTime\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\DateTime.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\DateTimed.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\DateTime.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\DateTimed.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\DateTimed.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj.filters index d519ad1dc77..4efebddbb73 100644 --- a/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/DateTime/DateTime_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {c1613024-0e9f-474e-9b6f-433829efe103} + {22cbb75d-9685-4d80-8f5d-5a0538c88b27} - {a7d8efa7-9367-480a-9f4b-95c8b4852fe5} + {a2298173-8d7a-4000-b8c3-97478580fd10} diff --git a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj index e539a80ae06..b002062415c 100644 --- a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 LineEndingConverter {354BBE76-D088-3931-940C-797F514D2E40} LineEndingConverter @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 LineEndingConverterd LineEndingConverterd LineEndingConverterd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj.filters index cff9c64eeb6..322bba01575 100644 --- a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {3779bde3-e2e7-4d0b-9de4-f030a18f532a} + {1b61a251-38b3-4943-ab55-edcc02120504} - {7e32d812-2fb6-467f-8366-70cef4b64309} + {39ba53d0-ad63-468c-bc61-e73e89ed3b1c} diff --git a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj index 985b57333c2..394903a6e29 100644 --- a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 LineEndingConverter {354BBE76-D088-3931-940C-797F514D2E40} LineEndingConverter @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + LineEndingConverterd + LineEndingConverterd + LineEndingConverterd + LineEndingConverter + LineEndingConverter + LineEndingConverter LineEndingConverterd LineEndingConverterd LineEndingConverterd @@ -171,6 +250,36 @@ LineEndingConverter LineEndingConverter + + binA64\ + objA64\LineEndingConverter\$(Configuration)\ + true + + + binA64\ + objA64\LineEndingConverter\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\LineEndingConverter\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\LineEndingConverter\$(Configuration)\ + false + + + binA64\static_md\ + objA64\LineEndingConverter\$(Configuration)\ + true + + + binA64\static_md\ + objA64\LineEndingConverter\$(Configuration)\ + false + bin\ obj\LineEndingConverter\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\LineEndingConverter\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\LineEndingConverter.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\LineEndingConverterd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\LineEndingConverter.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\LineEndingConverterd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\LineEndingConverterd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj.filters index aea78bea752..2b9fb959d46 100644 --- a/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/LineEndingConverter/LineEndingConverter_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {fcd219b7-3109-4aaa-b59f-816e2ecf5a54} + {e51384d2-58ca-4d95-9e4d-59179444ba84} - {c3edf92d-c997-4c04-9744-adeaf047791d} + {a17b1587-a710-4f6c-b95a-dcb22ba84dba} diff --git a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj index 981e01cf200..37770d99909 100644 --- a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 LogRotation {0382A4E1-4461-391B-A8D6-A35251CD7464} LogRotation @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 LogRotationd LogRotationd LogRotationd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj.filters index 36484fecf3e..06599744254 100644 --- a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {4633baa5-3ea1-4105-8771-bc984d036580} + {178e1297-b52a-416e-95d0-3cd119fcf392} - {f614d0f5-a71f-47f6-87c9-c12dcde50ccb} + {4f1f5882-6a98-43d4-a08c-a660e643a5bb} diff --git a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj index efb0cef0d5d..b802f5de168 100644 --- a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 LogRotation {0382A4E1-4461-391B-A8D6-A35251CD7464} LogRotation @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + LogRotationd + LogRotationd + LogRotationd + LogRotation + LogRotation + LogRotation LogRotationd LogRotationd LogRotationd @@ -171,6 +250,36 @@ LogRotation LogRotation + + binA64\ + objA64\LogRotation\$(Configuration)\ + true + + + binA64\ + objA64\LogRotation\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\LogRotation\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\LogRotation\$(Configuration)\ + false + + + binA64\static_md\ + objA64\LogRotation\$(Configuration)\ + true + + + binA64\static_md\ + objA64\LogRotation\$(Configuration)\ + false + bin\ obj\LogRotation\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\LogRotation\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\LogRotation.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\LogRotationd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\LogRotation.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\LogRotationd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\LogRotationd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj.filters index 1427c7e91d2..44a59ccb26a 100644 --- a/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/LogRotation/LogRotation_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {ca35f4d8-7ecd-40e5-b682-185f9d53b3d9} + {51db8ba6-27c5-4e37-9906-98a11cf86757} - {83895cd7-c54c-4dd5-bf72-1dac1d3a1c30} + {c6414201-2818-422a-ab48-e070fe88802a} diff --git a/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj b/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj index 324c1ed9238..31a69ce7485 100644 --- a/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 Logger {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59} Logger @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 Loggerd Loggerd Loggerd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj.filters index dc84124c493..73287e91f82 100644 --- a/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Logger/Logger_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {5c55032f-8deb-4310-add6-f5645af00d6d} + {9d1fd5ec-ef9e-4a20-b427-8a6183c01404} - {f779215a-4132-40f2-b6c1-4912e1472967} + {528bc9e1-2fe8-4045-844b-8da1e387674e} diff --git a/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj b/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj index b0188d7d832..ee4d632a7ed 100644 --- a/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 Logger {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59} Logger @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + Loggerd + Loggerd + Loggerd + Logger + Logger + Logger Loggerd Loggerd Loggerd @@ -171,6 +250,36 @@ Logger Logger + + binA64\ + objA64\Logger\$(Configuration)\ + true + + + binA64\ + objA64\Logger\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\Logger\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\Logger\$(Configuration)\ + false + + + binA64\static_md\ + objA64\Logger\$(Configuration)\ + true + + + binA64\static_md\ + objA64\Logger\$(Configuration)\ + false + bin\ obj\Logger\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\Logger\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\Logger.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Loggerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Logger.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\Loggerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Loggerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj.filters index dedda1b521e..0fc5c657dce 100644 --- a/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Logger/Logger_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {b7ab7f64-4b91-4f5a-b658-a3d6bc3845c5} + {6e53520b-13a4-433b-bd28-1467b79bffa0} - {29d6706a-8ac3-4f11-b5ad-7deec5e25b0d} + {368b3ac4-633b-4618-8492-d46172820b37} diff --git a/Externals/poco/Foundation/samples/Makefile b/Externals/poco/Foundation/samples/Makefile index af41738fbb8..cd88072cd23 100644 --- a/Externals/poco/Foundation/samples/Makefile +++ b/Externals/poco/Foundation/samples/Makefile @@ -26,3 +26,4 @@ projects: $(MAKE) -C StringTokenizer $(MAKECMDGOALS) $(MAKE) -C URI $(MAKECMDGOALS) $(MAKE) -C uuidgen $(MAKECMDGOALS) + $(MAKE) -C trace $(MAKECMDGOALS) diff --git a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj index 69502d70c58..956940f245f 100644 --- a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 NotificationQueue {4238E8B1-08D7-3469-8896-2A643B585A2D} NotificationQueue @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 NotificationQueued NotificationQueued NotificationQueued @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj.filters index 37481c4f869..d1c997890fd 100644 --- a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {db133431-cce4-446b-b882-bb24bc1b05f6} + {feb8c43c-7a1a-4dff-972a-eabd9ddd02b9} - {3777d111-09a1-4a58-8c87-e1550bf5967a} + {8f16e6a2-60b3-4eea-85e3-ac88699752de} diff --git a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj index 19ee67378c6..87c713acfe2 100644 --- a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 NotificationQueue {4238E8B1-08D7-3469-8896-2A643B585A2D} NotificationQueue @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + NotificationQueued + NotificationQueued + NotificationQueued + NotificationQueue + NotificationQueue + NotificationQueue NotificationQueued NotificationQueued NotificationQueued @@ -171,6 +250,36 @@ NotificationQueue NotificationQueue + + binA64\ + objA64\NotificationQueue\$(Configuration)\ + true + + + binA64\ + objA64\NotificationQueue\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\NotificationQueue\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\NotificationQueue\$(Configuration)\ + false + + + binA64\static_md\ + objA64\NotificationQueue\$(Configuration)\ + true + + + binA64\static_md\ + objA64\NotificationQueue\$(Configuration)\ + false + bin\ obj\NotificationQueue\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\NotificationQueue\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\NotificationQueue.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\NotificationQueued.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\NotificationQueue.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\NotificationQueued.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\NotificationQueued.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj.filters index 805dfecb7d4..b6706a73f7c 100644 --- a/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/NotificationQueue/NotificationQueue_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {6d7b139b-e57c-4750-96b2-4b9ae4ded62d} + {016823f4-e744-4f1a-93fe-cf32693aca06} - {0cdc9ade-d9d7-4589-9303-490595288a25} + {d75c60e7-2a9e-4ffe-9285-6015553ca6b8} diff --git a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj index 29b796b7882..682487a05a1 100644 --- a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 StringTokenizer {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE} StringTokenizer @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 StringTokenizerd StringTokenizerd StringTokenizerd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj.filters index 2b76a7f7dd7..22178e8b69e 100644 --- a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {846e137a-1566-4636-8cbf-e86574c23859} + {c1ea7f7a-ae40-432b-aacd-ee9b6e42f7fd} - {654251ed-96a5-40ed-8122-f3d8f28fd08f} + {19754309-6089-4551-b531-af30e83d3bd5} diff --git a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj index 29918b9f1f5..5be83c8e9a8 100644 --- a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 StringTokenizer {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE} StringTokenizer @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + StringTokenizerd + StringTokenizerd + StringTokenizerd + StringTokenizer + StringTokenizer + StringTokenizer StringTokenizerd StringTokenizerd StringTokenizerd @@ -171,6 +250,36 @@ StringTokenizer StringTokenizer + + binA64\ + objA64\StringTokenizer\$(Configuration)\ + true + + + binA64\ + objA64\StringTokenizer\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\StringTokenizer\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\StringTokenizer\$(Configuration)\ + false + + + binA64\static_md\ + objA64\StringTokenizer\$(Configuration)\ + true + + + binA64\static_md\ + objA64\StringTokenizer\$(Configuration)\ + false + bin\ obj\StringTokenizer\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\StringTokenizer\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\StringTokenizer.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\StringTokenizerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\StringTokenizer.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\StringTokenizerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\StringTokenizerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj.filters index 3ed87ff1448..d31f2515898 100644 --- a/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/StringTokenizer/StringTokenizer_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {565f9a5c-959a-499d-9f75-f001cf1cb37f} + {24516b36-9099-4c2b-9101-a4ccc85a2b91} - {e89a3a39-3f66-4b5a-9ff5-1a17b022a8fd} + {5eef3501-7b5f-42ad-8d07-90e39c0b3f31} diff --git a/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj b/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj index aee7e1e61de..197888dcc27 100644 --- a/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 Timer {84150D4A-0A5A-30D5-8140-24B0F61CAF9B} Timer @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 Timerd Timerd Timerd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj.filters index 87b6a16411c..203d4d969d5 100644 --- a/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Timer/Timer_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {4eb319d7-20c6-419a-80e9-57b055488352} + {19d020f0-e962-43b7-8da8-39f146625c08} - {9280f75c-325a-496f-9fe9-c0cec050e2f7} + {653eada5-9dc5-4b8b-ab1e-f3bd0faefa20} diff --git a/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj b/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj index 8a9fe513db2..aa25c8c70bf 100644 --- a/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 Timer {84150D4A-0A5A-30D5-8140-24B0F61CAF9B} Timer @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + Timerd + Timerd + Timerd + Timer + Timer + Timer Timerd Timerd Timerd @@ -171,6 +250,36 @@ Timer Timer + + binA64\ + objA64\Timer\$(Configuration)\ + true + + + binA64\ + objA64\Timer\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\Timer\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\Timer\$(Configuration)\ + false + + + binA64\static_md\ + objA64\Timer\$(Configuration)\ + true + + + binA64\static_md\ + objA64\Timer\$(Configuration)\ + false + bin\ obj\Timer\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\Timer\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\Timer.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Timerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\Timer.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\Timerd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\Timerd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj.filters index 9e7093d13b4..7617259e1db 100644 --- a/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/Timer/Timer_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {08ecdff9-af79-471c-a303-8e2b00fb1b24} + {4ffa6e91-ef5d-4191-a698-89abd8ea4639} - {7591104b-21a6-4f0b-be40-4234685840a8} + {98259e1e-cfe0-4ed0-90b0-7674d646a00b} diff --git a/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj b/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj index d07e891d5b5..022ffdf68b9 100644 --- a/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 URI {7D649DAD-3849-3E23-9BB4-802AC60E4E98} URI @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 URId URId URId @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj.filters index 86b496de558..b95f91e8ba5 100644 --- a/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/URI/URI_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {92d3fba9-32ef-48a2-980a-ec547bf36271} + {cd5196d2-340d-46c2-adad-1077dc529552} - {76688abd-68b9-4bcb-b433-f7ee3e90cf34} + {8cbf6f84-b3e8-49e6-881d-4b8293a7fc62} diff --git a/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj b/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj index ae8887cb440..8b4107461aa 100644 --- a/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 URI {7D649DAD-3849-3E23-9BB4-802AC60E4E98} URI @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + URId + URId + URId + URI + URI + URI URId URId URId @@ -171,6 +250,36 @@ URI URI + + binA64\ + objA64\URI\$(Configuration)\ + true + + + binA64\ + objA64\URI\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\URI\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\URI\$(Configuration)\ + false + + + binA64\static_md\ + objA64\URI\$(Configuration)\ + true + + + binA64\static_md\ + objA64\URI\$(Configuration)\ + false + bin\ obj\URI\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\URI\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\URI.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\URId.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\URI.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\URId.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\URId.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj.filters index b732ef59a42..6346a316c24 100644 --- a/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/URI/URI_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {96bcb0f8-a664-430d-8679-02e066aae41c} + {33a989ba-c3b9-46e9-9e13-b24c66ae351d} - {97f6aa29-b078-4ace-9983-d766425093ec} + {b7904081-d696-412f-b3ed-c7fc31bfda02} diff --git a/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj b/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj index e7e529b19ed..3eec2f7ef90 100644 --- a/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 base64decode {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8} base64decode @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 base64decoded base64decoded base64decoded @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj.filters index e6a45fad8d7..b5c21b92853 100644 --- a/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/base64decode/base64decode_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {0c721a2a-f898-45a1-a228-07eda937398c} + {b0d1e03c-9225-411c-affb-cb28b0847863} - {793b38ee-f3e5-4314-b142-77620fd16c69} + {9766eac7-3918-4ac5-9f4a-e57d640c4e4e} diff --git a/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj b/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj index fae2e4020ca..59411896e40 100644 --- a/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 base64decode {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8} base64decode @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + base64decoded + base64decoded + base64decoded + base64decode + base64decode + base64decode base64decoded base64decoded base64decoded @@ -171,6 +250,36 @@ base64decode base64decode + + binA64\ + objA64\base64decode\$(Configuration)\ + true + + + binA64\ + objA64\base64decode\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\base64decode\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\base64decode\$(Configuration)\ + false + + + binA64\static_md\ + objA64\base64decode\$(Configuration)\ + true + + + binA64\static_md\ + objA64\base64decode\$(Configuration)\ + false + bin\ obj\base64decode\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\base64decode\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\base64decode.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\base64decoded.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\base64decode.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\base64decoded.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\base64decoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj.filters index dea1ef2649b..f923b888f89 100644 --- a/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/base64decode/base64decode_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {b0153e04-e127-4edf-9637-5e579d3a4b9d} + {59872215-9b97-4920-b5a3-12dc4c7564d8} - {a088c7c2-0b27-4db6-8be3-ccb17b8b0e70} + {81aa2220-2c2a-490d-b5cb-a522ccc3cfe1} diff --git a/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj b/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj index 219af34afc4..7aa674defc3 100644 --- a/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 base64encode {6CCDAF5F-4AD1-3F87-8052-B99952B203E0} base64encode @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 base64encoded base64encoded base64encoded @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj.filters index 38fe167c64c..90d8fe3c5dd 100644 --- a/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/base64encode/base64encode_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {577d47fb-1d30-4aea-a5ab-5fa63c06554a} + {ffb75f47-138c-4bf0-982e-e19c2cbe3d90} - {a2766115-eeb8-4ac0-afa4-ffc85f91231a} + {0cdc6816-0f06-4925-bc82-b6629c27ce68} diff --git a/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj b/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj index d06e7e01cff..3001c66ddf0 100644 --- a/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 base64encode {6CCDAF5F-4AD1-3F87-8052-B99952B203E0} base64encode @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + base64encoded + base64encoded + base64encoded + base64encode + base64encode + base64encode base64encoded base64encoded base64encoded @@ -171,6 +250,36 @@ base64encode base64encode + + binA64\ + objA64\base64encode\$(Configuration)\ + true + + + binA64\ + objA64\base64encode\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\base64encode\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\base64encode\$(Configuration)\ + false + + + binA64\static_md\ + objA64\base64encode\$(Configuration)\ + true + + + binA64\static_md\ + objA64\base64encode\$(Configuration)\ + false + bin\ obj\base64encode\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\base64encode\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\base64encode.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\base64encoded.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\base64encode.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\base64encoded.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\base64encoded.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj.filters index 7f870472a69..7170adc52fb 100644 --- a/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/base64encode/base64encode_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {35fe9b64-864a-4c71-9c05-6e38b1214252} + {7a22cd4c-c04c-41cf-84fc-a67bdca1e117} - {a1e3053a-92c7-4934-a62f-5e5932edc996} + {bdb61573-182f-4022-9c2e-972f5a20530c} diff --git a/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj b/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj index ef62f30b359..03c88a5c6c4 100644 --- a/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 deflate {6D323430-D9E1-3173-A087-7A6E084B63CD} deflate @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 deflated deflated deflated @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj.filters index 959378db724..a621f52873e 100644 --- a/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/deflate/deflate_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {fd25930e-ce19-433b-bfcf-9e0121de858e} + {c1a9f77a-53d8-4f31-9f9e-ad7b5c09f0be} - {4fabe4c8-5718-454d-beba-e340cf34c2fc} + {395aa50d-a892-4655-9275-85aef464973c} diff --git a/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj b/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj index fe1861df1b7..6ed24e48d7a 100644 --- a/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 deflate {6D323430-D9E1-3173-A087-7A6E084B63CD} deflate @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + deflated + deflated + deflated + deflate + deflate + deflate deflated deflated deflated @@ -171,6 +250,36 @@ deflate deflate + + binA64\ + objA64\deflate\$(Configuration)\ + true + + + binA64\ + objA64\deflate\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\deflate\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\deflate\$(Configuration)\ + false + + + binA64\static_md\ + objA64\deflate\$(Configuration)\ + true + + + binA64\static_md\ + objA64\deflate\$(Configuration)\ + false + bin\ obj\deflate\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\deflate\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\deflate.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\deflated.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\deflate.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\deflated.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\deflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj.filters index f719f7ea09f..948ddd6f288 100644 --- a/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/deflate/deflate_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {31767592-63c4-44d1-8440-44b472e8c8c5} + {84f2994c-f6c3-4a6b-83e5-92dc3eac8f88} - {d2680cbb-8ebb-4b83-adb0-c36d5538d4d7} + {cb781dc6-2d40-4eb8-8ced-4f055d7e078c} diff --git a/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj b/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj index 89de8b60a36..467eb013cc1 100644 --- a/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 dir {39E0E21B-10A6-3D5A-9B68-70F20C05D80A} dir @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 dird dird dird @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj.filters index 145965b5b4b..a52081b419b 100644 --- a/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/dir/dir_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {5a91af72-cbbc-4920-bfb5-0f9825c697ce} + {c0712b30-45e7-43f1-ad87-2a64cb305cfc} - {65250224-b19f-489f-9316-fe2acc860e11} + {3714279f-12d6-484c-aabf-d137ad2fd154} diff --git a/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj b/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj index ba8d4354bb3..6be7843e005 100644 --- a/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 dir {39E0E21B-10A6-3D5A-9B68-70F20C05D80A} dir @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + dird + dird + dird + dir + dir + dir dird dird dird @@ -171,6 +250,36 @@ dir dir + + binA64\ + objA64\dir\$(Configuration)\ + true + + + binA64\ + objA64\dir\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\dir\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\dir\$(Configuration)\ + false + + + binA64\static_md\ + objA64\dir\$(Configuration)\ + true + + + binA64\static_md\ + objA64\dir\$(Configuration)\ + false + bin\ obj\dir\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\dir\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\dir.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\dird.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\dir.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\dird.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\dird.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj.filters index 5afa4445406..716f283372d 100644 --- a/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/dir/dir_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {868cd79d-7114-4254-884b-bb052b40f35f} + {05ef918a-b268-4391-ba81-263580eb33b7} - {12c00f17-475c-44a0-938c-99eb495fab90} + {8999a1c9-551e-4a32-879b-a75c86bcb680} diff --git a/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj b/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj index 2ccf28ce090..12017532a07 100644 --- a/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 grep {C743C479-4D47-37FE-A2EB-59CDD7A627FE} grep @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 grepd grepd grepd @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj.filters index 2a07d3d7689..333f707fdfb 100644 --- a/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/grep/grep_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {c9b905b9-9166-406a-811d-ab3fad6e5af6} + {33e283a2-03ca-4a83-b526-84149d9fa4ad} - {edce1181-a1d9-4c7e-a9bd-76cbaffc53e1} + {6d194314-0ec0-400e-a85e-89d5f483b25d} diff --git a/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj b/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj index 5d6eec3623a..d0e960454a9 100644 --- a/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 grep {C743C479-4D47-37FE-A2EB-59CDD7A627FE} grep @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + grepd + grepd + grepd + grep + grep + grep grepd grepd grepd @@ -171,6 +250,36 @@ grep grep + + binA64\ + objA64\grep\$(Configuration)\ + true + + + binA64\ + objA64\grep\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\grep\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\grep\$(Configuration)\ + false + + + binA64\static_md\ + objA64\grep\$(Configuration)\ + true + + + binA64\static_md\ + objA64\grep\$(Configuration)\ + false + bin\ obj\grep\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\grep\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\grep.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\grepd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\grep.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\grepd.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\grepd.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj.filters index 295d640901c..b9bb765c4c9 100644 --- a/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/grep/grep_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {c18ddd9a-cecb-4de8-98db-04c07d62ce9b} + {44a9011d-3de2-4904-bc87-27724f90b63b} - {22b69acd-4f11-4252-a95c-e1396fc9dfee} + {123045aa-645d-4577-b4f5-ee4aaf536a4a} diff --git a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj index b42ae03f40c..2be07e6d586 100644 --- a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 hmacmd5 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359} hmacmd5 @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 hmacmd5d hmacmd5d hmacmd5d @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj.filters index 7f980f827e0..744a15074a6 100644 --- a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {ff595c9a-c047-4c73-bc21-da9f95a95369} + {aef48dd6-68ec-4183-8693-65f188c8c2c0} - {15588798-ddb0-4f05-af39-6eeed0217ad1} + {48e55d0c-8786-4cb4-9342-ae1e00da7020} diff --git a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj index 4c8fad49ee4..5b0ef2b8a3a 100644 --- a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 hmacmd5 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359} hmacmd5 @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + hmacmd5d + hmacmd5d + hmacmd5d + hmacmd5 + hmacmd5 + hmacmd5 hmacmd5d hmacmd5d hmacmd5d @@ -171,6 +250,36 @@ hmacmd5 hmacmd5 + + binA64\ + objA64\hmacmd5\$(Configuration)\ + true + + + binA64\ + objA64\hmacmd5\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\hmacmd5\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\hmacmd5\$(Configuration)\ + false + + + binA64\static_md\ + objA64\hmacmd5\$(Configuration)\ + true + + + binA64\static_md\ + objA64\hmacmd5\$(Configuration)\ + false + bin\ obj\hmacmd5\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\hmacmd5\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\hmacmd5.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\hmacmd5d.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\hmacmd5.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\hmacmd5d.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\hmacmd5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj.filters index 1a859d49062..c518eb8bd93 100644 --- a/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/hmacmd5/hmacmd5_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {00c98e6e-2ad0-4ff1-b842-8caabdf62d56} + {b1f36bd1-e926-4354-bcf2-2b55e5044756} - {f466204a-8587-4bfc-bd0f-c1c510699191} + {34eaa3c3-c2f8-46ce-8e81-83a1beada7cd} diff --git a/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj b/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj index 9de16f20821..9350b5882b3 100644 --- a/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 inflate {9F489D6A-175F-3754-B4E4-2B0E795D2857} inflate @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 inflated inflated inflated @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj.filters index e9b62acfc5f..8c5753b7f69 100644 --- a/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/inflate/inflate_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {628f15ba-ff30-42b4-b28c-8c93eec58a64} + {8f6f0e6e-a032-4284-be81-20266adeac67} - {9553e4ae-a064-4665-882c-6d82ac70aede} + {92d028a0-35bb-421e-b32d-8335c527333b} diff --git a/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj b/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj index 637ae9ef8e2..5f99205315a 100644 --- a/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 inflate {9F489D6A-175F-3754-B4E4-2B0E795D2857} inflate @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + inflated + inflated + inflated + inflate + inflate + inflate inflated inflated inflated @@ -171,6 +250,36 @@ inflate inflate + + binA64\ + objA64\inflate\$(Configuration)\ + true + + + binA64\ + objA64\inflate\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\inflate\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\inflate\$(Configuration)\ + false + + + binA64\static_md\ + objA64\inflate\$(Configuration)\ + true + + + binA64\static_md\ + objA64\inflate\$(Configuration)\ + false + bin\ obj\inflate\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\inflate\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\inflate.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\inflated.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\inflate.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\inflated.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\inflated.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj.filters index 81164cf904e..32a045cf2b8 100644 --- a/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/inflate/inflate_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {2f88390a-e8d2-4fb3-b875-a1186203d1d1} + {030eadaa-cc3c-4901-8424-c88e0b6fc74d} - {afa196c9-4ca1-443a-8511-545026c87855} + {0b8b2eb5-ccfe-4180-80cd-f25c6f17e2a3} diff --git a/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj b/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj index c19f332acf2..73ca90a3df6 100644 --- a/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 md5 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C} md5 @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 md5d md5d md5d @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj.filters index fbcd6dc2682..5b73ef41fbc 100644 --- a/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/md5/md5_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {91509c27-30f7-467e-b1d8-aa32c4c2fae2} + {05917c31-e38e-4909-8d6b-931ec6b94e09} - {9732d0ea-33d6-4551-97a2-cf67bc95a626} + {c3b52df7-3dbc-4622-98df-8d7a74bc5e02} diff --git a/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj b/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj index 110dd0ff5dc..a2e84167700 100644 --- a/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 md5 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C} md5 @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + md5d + md5d + md5d + md5 + md5 + md5 md5d md5d md5d @@ -171,6 +250,36 @@ md5 md5 + + binA64\ + objA64\md5\$(Configuration)\ + true + + + binA64\ + objA64\md5\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\md5\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\md5\$(Configuration)\ + false + + + binA64\static_md\ + objA64\md5\$(Configuration)\ + true + + + binA64\static_md\ + objA64\md5\$(Configuration)\ + false + bin\ obj\md5\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\md5\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\md5.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\md5d.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\md5.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\md5d.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\md5d.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj.filters index 5932463408a..805cbf86684 100644 --- a/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/md5/md5_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {20d0bc32-9bfe-4248-81d5-ad6f2985da54} + {f4ed389a-5e51-4b94-ba7d-9b1739981eb2} - {485200c8-5593-4b6d-96ae-048632bca2e7} + {78aa2266-2002-4eed-b2da-a65de5932c0f} diff --git a/Externals/poco/Foundation/samples/samples_vs170.sln b/Externals/poco/Foundation/samples/samples_vs170.sln index 9bdaaa98673..3769d5bab69 100644 --- a/Externals/poco/Foundation/samples/samples_vs170.sln +++ b/Externals/poco/Foundation/samples/samples_vs170.sln @@ -42,6 +42,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uuidgen", "uuidgen\uuidgen_ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|ARM64 = debug_shared|ARM64 + release_shared|ARM64 = release_shared|ARM64 + debug_static_mt|ARM64 = debug_static_mt|ARM64 + release_static_mt|ARM64 = release_static_mt|ARM64 + debug_static_md|ARM64 = debug_static_md|ARM64 + release_static_md|ARM64 = release_static_md|ARM64 debug_shared|Win32 = debug_shared|Win32 release_shared|Win32 = release_shared|Win32 debug_static_mt|Win32 = debug_static_mt|Win32 @@ -56,6 +62,24 @@ Global release_static_md|x64 = release_static_md|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|Win32.Build.0 = debug_shared|Win32 {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -92,6 +116,24 @@ Global {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|x64.ActiveCfg = release_static_md|x64 {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|x64.Build.0 = release_static_md|x64 {F8B51F16-52AE-3D43-B55B-BD62ED422C2F}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|Win32.Build.0 = debug_shared|Win32 {479B938E-57EA-3332-AFD3-E7285DE4EB28}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -128,6 +170,24 @@ Global {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|x64.ActiveCfg = release_static_md|x64 {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|x64.Build.0 = release_static_md|x64 {479B938E-57EA-3332-AFD3-E7285DE4EB28}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|Win32.Build.0 = debug_shared|Win32 {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -164,6 +224,24 @@ Global {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|x64.ActiveCfg = release_static_md|x64 {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|x64.Build.0 = release_static_md|x64 {A1623462-1A5C-3CC2-8DCB-7E85D4EA56E8}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|Win32.Build.0 = debug_shared|Win32 {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -200,6 +278,24 @@ Global {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|x64.ActiveCfg = release_static_md|x64 {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|x64.Build.0 = release_static_md|x64 {6CCDAF5F-4AD1-3F87-8052-B99952B203E0}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|Win32.Build.0 = debug_shared|Win32 {A5639B95-211B-36F1-994E-F05361C18EBF}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -236,6 +332,24 @@ Global {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|x64.ActiveCfg = release_static_md|x64 {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|x64.Build.0 = release_static_md|x64 {A5639B95-211B-36F1-994E-F05361C18EBF}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|Win32.Build.0 = debug_shared|Win32 {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -272,6 +386,24 @@ Global {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|x64.ActiveCfg = release_static_md|x64 {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|x64.Build.0 = release_static_md|x64 {9549D36E-CB01-3BA4-916D-0BCEA078A8AF}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|Win32.Build.0 = debug_shared|Win32 {6D323430-D9E1-3173-A087-7A6E084B63CD}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -308,6 +440,24 @@ Global {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|x64.ActiveCfg = release_static_md|x64 {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|x64.Build.0 = release_static_md|x64 {6D323430-D9E1-3173-A087-7A6E084B63CD}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|Win32.Build.0 = debug_shared|Win32 {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -344,6 +494,24 @@ Global {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|x64.ActiveCfg = release_static_md|x64 {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|x64.Build.0 = release_static_md|x64 {39E0E21B-10A6-3D5A-9B68-70F20C05D80A}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|Win32.Build.0 = debug_shared|Win32 {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -380,6 +548,24 @@ Global {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|x64.ActiveCfg = release_static_md|x64 {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|x64.Build.0 = release_static_md|x64 {C743C479-4D47-37FE-A2EB-59CDD7A627FE}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|Win32.Build.0 = debug_shared|Win32 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -416,6 +602,24 @@ Global {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|x64.ActiveCfg = release_static_md|x64 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|x64.Build.0 = release_static_md|x64 {0CC4CA42-4EEF-36C8-A426-5A047C1A2359}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|Win32.Build.0 = debug_shared|Win32 {9F489D6A-175F-3754-B4E4-2B0E795D2857}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -452,6 +656,24 @@ Global {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|x64.ActiveCfg = release_static_md|x64 {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|x64.Build.0 = release_static_md|x64 {9F489D6A-175F-3754-B4E4-2B0E795D2857}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|Win32.Build.0 = debug_shared|Win32 {354BBE76-D088-3931-940C-797F514D2E40}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -488,6 +710,24 @@ Global {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|x64.ActiveCfg = release_static_md|x64 {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|x64.Build.0 = release_static_md|x64 {354BBE76-D088-3931-940C-797F514D2E40}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|Win32.Build.0 = debug_shared|Win32 {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -524,6 +764,24 @@ Global {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|x64.ActiveCfg = release_static_md|x64 {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|x64.Build.0 = release_static_md|x64 {49C1FE51-9FDB-3FA3-864F-BBE3A171BE59}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|Win32.Build.0 = debug_shared|Win32 {0382A4E1-4461-391B-A8D6-A35251CD7464}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -560,6 +818,24 @@ Global {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|x64.ActiveCfg = release_static_md|x64 {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|x64.Build.0 = release_static_md|x64 {0382A4E1-4461-391B-A8D6-A35251CD7464}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|Win32.Build.0 = debug_shared|Win32 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -596,6 +872,24 @@ Global {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|x64.ActiveCfg = release_static_md|x64 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|x64.Build.0 = release_static_md|x64 {2B9717FB-D1A8-39C2-9699-6BEF37D7DA9C}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|Win32.Build.0 = debug_shared|Win32 {4238E8B1-08D7-3469-8896-2A643B585A2D}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -632,6 +926,24 @@ Global {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|x64.ActiveCfg = release_static_md|x64 {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|x64.Build.0 = release_static_md|x64 {4238E8B1-08D7-3469-8896-2A643B585A2D}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|Win32.Build.0 = debug_shared|Win32 {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -668,6 +980,24 @@ Global {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|x64.ActiveCfg = release_static_md|x64 {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|x64.Build.0 = release_static_md|x64 {1F31BE50-3475-372C-ADE3-D1B97D9BA7BE}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|Win32.Build.0 = debug_shared|Win32 {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -704,6 +1034,24 @@ Global {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|x64.ActiveCfg = release_static_md|x64 {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|x64.Build.0 = release_static_md|x64 {84150D4A-0A5A-30D5-8140-24B0F61CAF9B}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|Win32.Build.0 = debug_shared|Win32 {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 @@ -740,6 +1088,24 @@ Global {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|x64.ActiveCfg = release_static_md|x64 {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|x64.Build.0 = release_static_md|x64 {7D649DAD-3849-3E23-9BB4-802AC60E4E98}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|ARM64.Build.0 = debug_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_shared|ARM64.ActiveCfg = release_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_shared|ARM64.Build.0 = release_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_shared|ARM64.Deploy.0 = release_shared|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_md|ARM64.Build.0 = release_static_md|ARM64 + {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64 {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|Win32.Build.0 = debug_shared|Win32 {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 diff --git a/Externals/poco/Foundation/samples/trace/CMakeLists.txt b/Externals/poco/Foundation/samples/trace/CMakeLists.txt new file mode 100644 index 00000000000..b51805f8c25 --- /dev/null +++ b/Externals/poco/Foundation/samples/trace/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(sample-trace src/trace.cpp) +target_link_libraries(sample-trace PUBLIC Poco::Foundation) diff --git a/Externals/poco/Foundation/samples/trace/Makefile b/Externals/poco/Foundation/samples/trace/Makefile new file mode 100644 index 00000000000..459a5edaae7 --- /dev/null +++ b/Externals/poco/Foundation/samples/trace/Makefile @@ -0,0 +1,25 @@ +# +# Makefile +# +# Makefile for Poco Trace sample +# + + +ifdef POCO_ENABLE_TRACE + +include $(POCO_BASE)/build/rules/global + +objects = trace + +target = trace +target_version = 1 +target_libs = PocoTrace PocoFoundation +target_includes = $(POCO_BASE)/Trace/include + +include $(POCO_BASE)/build/rules/exec + +else + +all: + +endif diff --git a/Externals/poco/Foundation/samples/trace/Trace.progen b/Externals/poco/Foundation/samples/trace/Trace.progen new file mode 100644 index 00000000000..d0d81fca924 --- /dev/null +++ b/Externals/poco/Foundation/samples/trace/Trace.progen @@ -0,0 +1,11 @@ +vc.project.guid = ${vc.project.guidFromName} +vc.project.name = ${vc.project.baseName} +vc.project.target = ${vc.project.name} +vc.project.type = executable +vc.project.pocobase = ..\\..\\.. +vc.project.platforms = Win32 +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\JSON\\include +vc.project.compiler.additionalOptions = /Zc:__cplusplus +vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib diff --git a/Externals/poco/Foundation/samples/trace/Trace_vs90.vcproj b/Externals/poco/Foundation/samples/trace/Trace_vs90.vcproj new file mode 100644 index 00000000000..bd900e2c300 --- /dev/null +++ b/Externals/poco/Foundation/samples/trace/Trace_vs90.vcproj @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Externals/poco/Foundation/samples/trace/src/trace.cpp b/Externals/poco/Foundation/samples/trace/src/trace.cpp new file mode 100644 index 00000000000..9833b5ced40 --- /dev/null +++ b/Externals/poco/Foundation/samples/trace/src/trace.cpp @@ -0,0 +1,51 @@ +// +// Benchmark.cpp +// +// This sample shows printing of stack trace captured by Poco::Exception. +// +// Copyright (c) 2012, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include +#include +#include "Poco/Exception.h" + + +void functionC(int& i) +{ + std::ostringstream ostr; + if (i>0) + functionC(--i); + throw Poco::Exception("thrown from functionC()"); +} + + +void functionB() +{ + int i = 5; + functionC(i); +} + + +void functionA() +{ + functionB(); +} + +int main() +{ + try + { + functionA(); + } + catch (const Poco::Exception& e) + { + std::cerr << e.displayText() << std::endl; + } + + return 0; +} diff --git a/Externals/poco/Foundation/samples/uuidgen/src/uuidgen.cpp b/Externals/poco/Foundation/samples/uuidgen/src/uuidgen.cpp index 33554b0d065..04826ffd3d0 100644 --- a/Externals/poco/Foundation/samples/uuidgen/src/uuidgen.cpp +++ b/Externals/poco/Foundation/samples/uuidgen/src/uuidgen.cpp @@ -33,6 +33,10 @@ int main(int argc, char** argv) { if (arg == "-random") uuid = UUIDGenerator::defaultGenerator().createRandom(); + else if (arg == "-v6") + uuid = UUIDGenerator::defaultGenerator().createV6(); + else if (arg == "-v7") + uuid = UUIDGenerator::defaultGenerator().createV7(); else if (arg.empty()) uuid = UUIDGenerator::defaultGenerator().create(); else diff --git a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj index 937abd1d028..fde29bd100c 100644 --- a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj +++ b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj @@ -1,5 +1,5 @@ - + debug_shared @@ -51,6 +51,7 @@ + 17.0 uuidgen {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862} uuidgen @@ -157,7 +158,7 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 uuidgend uuidgend uuidgend @@ -247,7 +248,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +260,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +284,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +317,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +329,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +353,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +386,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +398,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +422,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +455,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +467,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +491,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +524,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +536,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +560,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +593,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +605,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +629,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +649,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj.filters b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj.filters index 5c6cf01687e..1784c882513 100644 --- a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj.filters +++ b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs160.vcxproj.filters @@ -2,10 +2,10 @@ - {8d933adf-c9fb-4ae6-98b1-f0c75274d84b} + {0291acbe-5f2d-4418-86af-bb7b7ac9b1f1} - {bf3acc9c-ccc5-44e3-b607-78d3ef613075} + {3f097657-d968-479c-8ec0-6e82d9543f4b} diff --git a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj index b3889b5603f..75fd4cf868b 100644 --- a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj +++ b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj @@ -1,6 +1,10 @@ - + + + debug_shared + ARM64 + debug_shared Win32 @@ -9,6 +13,10 @@ debug_shared x64 + + debug_static_md + ARM64 + debug_static_md Win32 @@ -17,6 +25,10 @@ debug_static_md x64 + + debug_static_mt + ARM64 + debug_static_mt Win32 @@ -25,6 +37,10 @@ debug_static_mt x64 + + release_shared + ARM64 + release_shared Win32 @@ -33,6 +49,10 @@ release_shared x64 + + release_static_md + ARM64 + release_static_md Win32 @@ -41,6 +61,10 @@ release_static_md x64 + + release_static_mt + ARM64 + release_static_mt Win32 @@ -51,6 +75,7 @@ + 17.0 uuidgen {5E26603C-CAE2-3AA1-8DBD-AA70BB88A862} uuidgen @@ -87,6 +112,36 @@ MultiByte v143 + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + + + Application + MultiByte + v143 + Application MultiByte @@ -137,6 +192,24 @@ + + + + + + + + + + + + + + + + + + @@ -157,7 +230,13 @@ - <_ProjectFileVersion>15.0.28307.799 + <_ProjectFileVersion>17.0.34714.143 + uuidgend + uuidgend + uuidgend + uuidgen + uuidgen + uuidgen uuidgend uuidgend uuidgend @@ -171,6 +250,36 @@ uuidgen uuidgen + + binA64\ + objA64\uuidgen\$(Configuration)\ + true + + + binA64\ + objA64\uuidgen\$(Configuration)\ + false + + + binA64\static_mt\ + objA64\uuidgen\$(Configuration)\ + true + + + binA64\static_mt\ + objA64\uuidgen\$(Configuration)\ + false + + + binA64\static_md\ + objA64\uuidgen\$(Configuration)\ + true + + + binA64\static_md\ + objA64\uuidgen\$(Configuration)\ + false + bin\ obj\uuidgen\$(Configuration)\ @@ -231,6 +340,213 @@ obj64\uuidgen\$(Configuration)\ false + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\uuidgen.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\uuidgend.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_mt\uuidgen.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + + + + Disabled + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + binA64\static_md\uuidgend.exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + true + true + $(OutDir)$(TargetName).pdb + Console + MachineARM64 + + + + + MaxSpeed + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) + true + stdcpp17 + stdc11 + + + iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName).exe + ..\..\..\libA64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineARM64 + + Disabled @@ -247,7 +563,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -255,7 +575,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -279,7 +599,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -308,7 +632,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -316,7 +644,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_mt\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -340,7 +668,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -369,7 +701,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -377,7 +713,7 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) true true - bin\static_md\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX86 @@ -401,7 +737,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -430,7 +770,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -438,7 +782,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -462,7 +806,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -491,7 +839,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -499,7 +851,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_mt\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -523,7 +875,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -552,7 +908,11 @@ Level3 ProgramDatabase Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -560,7 +920,7 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) true true - bin64\static_md\uuidgend.pdb + $(OutDir)$(TargetName).pdb Console MachineX64 @@ -584,7 +944,11 @@ Level3 Default + $(OutDir)$(TargetName).pdb + /Zc:__cplusplus %(AdditionalOptions) true + stdcpp17 + stdc11 iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies) @@ -600,6 +964,8 @@ true + stdcpp17 + stdc11 diff --git a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj.filters b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj.filters index 11edea7f29c..c60b06a299e 100644 --- a/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj.filters +++ b/Externals/poco/Foundation/samples/uuidgen/uuidgen_vs170.vcxproj.filters @@ -2,10 +2,10 @@ - {a1732e26-203c-4eeb-88d8-54451ef2fe87} + {a1204e91-e139-4598-9715-560415439a4e} - {2aa61dfc-0eee-4df7-b839-0823f71770eb} + {6d90685d-9d8f-4e98-8db1-cddb50b14616} diff --git a/Externals/poco/Foundation/src/ActiveThreadPool.cpp b/Externals/poco/Foundation/src/ActiveThreadPool.cpp index 628c78d6daf..857d44aea7b 100644 --- a/Externals/poco/Foundation/src/ActiveThreadPool.cpp +++ b/Externals/poco/Foundation/src/ActiveThreadPool.cpp @@ -15,348 +15,490 @@ #include "Poco/ActiveThreadPool.h" #include "Poco/Runnable.h" #include "Poco/Thread.h" -#include "Poco/Event.h" #include "Poco/ThreadLocal.h" #include "Poco/ErrorHandler.h" -#include "Poco/NotificationQueue.h" +#include "Poco/Condition.h" +#include "Poco/RefCountedObject.h" +#include "Poco/AutoPtr.h" #include -#include -#include +#include +#include +#include +#include namespace Poco { -class NewActionNotification: public Notification + +class RunnableList + /// A list of the same priority runnables { public: - using Ptr = AutoPtr; + RunnableList(Runnable& target, int priority): + _priority(priority) + { + push(target); + } - NewActionNotification(Thread::Priority priority, Runnable& runnable, const std::string& name) : - _priority(priority), - _runnable(runnable), - _name(name) + int priority() const { + return _priority; } - ~NewActionNotification() override = default; + void push(Runnable& r) + { + _runnables.push_back(std::ref(r)); + } - Runnable& runnable() const + Runnable& pop() { - return _runnable; + auto r = _runnables.front(); + _runnables.pop_front(); + return r; } - Thread::Priority priority() const + bool empty() const { - return _priority; + return _runnables.empty(); } - const std::string &threadName() const +private: + int _priority = 0; + std::list> _runnables; +}; + + +struct RunnablePriorityCompare +{ + // for make heap + bool operator()(const std::shared_ptr& left, const std::shared_ptr& right) const { - return _name; + return left->priority() < right->priority(); } +}; + - std::string threadFullName() const +class RunnablePriorityQueue + /// A priority queue of runnables +{ +public: + void push(Runnable& target, int priority) { - std::string fullName(_name); - if (_name.empty()) + for (auto& q : _queues) { - fullName = _name; + if (q->priority() == priority) + { + q->push(target); + return; + } } - else + auto q = std::make_shared(std::ref(target), priority); + _queues.push_back(q); + std::push_heap(_queues.begin(), _queues.end(), _comp); + } + + Runnable& pop() + { + auto q = _queues.front(); + auto& r = q->pop(); + if (q->empty()) { - fullName.append(" ("); - fullName.append(_name); - fullName.append(")"); + std::pop_heap(_queues.begin(), _queues.end(), _comp); + _queues.pop_back(); } - return fullName; + return r; + } + + bool empty() const + { + return _queues.empty(); } private: - std::atomic _priority; - Runnable& _runnable; - std::string _name; + std::vector> _queues; + RunnablePriorityCompare _comp; }; -class ActiveThread: public Runnable + +class ActivePooledThread: public Runnable, public RefCountedObject { public: - ActiveThread(const std::string& name, int stackSize = POCO_THREAD_STACK_SIZE); - ~ActiveThread() override = default; + using Ptr = Poco::AutoPtr; + + explicit ActivePooledThread(ActiveThreadPoolPrivate& pool); void start(); - void start(Thread::Priority priority, Runnable& target); - void start(Thread::Priority priority, Runnable& target, const std::string& name); void join(); - void release(); - void run() override; + bool isRunning() const; + + void setRunnable(Runnable& target); + void notifyRunnableReady(); + void registerThreadInactive(); + + virtual void run() override; private: - NotificationQueue _pTargetQueue; - std::string _name; - Thread _thread; - Event _targetCompleted; - FastMutex _mutex; - const long JOIN_TIMEOUT = 10000; - std::atomic _needToStop{false}; + ActiveThreadPoolPrivate& _pool; + std::optional> _target; + Condition _runnableReady; + Thread _thread; +}; + + +class ActiveThreadPoolPrivate +{ +public: + ActiveThreadPoolPrivate(int capacity, int stackSize); + ActiveThreadPoolPrivate(int capacity, int stackSize, const std::string& name); + ~ActiveThreadPoolPrivate(); + + bool tryStart(Runnable& target); + void enqueueTask(Runnable& target, int priority = 0); + void startThread(Runnable& target); + void joinAll(); + + int activeThreadCount() const; + +public: + mutable FastMutex mutex; + std::string name; + std::set allThreads; + std::list waitingThreads; + std::list expiredThreads; + RunnablePriorityQueue runnables; + Condition noActiveThreads; + + int expiryTimeout = 30000; + int maxThreadCount; + int stackSize; + int activeThreads = 0; + int serial = 0; }; -ActiveThread::ActiveThread(const std::string& name, int stackSize): - _name(name), - _thread(name), - _targetCompleted(false) +ActivePooledThread::ActivePooledThread(ActiveThreadPoolPrivate& pool): + _pool(pool) { - poco_assert_dbg (stackSize >= 0); - _thread.setStackSize(stackSize); + std::ostringstream name; + name << _pool.name << "[#" << ++_pool.serial << "]"; + _thread.setName(name.str()); + _thread.setStackSize(_pool.stackSize); } -void ActiveThread::start() + +void ActivePooledThread::start() { - _needToStop = false; _thread.start(*this); } -void ActiveThread::start(Thread::Priority priority, Runnable& target) +void ActivePooledThread::setRunnable(Runnable& target) { - _pTargetQueue.enqueueNotification(Poco::makeAuto(priority, target, _name)); + poco_assert(_target.has_value() == false); + _target = std::ref(target); } -void ActiveThread::start(Thread::Priority priority, Runnable& target, const std::string& name) +void ActivePooledThread::notifyRunnableReady() { - _pTargetQueue.enqueueNotification(Poco::makeAuto(priority, target, name)); + _runnableReady.signal(); } -void ActiveThread::join() -{ - _pTargetQueue.wakeUpAll(); - if (!_pTargetQueue.empty()) - { - _targetCompleted.wait(); - } +bool ActivePooledThread::isRunning() const +{ + return _thread.isRunning(); } -void ActiveThread::release() +void ActivePooledThread::join() { - // In case of a statically allocated thread pool (such - // as the default thread pool), Windows may have already - // terminated the thread before we got here. - if (_thread.isRunning()) - { - _needToStop = true; - _pTargetQueue.wakeUpAll(); - if (!_pTargetQueue.empty()) - _targetCompleted.wait(JOIN_TIMEOUT); - } - - if (_thread.tryJoin(JOIN_TIMEOUT)) - { - delete this; - } + _thread.join(); } -void ActiveThread::run() +void ActivePooledThread::run() { - do + FastMutex::ScopedLock lock(_pool.mutex); + for (;;) { - AutoPtr pN = _pTargetQueue.waitDequeueNotification(); - while (pN) + auto r = _target; + _target.reset(); + + do { - NewActionNotification::Ptr pNAN = pN.cast(); - Runnable& target = pNAN->runnable(); - _thread.setPriority(pNAN->priority()); - _thread.setName(pNAN->name()); - try + if (r.has_value()) { - target.run(); + _pool.mutex.unlock(); + try + { + r.value().get().run(); + } + catch (Exception& exc) + { + ErrorHandler::handle(exc); + } + catch (std::exception& exc) + { + ErrorHandler::handle(exc); + } + catch (...) + { + ErrorHandler::handle(); + } + ThreadLocalStorage::clear(); + _pool.mutex.lock(); } - catch (Exception& exc) - { - ErrorHandler::handle(exc); - } - catch (std::exception& exc) - { - ErrorHandler::handle(exc); - } - catch (...) + + if (_pool.runnables.empty()) { - ErrorHandler::handle(); + r.reset(); + break; } - _thread.setName(_name); - _thread.setPriority(Thread::PRIO_NORMAL); - ThreadLocalStorage::clear(); - pN = _pTargetQueue.waitDequeueNotification(1000); + + r = std::ref(_pool.runnables.pop()); + } while (true); + + _pool.waitingThreads.push_back(ActivePooledThread::Ptr{ this, true }); + registerThreadInactive(); + // wait for work, exiting after the expiry timeout is reached + _runnableReady.tryWait(_pool.mutex, _pool.expiryTimeout); + ++_pool.activeThreads; + + auto it = std::find(_pool.waitingThreads.begin(), _pool.waitingThreads.end(), ActivePooledThread::Ptr{ this, true }); + if (it != _pool.waitingThreads.end()) + { + _pool.waitingThreads.erase(it); + _pool.expiredThreads.push_back(ActivePooledThread::Ptr{ this, true }); + registerThreadInactive(); + break; + } + + if (!_pool.allThreads.count(ActivePooledThread::Ptr{ this, true })) + { + registerThreadInactive(); + break; } - _targetCompleted.set(); } - while (_needToStop == false); } -ActiveThreadPool::ActiveThreadPool(int capacity, int stackSize): - _capacity(capacity), - _serial(0), - _stackSize(stackSize), - _lastThreadIndex(0) +void ActivePooledThread::registerThreadInactive() { - poco_assert (_capacity >= 1); - - _threads.reserve(_capacity); - - for (int i = 0; i < _capacity; i++) + if (--_pool.activeThreads == 0) { - ActiveThread* pThread = createThread(); - _threads.push_back(pThread); - pThread->start(); + _pool.noActiveThreads.broadcast(); } } -ActiveThreadPool::ActiveThreadPool(std::string name, int capacity, int stackSize): - _name(std::move(name)), - _capacity(capacity), - _serial(0), - _stackSize(stackSize), - _lastThreadIndex(0) +ActiveThreadPoolPrivate::ActiveThreadPoolPrivate(int capacity, int stackSize_): + maxThreadCount(capacity), + stackSize(stackSize_) { - poco_assert (_capacity >= 1); +} - _threads.reserve(_capacity); - for (int i = 0; i < _capacity; i++) - { - ActiveThread* pThread = createThread(); - _threads.push_back(pThread); - pThread->start(); - } +ActiveThreadPoolPrivate::ActiveThreadPoolPrivate(int capacity, int stackSize_, const std::string& name_): + name(name_), + maxThreadCount(capacity), + stackSize(stackSize_) +{ } -ActiveThreadPool::~ActiveThreadPool() +ActiveThreadPoolPrivate::~ActiveThreadPoolPrivate() { - try + joinAll(); +} + + +bool ActiveThreadPoolPrivate::tryStart(Runnable& target) +{ + if (allThreads.empty()) { - stopAll(); + startThread(target); + return true; } - catch (...) + + if (activeThreadCount() >= maxThreadCount) { - poco_unexpected(); + return false; } -} + if (!waitingThreads.empty()) + { + // recycle an available thread + enqueueTask(target); + auto pThread = waitingThreads.front(); + waitingThreads.pop_front(); + pThread->notifyRunnableReady(); + return true; + } -int ActiveThreadPool::capacity() const -{ - return _capacity; -} + if (!expiredThreads.empty()) + { + // restart an expired thread + auto pThread = expiredThreads.front(); + expiredThreads.pop_front(); + ++activeThreads; -void ActiveThreadPool::start(Runnable& target) -{ - getThread()->start(Thread::PRIO_NORMAL, target); + // an expired thread must call join() before restart it, or it will cost thread leak + pThread->join(); + pThread->setRunnable(target); + pThread->start(); + return true; + } + + // start a new thread + startThread(target); + return true; } -void ActiveThreadPool::start(Runnable& target, const std::string& name) +void ActiveThreadPoolPrivate::enqueueTask(Runnable& target, int priority) { - getThread()->start(Thread::PRIO_NORMAL, target, name); + runnables.push(target, priority); } -void ActiveThreadPool::startWithPriority(Thread::Priority priority, Runnable& target) +int ActiveThreadPoolPrivate::activeThreadCount() const { - getThread()->start(priority, target); + std::size_t count = allThreads.size() - expiredThreads.size() - waitingThreads.size(); + return static_cast(count); } -void ActiveThreadPool::startWithPriority(Thread::Priority priority, Runnable& target, const std::string& name) +void ActiveThreadPoolPrivate::startThread(Runnable& target) { - getThread()->start(priority, target, name); + ActivePooledThread::Ptr pThread = new ActivePooledThread(*this); + allThreads.insert(pThread); + ++activeThreads; + pThread->setRunnable(target); + pThread->start(); } -void ActiveThreadPool::stopAll() +void ActiveThreadPoolPrivate::joinAll() { - FastMutex::ScopedLock lock(_mutex); + FastMutex::ScopedLock lock(mutex); + + do { + while (!runnables.empty() || activeThreads != 0) + { + noActiveThreads.wait(mutex); + } + + // move the contents of the set out so that we can iterate without the lock + std::set allThreadsCopy; + allThreadsCopy.swap(allThreads); + expiredThreads.clear(); + waitingThreads.clear(); + mutex.unlock(); + + for (auto pThread : allThreadsCopy) + { + if (pThread->isRunning()) + { + pThread->notifyRunnableReady(); + } + + // we must call join() before thread destruction, or it will cost thread leak + pThread->join(); + poco_assert(2 == pThread->referenceCount()); + } + + mutex.lock(); - for (auto pThread: _threads) + // More threads can be started during reset(), in that case continue + // waiting if we still have time left. + } while (!runnables.empty() || activeThreads != 0); + + while (!runnables.empty() || activeThreads != 0) { - pThread->release(); + noActiveThreads.wait(mutex); } - _threads.clear(); } -void ActiveThreadPool::joinAll() +ActiveThreadPool::ActiveThreadPool(int capacity, int stackSize): + _impl(new ActiveThreadPoolPrivate(capacity, stackSize)) { - FastMutex::ScopedLock lock(_mutex); - - for (auto pThread: _threads) - { - pThread->join(); - } +} - _threads.clear(); - _threads.reserve(_capacity); - for (int i = 0; i < _capacity; i++) - { - ActiveThread* pThread = createThread(); - _threads.push_back(pThread); - pThread->start(); - } +ActiveThreadPool::ActiveThreadPool(const std::string& name, int capacity, int stackSize): + _impl(new ActiveThreadPoolPrivate(capacity, stackSize, name)) +{ } -ActiveThread* ActiveThreadPool::getThread() + +ActiveThreadPool::~ActiveThreadPool() { - auto thrSize = _threads.size(); - auto i = (_lastThreadIndex++) % thrSize; - ActiveThread* pThread = _threads[i]; - return pThread; } -ActiveThread* ActiveThreadPool::createThread() +int ActiveThreadPool::capacity() const { - std::ostringstream name; - name << _name << "[#active-thread-" << ++_serial << "]"; - return new ActiveThread(name.str(), _stackSize); + return _impl->maxThreadCount; } -class ActiveThreadPoolSingletonHolder +void ActiveThreadPool::start(Runnable& target, int priority) { -public: - ActiveThreadPoolSingletonHolder() = default; - ~ActiveThreadPoolSingletonHolder() - { - delete _pPool; - } - ActiveThreadPool* pool() + FastMutex::ScopedLock lock(_impl->mutex); + + if (!_impl->tryStart(target)) { - FastMutex::ScopedLock lock(_mutex); + _impl->enqueueTask(target, priority); - if (!_pPool) + if (!_impl->waitingThreads.empty()) { - _pPool = new ActiveThreadPool("default-active"); + auto pThread = _impl->waitingThreads.front(); + _impl->waitingThreads.pop_front(); + pThread->notifyRunnableReady(); } - return _pPool; } +} -private: - ActiveThreadPool* _pPool{nullptr}; - FastMutex _mutex; -}; + +void ActiveThreadPool::joinAll() +{ + _impl->joinAll(); +} ActiveThreadPool& ActiveThreadPool::defaultPool() { - static ActiveThreadPoolSingletonHolder sh; - return *sh.pool(); + static ActiveThreadPool thePool; + return thePool; } +int ActiveThreadPool::getStackSize() const +{ + return _impl->stackSize; +} + + +int ActiveThreadPool::expiryTimeout() const +{ + return _impl->expiryTimeout; +} + + +void ActiveThreadPool::setExpiryTimeout(int expiryTimeout) +{ + if (_impl->expiryTimeout != expiryTimeout) + { + _impl->expiryTimeout = expiryTimeout; + } +} + + +const std::string& ActiveThreadPool::name() const +{ + return _impl->name; +} + } // namespace Poco diff --git a/Externals/poco/Foundation/src/ArchiveStrategy.cpp b/Externals/poco/Foundation/src/ArchiveStrategy.cpp index bab2bfa0a95..76bd22d67d3 100644 --- a/Externals/poco/Foundation/src/ArchiveStrategy.cpp +++ b/Externals/poco/Foundation/src/ArchiveStrategy.cpp @@ -24,6 +24,7 @@ #include "Poco/Void.h" #include "Poco/FileStream.h" +#include namespace Poco { @@ -45,35 +46,18 @@ class ArchiveCompressor: public ActiveDispatcher { } - ActiveMethod> compress; + struct ArchiveToCompress + { + ArchiveStrategy* as; + std::string path; + }; + + ActiveMethod> compress; protected: - void compressImpl(const std::string& path) + void compressImpl(const ArchiveToCompress& ac) { - std::string gzPath(path); - gzPath.append(".gz"); - FileInputStream istr(path); - FileOutputStream ostr(gzPath); - try - { - DeflatingOutputStream deflater(ostr, DeflatingStreamBuf::STREAM_GZIP); - StreamCopier::copyStream(istr, deflater); - if (!deflater.good() || !ostr.good()) throw WriteFileException(gzPath); - deflater.close(); - ostr.close(); - istr.close(); - } - catch (Poco::Exception&) - { - // deflating failed - remove gz file and leave uncompressed log file - ostr.close(); - Poco::File gzf(gzPath); - gzf.remove(); - return; - } - File f(path); - f.remove(); - return; + ac.as->compressFile(ac.path); } }; @@ -82,17 +66,41 @@ class ArchiveCompressor: public ActiveDispatcher // ArchiveStrategy // +// Prefix that is added to the file being compressed to be skipped by the +// purge strategy. +static const std::string compressFilePrefix ( ".~" ); + ArchiveStrategy::ArchiveStrategy(): + _compressingCount(0), _compress(false), - _pCompressor(0) + _pCompressor(nullptr) { } ArchiveStrategy::~ArchiveStrategy() { + try + { + close(); + } + catch(...) + { + poco_unexpected(); + } +} + + +void ArchiveStrategy::close() +{ + FastMutex::ScopedLock l(_rotateMutex); + + while (_compressingCount > 0) + _compressingComplete.wait(_rotateMutex, 1000); + delete _pCompressor; + _pCompressor = nullptr; } @@ -105,7 +113,7 @@ void ArchiveStrategy::compress(bool flag) void ArchiveStrategy::moveFile(const std::string& oldPath, const std::string& newPath) { bool compressed = false; - Path p(oldPath); + const Path p(oldPath); File f(oldPath); if (!f.exists()) { @@ -115,15 +123,23 @@ void ArchiveStrategy::moveFile(const std::string& oldPath, const std::string& ne std::string mvPath(newPath); if (_compress || compressed) mvPath.append(".gz"); + if (!_compress || compressed) { f.renameTo(mvPath); } else { - f.renameTo(newPath); - if (!_pCompressor) _pCompressor = new ArchiveCompressor; - _pCompressor.load()->compress(newPath); + _compressingCount++; + Path logdir { newPath }; + logdir.makeParent(); + const auto logfile { Path(newPath).getFileName() }; + const auto compressPath = logdir.append(compressFilePrefix + logfile).toString(); + f.renameTo(compressPath); + if (!_pCompressor) + _pCompressor = new ArchiveCompressor; + + _pCompressor.load()->compress( {this, compressPath} ); } } @@ -146,6 +162,62 @@ bool ArchiveStrategy::exists(const std::string& name) } +void ArchiveStrategy::compressFile(const std::string& path) +{ + FastMutex::ScopedLock l(_rotateMutex); + + Path logdir { path }; + logdir.makeParent(); + + auto removeFilePrefix = [&logdir](const std::string& path, const std::string& prefix) -> std::string + { + auto fname { Path(path).getFileName() }; + const std::string_view fprefix(fname.data(), prefix.size()); + if (fprefix == prefix) + return Path(logdir, fname.substr(prefix.size())).toString(); + + return path; + }; + + File f(path); + std::string gzPath(path); + gzPath.append(".gz"); + FileInputStream istr(path); + FileOutputStream ostr(gzPath); + try + { + DeflatingOutputStream deflater(ostr, DeflatingStreamBuf::STREAM_GZIP); + StreamCopier::copyStream(istr, deflater); + if (!deflater.good() || !ostr.good()) + throw WriteFileException(gzPath); + + deflater.close(); + ostr.close(); + istr.close(); + + // Remove temporary prefix and set modification time to + // the time of the uncompressed file for purge strategy to work correctly + File zf(gzPath); + zf.renameTo(removeFilePrefix(gzPath, compressFilePrefix)); + zf.setLastModified(f.getLastModified()); + } + catch (const Poco::Exception&) + { + // deflating failed - remove gz file and leave uncompressed log file + ostr.close(); + Poco::File gzf(gzPath); + gzf.remove(); + + f.renameTo(removeFilePrefix(path, compressFilePrefix)); + } + f.remove(); + + _compressingCount--; + if (_compressingCount < 1) + _compressingComplete.broadcast(); +} + + // // ArchiveByNumberStrategy // @@ -169,6 +241,11 @@ LogFile* ArchiveByNumberStrategy::open(LogFile* pFile) LogFile* ArchiveByNumberStrategy::archive(LogFile* pFile) { + FastMutex::ScopedLock l(_rotateMutex); + + while (_compressingCount > 0) + _compressingComplete.wait(_rotateMutex, 1000); + std::string basePath = pFile->path(); delete pFile; int n = -1; diff --git a/Externals/poco/Foundation/src/AsyncNotificationCenter.cpp b/Externals/poco/Foundation/src/AsyncNotificationCenter.cpp new file mode 100644 index 00000000000..61fbb911346 --- /dev/null +++ b/Externals/poco/Foundation/src/AsyncNotificationCenter.cpp @@ -0,0 +1,106 @@ +// +// AsyncNotificationCenter.cpp +// +// Library: Foundation +// Package: Notifications +// Module: AsyncNotificationCenter +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// Aleph ONE Software Engineering d.o.o., +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/AsyncNotificationCenter.h" + + +namespace Poco { + + +AsyncNotificationCenter::AsyncNotificationCenter(): _ra(*this, &AsyncNotificationCenter::dequeue), + _started(false), + _done(false) +{ + start(); +} + + +AsyncNotificationCenter::~AsyncNotificationCenter() +{ + stop(); +} + + +void AsyncNotificationCenter::postNotification(Notification::Ptr pNotification) +{ + _nq.enqueueNotification(pNotification); +} + + +int AsyncNotificationCenter::backlog() const +{ + return _nq.size(); +} + + +void AsyncNotificationCenter::start() +{ + Poco::ScopedLock l(mutex()); + if (_started) + { + throw Poco::InvalidAccessException( + Poco::format("thread already started %s", poco_src_loc)); + } + _thread.start(_ra); + Poco::Stopwatch sw; + sw.start(); + while (!_started) + { + if (sw.elapsedSeconds() > 5) + throw Poco::TimeoutException(poco_src_loc); + Thread::sleep(100); + } +} + + +void AsyncNotificationCenter::stop() +{ + if (!_started.exchange(false)) return; + _nq.wakeUpAll(); + while (!_done) Thread::sleep(100); + _thread.join(); +} + + +void AsyncNotificationCenter::dequeue() +{ + Notification::Ptr pNf; + _started = true; + _done = false; + while ((pNf = _nq.waitDequeueNotification())) + { + try + { + notifyObservers(pNf); + } + catch (Poco::Exception& ex) + { + Poco::ErrorHandler::handle(ex); + } + catch (std::exception& ex) + { + Poco::ErrorHandler::handle(ex); + } + catch (...) + { + Poco::ErrorHandler::handle(); + } + } + _done = true; + _started = false; +} + + +} // namespace Poco diff --git a/Externals/poco/Foundation/src/Bugcheck.cpp b/Externals/poco/Foundation/src/Bugcheck.cpp index 36a250dc5d5..ec8046486e8 100644 --- a/Externals/poco/Foundation/src/Bugcheck.cpp +++ b/Externals/poco/Foundation/src/Bugcheck.cpp @@ -21,7 +21,7 @@ namespace Poco { -void Bugcheck::assertion(const char* cond, const char* file, int line, const char* text) +void Bugcheck::assertion(const char* cond, const char* file, LineNumber line, const char* text) { std::string message("Assertion violation: "); message += cond; @@ -36,21 +36,21 @@ void Bugcheck::assertion(const char* cond, const char* file, int line, const cha } -void Bugcheck::nullPointer(const char* ptr, const char* file, int line) +void Bugcheck::nullPointer(const char* ptr, const char* file, LineNumber line) { Debugger::enter(std::string("NULL pointer: ") + ptr, file, line); throw NullPointerException(what(ptr, file, line)); } -void Bugcheck::bugcheck(const char* file, int line) +void Bugcheck::bugcheck(const char* file, LineNumber line) { Debugger::enter("Bugcheck", file, line); throw BugcheckException(what(0, file, line)); } -void Bugcheck::bugcheck(const char* msg, const char* file, int line) +void Bugcheck::bugcheck(const char* msg, const char* file, LineNumber line) { std::string m("Bugcheck"); if (msg) @@ -63,7 +63,7 @@ void Bugcheck::bugcheck(const char* msg, const char* file, int line) } -void Bugcheck::unexpected(const char* file, int line) +void Bugcheck::unexpected(const char* file, LineNumber line) { #ifdef _DEBUG try @@ -94,19 +94,19 @@ void Bugcheck::unexpected(const char* file, int line) } -void Bugcheck::debugger(const char* file, int line) +void Bugcheck::debugger(const char* file, LineNumber line) { Debugger::enter(file, line); } -void Bugcheck::debugger(const char* msg, const char* file, int line) +void Bugcheck::debugger(const char* msg, const char* file, LineNumber line) { Debugger::enter(msg, file, line); } -std::string Bugcheck::what(const char* msg, const char* file, int line, const char* text) +std::string Bugcheck::what(const char* msg, const char* file, LineNumber line, const char* text) { std::ostringstream str; if (msg) str << msg << " "; diff --git a/Externals/poco/Foundation/src/Checksum.cpp b/Externals/poco/Foundation/src/Checksum.cpp index 097ffd9e736..ac722dfef5e 100644 --- a/Externals/poco/Foundation/src/Checksum.cpp +++ b/Externals/poco/Foundation/src/Checksum.cpp @@ -16,7 +16,7 @@ #if defined(POCO_UNBUNDLED) #include #else -#include "Poco/zlib.h" +#include "zlib.h" #endif diff --git a/Externals/poco/Foundation/src/DataURIStream.cpp b/Externals/poco/Foundation/src/DataURIStream.cpp index 6167baf7740..497d9a68077 100644 --- a/Externals/poco/Foundation/src/DataURIStream.cpp +++ b/Externals/poco/Foundation/src/DataURIStream.cpp @@ -1,4 +1,4 @@ -// +// // DataURIStream.cpp // // Library: Foundation diff --git a/Externals/poco/Foundation/src/DateTime.cpp b/Externals/poco/Foundation/src/DateTime.cpp index 36ec1c1aa05..ea81080980a 100644 --- a/Externals/poco/Foundation/src/DateTime.cpp +++ b/Externals/poco/Foundation/src/DateTime.cpp @@ -30,6 +30,7 @@ DateTime::DateTime() _utcTime = now.utcTime(); computeGregorian(julianDay()); computeDaytime(); + checkValid(); } @@ -43,14 +44,9 @@ DateTime::DateTime(const tm& tmStruct): _millisecond(0), _microsecond(0) { - poco_assert (_year >= 0 && _year <= 9999); - poco_assert (_month >= 1 && _month <= 12); - poco_assert (_day >= 1 && _day <= daysOfMonth(_year, _month)); - poco_assert (_hour >= 0 && _hour <= 23); - poco_assert (_minute >= 0 && _minute <= 59); - poco_assert (_second >= 0 && _second <= 60); - - _utcTime = toUtcTime(toJulianDay(_year, _month, _day)) + 10*(_hour*Timespan::HOURS + _minute*Timespan::MINUTES + _second*Timespan::SECONDS); + checkValid(); + _utcTime = toUtcTime(toJulianDay(_year, _month, _day)) + + 10*(_hour*Timespan::HOURS + _minute*Timespan::MINUTES + _second*Timespan::SECONDS); } @@ -59,6 +55,7 @@ DateTime::DateTime(const Timestamp& timestamp): { computeGregorian(julianDay()); computeDaytime(); + checkValid(); } @@ -72,28 +69,10 @@ DateTime::DateTime(int year, int month, int day, int hour, int minute, int secon _millisecond(millisecond), _microsecond(microsecond) { - if (isValid(_year, _month, _day, _hour, _minute, _second, _millisecond, _microsecond)) - { - _utcTime = toUtcTime(toJulianDay(year, month, day)) + + checkValid(); + _utcTime = toUtcTime(toJulianDay(year, month, day)) + 10 * (hour*Timespan::HOURS + minute*Timespan::MINUTES + second*Timespan::SECONDS + millisecond*Timespan::MILLISECONDS + microsecond); - } - else - { - throw Poco::InvalidArgumentException(Poco::format("Date time is %d-%d-%dT%d:%d:%d.%d.%d\n" - "Valid values:\n" - "0 <= year <= 9999\n" - "1 <= month <= 12\n" - "1 <= day <= %d\n" - "0 <= hour <= 23\n" - "0 <= minute <= 59\n" - "0 <= second <= 59\n" - "0 <= millisecond <= 999\n" - "0 <= microsecond <= 999", - _year, _month, _day, _hour, _minute, - _second, _millisecond, _microsecond, - daysOfMonth(_year, _month))); - } } @@ -101,6 +80,7 @@ DateTime::DateTime(double julianDay): _utcTime(toUtcTime(julianDay)) { computeGregorian(julianDay); + checkValid(); } @@ -109,6 +89,7 @@ DateTime::DateTime(Timestamp::UtcTimeVal utcTime, Timestamp::TimeDiff diff): { computeGregorian(julianDay()); computeDaytime(); + checkValid(); } @@ -154,6 +135,7 @@ DateTime& DateTime::operator = (const Timestamp& timestamp) _utcTime = timestamp.utcTime(); computeGregorian(julianDay()); computeDaytime(); + checkValid(); return *this; } @@ -162,21 +144,13 @@ DateTime& DateTime::operator = (double julianDay) { _utcTime = toUtcTime(julianDay); computeGregorian(julianDay); + checkValid(); return *this; } DateTime& DateTime::assign(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond) { - poco_assert (year >= 0 && year <= 9999); - poco_assert (month >= 1 && month <= 12); - poco_assert (day >= 1 && day <= daysOfMonth(year, month)); - poco_assert (hour >= 0 && hour <= 23); - poco_assert (minute >= 0 && minute <= 59); - poco_assert (second >= 0 && second <= 60); // allow leap seconds - poco_assert (millisecond >= 0 && millisecond <= 999); - poco_assert (microsecond >= 0 && microsecond <= 999); - _utcTime = toUtcTime(toJulianDay(year, month, day)) + 10*(hour*Timespan::HOURS + minute*Timespan::MINUTES + second*Timespan::SECONDS + millisecond*Timespan::MILLISECONDS + microsecond); _year = year; _month = month; @@ -186,6 +160,7 @@ DateTime& DateTime::assign(int year, int month, int day, int hour, int minute, i _second = second; _millisecond = millisecond; _microsecond = microsecond; + checkValid(); return *this; } @@ -223,21 +198,39 @@ int DateTime::dayOfYear() const int DateTime::daysOfMonth(int year, int month) { - poco_assert (month >= 1 && month <= 12); - static int daysOfMonthTable[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month == 2 && isLeapYear(year)) return 29; - else - return daysOfMonthTable[month]; + else if (month < 1 || month > 12) + return 0; + return daysOfMonthTable[month]; +} + + +void DateTime::checkValid() +{ + if (!isValid(_year, _month, _day, _hour, _minute, _second, _millisecond, _microsecond)) + throw Poco::InvalidArgumentException(Poco::format("Date time is %hd-%hd-%hdT%hd:%hd:%hd.%hd.%hd\n" + "Valid values:\n" + "-4713 <= year <= 9999\n" + "1 <= month <= 12\n" + "1 <= day <= %d\n" + "0 <= hour <= 23\n" + "0 <= minute <= 59\n" + "0 <= second <= 60\n" + "0 <= millisecond <= 999\n" + "0 <= microsecond <= 999", + _year, _month, _day, _hour, _minute, + _second, _millisecond, _microsecond, + daysOfMonth(_year, _month))); } bool DateTime::isValid(int year, int month, int day, int hour, int minute, int second, int millisecond, int microsecond) { return - (year >= 0 && year <= 9999) && + (year >= -4713 && year <= 9999) && (month >= 1 && month <= 12) && (day >= 1 && day <= daysOfMonth(year, month)) && (hour >= 0 && hour <= 23) && @@ -294,6 +287,7 @@ DateTime& DateTime::operator += (const Timespan& span) _utcTime += span.totalMicroseconds()*10; computeGregorian(julianDay()); computeDaytime(); + checkValid(); return *this; } @@ -303,6 +297,7 @@ DateTime& DateTime::operator -= (const Timespan& span) _utcTime -= span.totalMicroseconds()*10; computeGregorian(julianDay()); computeDaytime(); + checkValid(); return *this; } @@ -421,14 +416,6 @@ void DateTime::computeGregorian(double julianDay) _microsecond = short(r + 0.5); normalize(); - - poco_assert_dbg (_month >= 1 && _month <= 12); - poco_assert_dbg (_day >= 1 && _day <= daysOfMonth(_year, _month)); - poco_assert_dbg (_hour >= 0 && _hour <= 23); - poco_assert_dbg (_minute >= 0 && _minute <= 59); - poco_assert_dbg (_second >= 0 && _second <= 59); - poco_assert_dbg (_millisecond >= 0 && _millisecond <= 999); - poco_assert_dbg (_microsecond >= 0 && _microsecond <= 999); } diff --git a/Externals/poco/Foundation/src/DateTimeFormat.cpp b/Externals/poco/Foundation/src/DateTimeFormat.cpp index 27057143a0d..0e296323f79 100644 --- a/Externals/poco/Foundation/src/DateTimeFormat.cpp +++ b/Externals/poco/Foundation/src/DateTimeFormat.cpp @@ -129,19 +129,6 @@ const std::string DateTimeFormat::MONTH_NAMES[] = }; -DateTimeFormat::RegexList DateTimeFormat::REGEX_LIST = -{ - &DateTimeFormat::ISO8601_REGEX, - &DateTimeFormat::RFC822_REGEX, - &DateTimeFormat::RFC1123_REGEX, - &DateTimeFormat::HTTP_REGEX, - &DateTimeFormat::RFC850_REGEX, - &DateTimeFormat::RFC1036_REGEX, - &DateTimeFormat::ASCTIME_REGEX, - &DateTimeFormat::SORTABLE_REGEX -}; - - bool DateTimeFormat::hasFormat(const std::string& fmt) { return FORMAT_LIST.find(fmt) != FORMAT_LIST.end(); @@ -150,11 +137,22 @@ bool DateTimeFormat::hasFormat(const std::string& fmt) bool DateTimeFormat::isValid(const std::string& dateTime) { - for (const auto& f : REGEX_LIST) - { - if (RegularExpression(*f).match(dateTime)) return true; - } - return false; + static const RegularExpression regexList[] = { + RegularExpression(DateTimeFormat::ISO8601_REGEX), + RegularExpression(DateTimeFormat::RFC822_REGEX), + RegularExpression(DateTimeFormat::RFC1123_REGEX), + RegularExpression(DateTimeFormat::HTTP_REGEX), + RegularExpression(DateTimeFormat::RFC850_REGEX), + RegularExpression(DateTimeFormat::RFC1036_REGEX), + RegularExpression(DateTimeFormat::ASCTIME_REGEX), + RegularExpression(DateTimeFormat::SORTABLE_REGEX) + }; + + for (const auto& f : regexList) + { + if (f.match(dateTime)) return true; + } + return false; } diff --git a/Externals/poco/Foundation/src/DateTimeParser.cpp b/Externals/poco/Foundation/src/DateTimeParser.cpp index 9eb85f8c233..8da6e25625d 100644 --- a/Externals/poco/Foundation/src/DateTimeParser.cpp +++ b/Externals/poco/Foundation/src/DateTimeParser.cpp @@ -18,42 +18,140 @@ #include "Poco/Exception.h" #include "Poco/Ascii.h" #include "Poco/String.h" +#include +namespace { + using ParseIter = std::string::const_iterator; -namespace Poco { + [[nodiscard]] ParseIter skipNonDigits(ParseIter it, ParseIter end) + { + while (it != end && !Poco::Ascii::isDigit(*it)) + { + ++it; + } + return it; + } -#define SKIP_JUNK() \ - while (it != end && !Ascii::isDigit(*it)) ++it + [[nodiscard]] ParseIter skipDigits(ParseIter it, ParseIter end) + { + while (it != end && Poco::Ascii::isDigit(*it)) + { + ++it; + } + return it; + } -#define SKIP_DIGITS() \ - while (it != end && Ascii::isDigit(*it)) ++it + int parseNumberN(const std::string& dtStr, ParseIter& it, ParseIter end, int n) + { + ParseIter numStart = end; + int i = 0; + for (; it != end && i < n && Poco::Ascii::isDigit(*it); ++it, ++i) + { + if (numStart == end) + { + numStart = it; + } + } -#define PARSE_NUMBER(var) \ - while (it != end && Ascii::isDigit(*it)) var = var*10 + ((*it++) - '0') + if (numStart == end) + { + throw Poco::SyntaxException("Invalid DateTimeString: " + dtStr + ", No number found to parse"); + } + std::string number(numStart, it); + try + { + return std::stoi(number); + } + catch(const std::exception&) + { + throw Poco::SyntaxException("Invalid DateTimeString: " + dtStr + ", invalid number: " + number); + } + } +} -#define PARSE_NUMBER_N(var, n) \ - { int i = 0; while (i++ < n && it != end && Ascii::isDigit(*it)) var = var*10 + ((*it++) - '0'); } +namespace Poco { -#define PARSE_FRACTIONAL_N(var, n) \ - { int i = 0; while (i < n && it != end && Ascii::isDigit(*it)) { var = var*10 + ((*it++) - '0'); i++; } while (i++ < n) var *= 10; } +void DateTimeParser::parse(const std::string& fmt, const std::string& dtStr, DateTime& dateTime, int& timeZoneDifferential) +{ + const auto str = Poco::trim(dtStr); + if (fmt.empty() || str.empty()) + { + throw SyntaxException("Invalid DateTimeString: " + dtStr); + } + else if (DateTimeFormat::hasFormat(fmt) && !DateTimeFormat::isValid(str)) + { + throw SyntaxException("Invalid DateTimeString: " + dtStr); + } + + const auto parse_number = [&dtStr](ParseIter& it, ParseIter end) + { + ParseIter numStart = end; -inline std::string cleanedInputString(const std::string& str) -{ - return Poco::trim(str); -} + for (; it != end && Poco::Ascii::isDigit(*it); ++it) + { + if (numStart == end) + { + numStart = it; + } + } -void DateTimeParser::parse(const std::string& fmt, const std::string& dtStr, DateTime& dateTime, int& timeZoneDifferential) -{ - const auto str = cleanedInputString(dtStr); + if (numStart == end) + { + throw Poco::SyntaxException("Invalid DateTimeString: " + dtStr + ", No number found to parse"); + } + + std::string number(numStart, it); + try + { + return std::stoi(number); + } + catch(const std::exception&) + { + throw SyntaxException("Invalid DateTimeString: " + dtStr + ", invalid number: " + number); + } + }; + + - if (fmt.empty() || str.empty() || (DateTimeFormat::hasFormat(fmt) && !DateTimeFormat::isValid(str))) - throw SyntaxException("Invalid DateTimeString:" + dtStr); + const auto parseFractionalN = [dtStr](ParseIter& it, ParseIter end, int n) + { + ParseIter numStart = end; + int i = 0; + + for (; it != end && i < n && Poco::Ascii::isDigit(*it); ++it, ++i) + { + if (numStart == end) + { + numStart = it; + } + } + + if (numStart == end) + { + return 0; + } + + std::string number(numStart, it); + int result = 0; + try + { + result = std::stoi(number); + } + catch(const std::exception&) + { + throw SyntaxException("Invalid DateTimeString: " + dtStr + ", invalid number: " + number); + } + + while (i++ < n) result *= 10; + + return result; + }; int year = 0; int month = 0; @@ -81,8 +179,8 @@ void DateTimeParser::parse(const std::string& fmt, const std::string& dtStr, Dat { switch (*itf) { - case 'w': - case 'W': + case 'w': // Weekday, abbreviated + case 'W': // Weekday while (it != end && Ascii::isSpace(*it)) ++it; while (it != end && Ascii::isAlpha(*it)) ++it; break; @@ -94,32 +192,33 @@ void DateTimeParser::parse(const std::string& fmt, const std::string& dtStr, Dat case 'd': case 'e': case 'f': - SKIP_JUNK(); - PARSE_NUMBER_N(day, 2); + it = skipNonDigits(it, end); + day = parseNumberN(dtStr, it, end, 2); dayParsed = true; break; case 'm': case 'n': case 'o': - SKIP_JUNK(); - PARSE_NUMBER_N(month, 2); + it = skipNonDigits(it, end); + month = parseNumberN(dtStr, it, end, 2); monthParsed = true; break; case 'y': - SKIP_JUNK(); - PARSE_NUMBER_N(year, 2); + it = skipNonDigits(it, end); + year = parseNumberN(dtStr, it, end, 2); if (year >= 69) year += 1900; else year += 2000; break; case 'Y': - SKIP_JUNK(); - PARSE_NUMBER_N(year, 4); + it = skipNonDigits(it, end); + year = parseNumberN(dtStr, it, end, 4); break; case 'r': - SKIP_JUNK(); - PARSE_NUMBER(year); + it = skipNonDigits(it, end); + year = parse_number(it, end); + if (year < 1000) { if (year >= 69) @@ -130,46 +229,53 @@ void DateTimeParser::parse(const std::string& fmt, const std::string& dtStr, Dat break; case 'H': case 'h': - SKIP_JUNK(); - PARSE_NUMBER_N(hour, 2); + it = skipNonDigits(it, end); + hour = parseNumberN(dtStr, it, end, 2); break; case 'a': case 'A': hour = parseAMPM(it, end, hour); break; case 'M': - SKIP_JUNK(); - PARSE_NUMBER_N(minute, 2); + it = skipNonDigits(it, end); + minute = parseNumberN(dtStr, it, end, 2); break; case 'S': - SKIP_JUNK(); - PARSE_NUMBER_N(second, 2); + it = skipNonDigits(it, end); + second = parseNumberN(dtStr, it, end, 2); break; case 's': - SKIP_JUNK(); - PARSE_NUMBER_N(second, 2); + it = skipNonDigits(it, end); + second = parseNumberN(dtStr, it, end, 2); + if (it != end && (*it == '.' || *it == ',')) { ++it; - PARSE_FRACTIONAL_N(millis, 3); - PARSE_FRACTIONAL_N(micros, 3); - SKIP_DIGITS(); + + if (it != end && !Ascii::isDigit(*it)) + { + throw SyntaxException("Invalid DateTimeString: " + dtStr + ", missing millisecond"); + } + + millis = parseFractionalN(it, end, 3); + micros = parseFractionalN(it, end, 3); + it = skipDigits(it, end); } break; case 'i': - SKIP_JUNK(); - PARSE_NUMBER_N(millis, 3); + it = skipNonDigits(it, end); + millis = parseNumberN(dtStr, it, end, 3); break; case 'c': - SKIP_JUNK(); - PARSE_NUMBER_N(millis, 1); + it = skipNonDigits(it, end); + millis = parseNumberN(dtStr, it, end, 1); millis *= 100; break; case 'F': - SKIP_JUNK(); - PARSE_FRACTIONAL_N(millis, 3); - PARSE_FRACTIONAL_N(micros, 3); - SKIP_DIGITS(); + it = skipNonDigits(it, end); + millis = parseNumberN(dtStr, it, end, 3); + micros = parseNumberN(dtStr, it, end, 3); + it = skipDigits(it, end); break; case 'z': case 'Z': @@ -233,7 +339,7 @@ DateTime DateTimeParser::parse(const std::string& str, int& timeZoneDifferential bool DateTimeParser::tryParse(const std::string& dtStr, DateTime& dateTime, int& timeZoneDifferential) { - const auto str = cleanedInputString(dtStr); + const auto str = Poco::trim(dtStr); if (str.length() < 4) return false; @@ -338,12 +444,28 @@ int DateTimeParser::parseTZD(std::string::const_iterator& it, const std::string: int sign = *it == '+' ? 1 : -1; ++it; int hours = 0; - PARSE_NUMBER_N(hours, 2); + try + { + hours = parseNumberN("", it, end, 2); + } + catch(const SyntaxException&) + { + throw SyntaxException("Timezone invalid number: hours"); + } + if (hours < 0 || hours > 23) throw SyntaxException("Timezone difference hours out of range"); if (it != end && *it == ':') ++it; int minutes = 0; - PARSE_NUMBER_N(minutes, 2); + try + { + minutes = parseNumberN("", it, end, 2); + } + catch(const SyntaxException&) + { + throw SyntaxException("Timezone invalid number: minutes"); + } + if (minutes < 0 || minutes > 59) throw SyntaxException("Timezone difference minutes out of range"); tzd += sign*(hours*3600 + minutes*60); diff --git a/Externals/poco/Foundation/src/Debugger.cpp b/Externals/poco/Foundation/src/Debugger.cpp index 3e9915fd119..9ed2957c107 100644 --- a/Externals/poco/Foundation/src/Debugger.cpp +++ b/Externals/poco/Foundation/src/Debugger.cpp @@ -68,7 +68,7 @@ void Debugger::message(const std::string& msg) } -void Debugger::message(const std::string& msg, const char* file, int line) +void Debugger::message(const std::string& msg, const char* file, LineNumber line) { #if defined(_DEBUG) std::ostringstream str; @@ -109,7 +109,7 @@ void Debugger::enter(const std::string& msg) } -void Debugger::enter(const std::string& msg, const char* file, int line) +void Debugger::enter(const std::string& msg, const char* file, LineNumber line) { #if defined(_DEBUG) message(msg, file, line); @@ -118,7 +118,7 @@ void Debugger::enter(const std::string& msg, const char* file, int line) } -void Debugger::enter(const char* file, int line) +void Debugger::enter(const char* file, LineNumber line) { #if defined(_DEBUG) message("BREAK", file, line); diff --git a/Externals/poco/Foundation/src/DeflatingStream.cpp b/Externals/poco/Foundation/src/DeflatingStream.cpp index eba64d0533b..3952105640f 100644 --- a/Externals/poco/Foundation/src/DeflatingStream.cpp +++ b/Externals/poco/Foundation/src/DeflatingStream.cpp @@ -14,6 +14,12 @@ #include "Poco/DeflatingStream.h" #include "Poco/Exception.h" +#include +#if defined(POCO_UNBUNDLED) +#include +#else +#include "zlib.h" +#endif namespace Poco { @@ -25,29 +31,17 @@ DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, StreamType type, int _pOstr(0), _eof(false) { - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.total_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; - _zstr.total_out = 0; - _zstr.msg = 0; - _zstr.state = 0; - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.data_type = 0; - _zstr.adler = 0; - _zstr.reserved = 0; - - _buffer = new char[DEFLATE_BUFFER_SIZE]; - - int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY); + std::unique_ptr buffer(new char[DEFLATE_BUFFER_SIZE]); + + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = deflateInit2(pZstr.get(), level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -57,22 +51,17 @@ DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, int windowBits, int l _pOstr(0), _eof(false) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[DEFLATE_BUFFER_SIZE]); - _buffer = new char[DEFLATE_BUFFER_SIZE]; - - int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = deflateInit2(pZstr.get(), level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -82,22 +71,17 @@ DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, StreamType type, int _pOstr(&ostr), _eof(false) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[DEFLATE_BUFFER_SIZE]); - _buffer = new char[DEFLATE_BUFFER_SIZE]; - - int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = deflateInit2(pZstr.get(), level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -107,22 +91,17 @@ DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, int windowBits, int l _pOstr(&ostr), _eof(false) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[DEFLATE_BUFFER_SIZE]); - _buffer = new char[DEFLATE_BUFFER_SIZE]; - - int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = deflateInit2(pZstr.get(), level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -136,7 +115,8 @@ DeflatingStreamBuf::~DeflatingStreamBuf() { } delete [] _buffer; - deflateEnd(&_zstr); + deflateEnd(_pZstr); + delete _pZstr; } @@ -146,22 +126,22 @@ int DeflatingStreamBuf::close() _pIstr = 0; if (_pOstr) { - if (_zstr.next_out) + if (_pZstr->next_out) { - int rc = deflate(&_zstr, Z_FINISH); + int rc = deflate(_pZstr, Z_FINISH); if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc)); - _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; while (rc != Z_STREAM_END) { - rc = deflate(&_zstr, Z_FINISH); + rc = deflate(_pZstr, Z_FINISH); if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc)); - _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; } } _pOstr->flush(); @@ -178,23 +158,23 @@ int DeflatingStreamBuf::sync() if (_pOstr) { - if (_zstr.next_out) + if (_pZstr->next_out) { - int rc = deflate(&_zstr, Z_SYNC_FLUSH); + int rc = deflate(_pZstr, Z_SYNC_FLUSH); if (rc != Z_OK) throw IOException(zError(rc)); - _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); - while (_zstr.avail_out == 0) + while (_pZstr->avail_out == 0) { - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; - rc = deflate(&_zstr, Z_SYNC_FLUSH); + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; + rc = deflate(_pZstr, Z_SYNC_FLUSH); if (rc != Z_OK) throw IOException(zError(rc)); - _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); }; - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; } // NOTE: This breaks the Zip library and causes corruption in some files. // See GH #1828 @@ -207,7 +187,7 @@ int DeflatingStreamBuf::sync() int DeflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) { if (!_pIstr) return 0; - if (_zstr.avail_in == 0 && !_eof) + if (_pZstr->avail_in == 0 && !_eof) { int n = 0; if (_pIstr->good()) @@ -217,32 +197,32 @@ int DeflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) } if (n > 0) { - _zstr.next_in = (unsigned char*) _buffer; - _zstr.avail_in = n; + _pZstr->next_in = (unsigned char*) _buffer; + _pZstr->avail_in = n; } else { - _zstr.next_in = 0; - _zstr.avail_in = 0; + _pZstr->next_in = 0; + _pZstr->avail_in = 0; _eof = true; } } - _zstr.next_out = (unsigned char*) buffer; - _zstr.avail_out = static_cast(length); + _pZstr->next_out = (unsigned char*) buffer; + _pZstr->avail_out = static_cast(length); for (;;) { - int rc = deflate(&_zstr, _eof ? Z_FINISH : Z_NO_FLUSH); + int rc = deflate(_pZstr, _eof ? Z_FINISH : Z_NO_FLUSH); if (_eof && rc == Z_STREAM_END) { _pIstr = 0; - return static_cast(length) - _zstr.avail_out; + return static_cast(length) - _pZstr->avail_out; } if (rc != Z_OK) throw IOException(zError(rc)); - if (_zstr.avail_out == 0) + if (_pZstr->avail_out == 0) { return static_cast(length); } - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { int n = 0; if (_pIstr->good()) @@ -252,13 +232,13 @@ int DeflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) } if (n > 0) { - _zstr.next_in = (unsigned char*) _buffer; - _zstr.avail_in = n; + _pZstr->next_in = (unsigned char*) _buffer; + _pZstr->avail_in = n; } else { - _zstr.next_in = 0; - _zstr.avail_in = 0; + _pZstr->next_in = 0; + _pZstr->avail_in = 0; _eof = true; } } @@ -270,27 +250,27 @@ int DeflatingStreamBuf::writeToDevice(const char* buffer, std::streamsize length { if (length == 0 || !_pOstr) return 0; - _zstr.next_in = (unsigned char*) buffer; - _zstr.avail_in = static_cast(length); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_in = (unsigned char*) buffer; + _pZstr->avail_in = static_cast(length); + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; for (;;) { - int rc = deflate(&_zstr, Z_NO_FLUSH); + int rc = deflate(_pZstr, Z_NO_FLUSH); if (rc != Z_OK) throw IOException(zError(rc)); - if (_zstr.avail_out == 0) + if (_pZstr->avail_out == 0) { _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; } - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { - _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing deflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = DEFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = DEFLATE_BUFFER_SIZE; break; } } diff --git a/Externals/poco/Foundation/src/DirectoryWatcher.cpp b/Externals/poco/Foundation/src/DirectoryWatcher.cpp index 6b2c373f271..f8b5748222f 100644 --- a/Externals/poco/Foundation/src/DirectoryWatcher.cpp +++ b/Externals/poco/Foundation/src/DirectoryWatcher.cpp @@ -54,9 +54,11 @@ class DirectoryWatcherStrategy { } - virtual ~DirectoryWatcherStrategy() - { - } + virtual ~DirectoryWatcherStrategy() = default; + + DirectoryWatcherStrategy() = delete; + DirectoryWatcherStrategy(const DirectoryWatcherStrategy&) = delete; + DirectoryWatcherStrategy& operator = (const DirectoryWatcherStrategy&) = delete; DirectoryWatcher& owner() { @@ -75,12 +77,11 @@ class DirectoryWatcherStrategy { } - ItemInfo(const ItemInfo& other): - path(other.path), - size(other.size), - lastModified(other.lastModified) - { - } + ItemInfo(const ItemInfo& other) = default; + ItemInfo& operator=(const ItemInfo& ) = default; + + ItemInfo(ItemInfo&& other) = default; + ItemInfo& operator=(ItemInfo&& ) = default; explicit ItemInfo(const File& f): path(f.path()), @@ -93,12 +94,12 @@ class DirectoryWatcherStrategy File::FileSize size; Timestamp lastModified; }; - typedef std::map ItemInfoMap; + using ItemInfoMap = std::map; void scan(ItemInfoMap& entries) { DirectoryIterator it(owner().directory()); - DirectoryIterator end; + const DirectoryIterator end; while (it != end) { entries[it.path().getFileName()] = ItemInfo(*it); @@ -110,14 +111,14 @@ class DirectoryWatcherStrategy { for (auto& np: newEntries) { - ItemInfoMap::iterator ito = oldEntries.find(np.first); + const auto ito = oldEntries.find(np.first); if (ito != oldEntries.end()) { if ((owner().eventMask() & DirectoryWatcher::DW_ITEM_MODIFIED) && !owner().eventsSuspended()) { if (np.second.size != ito->second.size || np.second.lastModified != ito->second.lastModified) { - Poco::File f(np.second.path); + const Poco::File f(np.second.path); DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_MODIFIED); owner().itemModified(&owner(), ev); } @@ -143,10 +144,6 @@ class DirectoryWatcherStrategy } private: - DirectoryWatcherStrategy(); - DirectoryWatcherStrategy(const DirectoryWatcherStrategy&); - DirectoryWatcherStrategy& operator = (const DirectoryWatcherStrategy&); - DirectoryWatcher& _owner; }; diff --git a/Externals/poco/Foundation/src/Error.cpp b/Externals/poco/Foundation/src/Error.cpp index f7aaae6c678..78573ce2c41 100644 --- a/Externals/poco/Foundation/src/Error.cpp +++ b/Externals/poco/Foundation/src/Error.cpp @@ -62,9 +62,7 @@ namespace Poco { { _buffer[0] = 0; -#if (_XOPEN_SOURCE >= 600) || POCO_OS == POCO_OS_ANDROID || __APPLE__ - setMessage(strerror_r(err, _buffer, sizeof(_buffer))); -#elif _GNU_SOURCE +#if (_XOPEN_SOURCE >= 600) || POCO_OS == POCO_OS_ANDROID || __APPLE__ || _GNU_SOURCE setMessage(strerror_r(err, _buffer, sizeof(_buffer))); #else setMessage(strerror(err)); @@ -104,8 +102,13 @@ namespace Poco { return helper.message(); } - #endif +std::string Error::getLastMessage() +{ + return getMessage(last()); +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/src/Event.cpp b/Externals/poco/Foundation/src/Event.cpp index 2d8f327e1d2..8a56727ffb7 100644 --- a/Externals/poco/Foundation/src/Event.cpp +++ b/Externals/poco/Foundation/src/Event.cpp @@ -27,7 +27,7 @@ namespace Poco { -Event::Event(EventType type): EventImpl(type == EVENT_AUTORESET) +Event::Event(EventType type) : EventImpl(type == EVENT_AUTORESET) { } @@ -37,9 +37,7 @@ Event::Event(bool autoReset): EventImpl(autoReset) } -Event::~Event() -{ -} +Event::~Event() = default; } // namespace Poco diff --git a/Externals/poco/Foundation/src/EventLogChannel.cpp b/Externals/poco/Foundation/src/EventLogChannel.cpp index f9a9fb150ef..0f5b84f2bb1 100644 --- a/Externals/poco/Foundation/src/EventLogChannel.cpp +++ b/Externals/poco/Foundation/src/EventLogChannel.cpp @@ -234,9 +234,9 @@ std::wstring EventLogChannel::findLibrary(const wchar_t* name) if (dll) { const DWORD maxPathLen = MAX_PATH + 1; - wchar_t name[maxPathLen]; - int n = GetModuleFileNameW(dll, name, maxPathLen); - if (n > 0) path = name; + wchar_t moduleName[maxPathLen]; + int n = GetModuleFileNameW(dll, moduleName, maxPathLen); + if (n > 0) path = moduleName; FreeLibrary(dll); } return path; diff --git a/Externals/poco/Foundation/src/Exception.cpp b/Externals/poco/Foundation/src/Exception.cpp index a1460406ee7..6eea13ac7e1 100644 --- a/Externals/poco/Foundation/src/Exception.cpp +++ b/Externals/poco/Foundation/src/Exception.cpp @@ -14,6 +14,11 @@ #include "Poco/Exception.h" #include +#ifdef POCO_ENABLE_TRACE +#include +#include "cpptrace/cpptrace.hpp" +#include "Poco/Trace/Trace.h" +#endif namespace Poco { @@ -21,11 +26,23 @@ namespace Poco { Exception::Exception(int code): _pNested(0), _code(code) { +#ifdef POCO_ENABLE_TRACE + std::ostringstream ostr; + ostr << '\n'; + cpptrace::generate_trace(0,100).print(ostr); + _msg = ostr.str(); +#endif } Exception::Exception(const std::string& msg, int code): _msg(msg), _pNested(0), _code(code) { +#ifdef POCO_ENABLE_TRACE + std::ostringstream ostr; + ostr << '\n'; + cpptrace::generate_trace(0,100).print(ostr); + _msg += ostr.str(); +#endif } @@ -36,11 +53,23 @@ Exception::Exception(const std::string& msg, const std::string& arg, int code): _msg.append(": "); _msg.append(arg); } +#ifdef POCO_ENABLE_TRACE + std::ostringstream ostr; + ostr << '\n'; + cpptrace::generate_trace(0,100).print(ostr); + _msg += ostr.str(); +#endif } Exception::Exception(const std::string& msg, const Exception& nested, int code): _msg(msg), _pNested(nested.clone()), _code(code) { +#ifdef POCO_ENABLE_TRACE + std::ostringstream ostr; + ostr << '\n'; + cpptrace::generate_trace(0,100).print(ostr); + _msg += ostr.str(); +#endif } @@ -151,6 +180,7 @@ POCO_IMPLEMENT_EXCEPTION(PropertyNotSupportedException, RuntimeException, "Prope POCO_IMPLEMENT_EXCEPTION(PoolOverflowException, RuntimeException, "Pool overflow") POCO_IMPLEMENT_EXCEPTION(NoPermissionException, RuntimeException, "No permission") POCO_IMPLEMENT_EXCEPTION(OutOfMemoryException, RuntimeException, "Out of memory") +POCO_IMPLEMENT_EXCEPTION(ResourceLimitException, RuntimeException, "Resource limit") POCO_IMPLEMENT_EXCEPTION(DataException, RuntimeException, "Data error") POCO_IMPLEMENT_EXCEPTION(DataFormatException, DataException, "Bad data format") @@ -169,6 +199,7 @@ POCO_IMPLEMENT_EXCEPTION(CreateFileException, FileException, "Cannot create file POCO_IMPLEMENT_EXCEPTION(OpenFileException, FileException, "Cannot open file") POCO_IMPLEMENT_EXCEPTION(WriteFileException, FileException, "Cannot write file") POCO_IMPLEMENT_EXCEPTION(ReadFileException, FileException, "Cannot read file") +POCO_IMPLEMENT_EXCEPTION(ExecuteFileException, FileException, "Cannot execute file") POCO_IMPLEMENT_EXCEPTION(FileNotReadyException, FileException, "File not ready") POCO_IMPLEMENT_EXCEPTION(DirectoryNotEmptyException, FileException, "Directory not empty") POCO_IMPLEMENT_EXCEPTION(UnknownURISchemeException, RuntimeException, "Unknown URI scheme") diff --git a/Externals/poco/Foundation/src/File.cpp b/Externals/poco/Foundation/src/File.cpp index 9fe69ee2d16..0625b45ad22 100644 --- a/Externals/poco/Foundation/src/File.cpp +++ b/Externals/poco/Foundation/src/File.cpp @@ -15,6 +15,8 @@ #include "Poco/File.h" #include "Poco/Path.h" #include "Poco/DirectoryIterator.h" +#include "Poco/Environment.h" +#include "Poco/StringTokenizer.h" #if defined(POCO_OS_FAMILY_WINDOWS) @@ -95,12 +97,77 @@ void File::swap(File& file) noexcept } +std::string File::absolutePath() const +{ + std::string ret; + + if (Path(path()).isAbsolute()) + // TODO: Should this return empty string if file does not exists to be consistent + // with the function documentation? + ret = getPathImpl(); + else + { + Path curPath(Path::current()); + curPath.append(path()); + if (File(curPath).exists()) + ret = curPath.toString(); + else + { + const std::string envPath = Environment::get("PATH", ""); + const std::string pathSeparator(1, Path::pathSeparator()); + if (!envPath.empty()) + { + const StringTokenizer st(envPath, pathSeparator, + StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); + + for (const auto& p: st) + { + try + { + std::string fileName(p); + if (p.size() && p.back() != Path::separator()) + fileName.append(1, Path::separator()); + fileName.append(path()); + if (File(fileName).exists()) + { + ret = fileName; + break; + } + } + catch (const Poco::PathSyntaxException&) + { + // shield against bad PATH environment entries + } + } + } + } + } + + return ret; +} + + bool File::exists() const { + if (path().empty()) return false; return existsImpl(); } +bool File::existsAnywhere() const +{ + if (path().empty()) return false; + + if (Path(path()).isAbsolute()) + return existsImpl(); + + if (File(absolutePath()).exists()) + return true; + + return false; +} + + bool File::canRead() const { return canReadImpl(); @@ -115,7 +182,14 @@ bool File::canWrite() const bool File::canExecute() const { - return canExecuteImpl(); + // Resolve (platform-specific) executable path and absolute path from relative. + const auto execPath { getExecutablePathImpl() }; + const auto absPath { File(execPath).absolutePath() }; + if (absPath.empty() || !File(absPath).exists()) + { + return false; + } + return canExecuteImpl(absPath); } diff --git a/Externals/poco/Foundation/src/FileChannel.cpp b/Externals/poco/Foundation/src/FileChannel.cpp index 3b57d1013c9..81ae42471a4 100644 --- a/Externals/poco/Foundation/src/FileChannel.cpp +++ b/Externals/poco/Foundation/src/FileChannel.cpp @@ -42,9 +42,9 @@ const std::string FileChannel::PROP_ROTATEONOPEN = "rotateOnOpen"; FileChannel::FileChannel(): _times("utc"), _compress(false), - _flush(true), + _flush(false), _rotateOnOpen(false), - _pFile(0), + _pFile(nullptr), _pRotateStrategy(new NullRotateStrategy()), _pArchiveStrategy(new ArchiveByNumberStrategy), _pPurgeStrategy(new NullPurgeStrategy()) @@ -56,9 +56,9 @@ FileChannel::FileChannel(const std::string& path): _path(path), _times("utc"), _compress(false), - _flush(true), + _flush(false), _rotateOnOpen(false), - _pFile(0), + _pFile(nullptr), _pRotateStrategy(new NullRotateStrategy()), _pArchiveStrategy(new ArchiveByNumberStrategy), _pPurgeStrategy(new NullPurgeStrategy()) @@ -111,8 +111,11 @@ void FileChannel::close() { FastMutex::ScopedLock lock(_mutex); + if (_pFile != nullptr) + _pArchiveStrategy->close(); + delete _pFile; - _pFile = 0; + _pFile = nullptr; } @@ -298,7 +301,7 @@ void FileChannel::setRotation(const std::string& rotation) ArchiveStrategy* FileChannel::createArchiveStrategy(const std::string& archive, const std::string& times) const { - ArchiveStrategy* pStrategy = 0; + ArchiveStrategy* pStrategy = nullptr; if (archive == "number") { pStrategy = new ArchiveByNumberStrategy; @@ -328,7 +331,7 @@ void FileChannel::setArchiveStrategy(ArchiveStrategy* strategy) void FileChannel::setArchive(const std::string& archive) { - ArchiveStrategy* pStrategy = 0; + ArchiveStrategy* pStrategy = nullptr; if (archive == "number") { pStrategy = new ArchiveByNumberStrategy; diff --git a/Externals/poco/Foundation/src/FileStream.cpp b/Externals/poco/Foundation/src/FileStream.cpp index 28b49eb2468..f9bc006fdf2 100644 --- a/Externals/poco/Foundation/src/FileStream.cpp +++ b/Externals/poco/Foundation/src/FileStream.cpp @@ -35,6 +35,20 @@ FileIOS::~FileIOS() } +void FileIOS::open(const std::string& path, std::ios::openmode mode) +{ + clear(); + _buf.open(path, mode); +} + + +void FileIOS::openHandle(NativeHandle handle, std::ios::openmode mode) +{ + clear(); + _buf.openHandle(handle, mode); +} + + void FileIOS::close() { if (!_buf.close()) @@ -56,10 +70,18 @@ FileIOS::NativeHandle FileIOS::nativeHandle() const } -Poco::UInt64 FileIOS::size() const { +Poco::UInt64 FileIOS::size() const +{ return _buf.size(); } + +void FileIOS::flushToDisk() +{ + _buf.flushToDisk(); +} + + FileInputStream::FileInputStream(): std::istream(&_buf) { @@ -69,7 +91,7 @@ FileInputStream::FileInputStream(): FileInputStream::FileInputStream(const std::string& path, std::ios::openmode mode): std::istream(&_buf) { - open(path, mode | std::ios::in); + open(path, mode); } @@ -80,8 +102,7 @@ FileInputStream::~FileInputStream() void FileInputStream::open(const std::string& path, std::ios::openmode mode) { - clear(); - _buf.open(path, mode | std::ios::in); + FileIOS::open(path, mode | std::ios::in); } @@ -94,7 +115,7 @@ FileOutputStream::FileOutputStream(): FileOutputStream::FileOutputStream(const std::string& path, std::ios::openmode mode): std::ostream(&_buf) { - open(path, mode | std::ios::out); + open(path, mode); } @@ -105,8 +126,7 @@ FileOutputStream::~FileOutputStream() void FileOutputStream::open(const std::string& path, std::ios::openmode mode) { - clear(); - _buf.open(path, mode | std::ios::out); + FileIOS::open(path, mode | std::ios::out); } @@ -130,8 +150,7 @@ FileStream::~FileStream() void FileStream::open(const std::string& path, std::ios::openmode mode) { - clear(); - _buf.open(path, mode); + FileIOS::open(path, mode); } diff --git a/Externals/poco/Foundation/src/FileStreamRWLock.cpp b/Externals/poco/Foundation/src/FileStreamRWLock.cpp new file mode 100644 index 00000000000..482b4933ebe --- /dev/null +++ b/Externals/poco/Foundation/src/FileStreamRWLock.cpp @@ -0,0 +1,44 @@ +// +// FileStreamRWLock.cpp +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/FileStreamRWLock.h" + + +#if defined(POCO_OS_FAMILY_WINDOWS) +#include "FileStreamRWLock_WIN32.cpp" +#else +#include "FileStreamRWLock_POSIX.cpp" +#endif + + +namespace Poco { + + +FileStreamRWLock::FileStreamRWLock(const FileStream &fs, Poco::UInt64 offset, Poco::UInt64 size) : + FileStreamRWLockImpl(fs.nativeHandle(), offset, size) +{ +} + + +FileStreamRWLock::~FileStreamRWLock() +{ + if (_locked) + { + unlockImpl(); + _locked = false; + } +} + + +} // namespace Poco diff --git a/Externals/poco/Foundation/src/FileStreamRWLock_POSIX.cpp b/Externals/poco/Foundation/src/FileStreamRWLock_POSIX.cpp new file mode 100644 index 00000000000..94c7c8a0be6 --- /dev/null +++ b/Externals/poco/Foundation/src/FileStreamRWLock_POSIX.cpp @@ -0,0 +1,36 @@ +// +// FileStreamRWLock_POSIX.cpp +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/FileStreamRWLock_POSIX.h" + + +namespace Poco { + + +FileStreamRWLockImpl::FileStreamRWLockImpl(const FileStream::NativeHandle &fd, Poco::UInt64 offset, Poco::UInt64 size): + _fd(fd), _lockMode(0) +{ + _flock.l_whence = SEEK_SET; + _flock.l_start = offset; + _flock.l_len = size; + _flock.l_pid = 0; +} + + +FileStreamRWLockImpl::~FileStreamRWLockImpl() +{ +} + + +} // namespace Poco diff --git a/Externals/poco/Foundation/src/FileStreamRWLock_WIN32.cpp b/Externals/poco/Foundation/src/FileStreamRWLock_WIN32.cpp new file mode 100644 index 00000000000..12d4935baa7 --- /dev/null +++ b/Externals/poco/Foundation/src/FileStreamRWLock_WIN32.cpp @@ -0,0 +1,39 @@ +// +// FileStreamRWLock_WIN32.cpp +// +// Library: Foundation +// Package: Processes +// Module: FileStreamRWLock +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/FileStreamRWLock_WIN32.h" + + +namespace Poco { + + +FileStreamRWLockImpl::FileStreamRWLockImpl(const FileStream::NativeHandle &fd, Poco::UInt64 offset, Poco::UInt64 size): + _fd(fd) +{ + LARGE_INTEGER offt; + offt.QuadPart = offset; + memset(&_overlapped, 0, sizeof(OVERLAPPED)); + + _overlapped.Offset = offt.LowPart; + _overlapped.OffsetHigh = offt.HighPart; + _size.QuadPart = size; +} + + +FileStreamRWLockImpl::~FileStreamRWLockImpl() +{ +} + + +} // namespace Poco diff --git a/Externals/poco/Foundation/src/FileStream_POSIX.cpp b/Externals/poco/Foundation/src/FileStream_POSIX.cpp index fb4b967076f..1293edd2eef 100644 --- a/Externals/poco/Foundation/src/FileStream_POSIX.cpp +++ b/Externals/poco/Foundation/src/FileStream_POSIX.cpp @@ -72,6 +72,22 @@ void FileStreamBuf::open(const std::string& path, std::ios::openmode mode) } +void FileStreamBuf::openHandle(NativeHandle fd, std::ios::openmode mode) +{ + poco_assert(_fd == -1); + poco_assert(fd != -1); + + _pos = 0; + setMode(mode); + resetBuffers(); + + _fd = fd; + + if ((mode & std::ios::app) || (mode & std::ios::ate)) + seekoff(0, std::ios::end, mode); +} + + int FileStreamBuf::readFromDevice(char* buffer, std::streamsize length) { if (_fd == -1) return -1; @@ -79,7 +95,7 @@ int FileStreamBuf::readFromDevice(char* buffer, std::streamsize length) if (getMode() & std::ios::out) sync(); - int n = read(_fd, buffer, length); + int n = ::read(_fd, buffer, length); if (n == -1) File::handleLastError(_path); _pos += n; @@ -92,9 +108,9 @@ int FileStreamBuf::writeToDevice(const char* buffer, std::streamsize length) if (_fd == -1) return -1; #if defined(POCO_VXWORKS) - int n = write(_fd, const_cast(buffer), length); + int n = ::write(_fd, const_cast(buffer), length); #else - int n = write(_fd, buffer, length); + int n = ::write(_fd, buffer, length); #endif if (n == -1) File::handleLastError(_path); @@ -123,6 +139,18 @@ bool FileStreamBuf::close() } +bool FileStreamBuf::resizeBuffer(std::streamsize bufferSize) +{ + if (_fd != -1) + return false; + + if (bufferSize < BUFFER_SIZE) + bufferSize = BUFFER_SIZE; + + return BufferedBidirectionalStreamBuf::resizeBuffer(bufferSize); +} + + std::streampos FileStreamBuf::seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode) { if (_fd == -1 || !(getMode() & mode)) @@ -149,7 +177,7 @@ std::streampos FileStreamBuf::seekoff(std::streamoff off, std::ios::seekdir dir, { whence = SEEK_END; } - _pos = lseek(_fd, off, whence); + _pos = ::lseek(_fd, off, whence); return _pos; } @@ -164,11 +192,22 @@ std::streampos FileStreamBuf::seekpos(std::streampos pos, std::ios::openmode mod resetBuffers(); - _pos = lseek(_fd, pos, SEEK_SET); + _pos = ::lseek(_fd, pos, SEEK_SET); return _pos; } +void FileStreamBuf::flushToDisk() +{ + if (getMode() & std::ios::out) + { + sync(); + if (::fsync(_fd) != 0) + File::handleLastError(_path); + } +} + + FileStreamBuf::NativeHandle FileStreamBuf::nativeHandle() const { return _fd; @@ -177,7 +216,7 @@ FileStreamBuf::NativeHandle FileStreamBuf::nativeHandle() const Poco::UInt64 FileStreamBuf::size() const { struct stat stat_buf; - int rc = fstat(_fd, &stat_buf); + int rc = ::fstat(_fd, &stat_buf); if (rc < 0) { Poco::SystemException(strerror(errno), errno); diff --git a/Externals/poco/Foundation/src/FileStream_WIN32.cpp b/Externals/poco/Foundation/src/FileStream_WIN32.cpp index 5e1986c99a9..e24c9b18b72 100644 --- a/Externals/poco/Foundation/src/FileStream_WIN32.cpp +++ b/Externals/poco/Foundation/src/FileStream_WIN32.cpp @@ -15,7 +15,6 @@ #include "Poco/FileStream.h" #include "Poco/File.h" #include "Poco/Exception.h" -#include "Poco/UnicodeConverter.h" namespace Poco { @@ -64,7 +63,7 @@ void FileStreamBuf::open(const std::string& path, std::ios::openmode mode) std::wstring utf16Path; FileImpl::convertPath(path, utf16Path); - _handle = CreateFileW(utf16Path.c_str(), access, shareMode, NULL, creationDisp, flags, NULL); + _handle = ::CreateFileW(utf16Path.c_str(), access, shareMode, NULL, creationDisp, flags, NULL); if (_handle == INVALID_HANDLE_VALUE) File::handleLastError(_path); @@ -74,6 +73,22 @@ void FileStreamBuf::open(const std::string& path, std::ios::openmode mode) } +void FileStreamBuf::openHandle(NativeHandle handle, std::ios::openmode mode) +{ + poco_assert(_handle == INVALID_HANDLE_VALUE); + poco_assert(handle != INVALID_HANDLE_VALUE); + + _pos = 0; + setMode(mode); + resetBuffers(); + + _handle = handle; + + if ((mode & std::ios::ate) || (mode & std::ios::app)) + seekoff(0, std::ios::end, mode); +} + + int FileStreamBuf::readFromDevice(char* buffer, std::streamsize length) { if (INVALID_HANDLE_VALUE == _handle || !(getMode() & std::ios::in)) @@ -83,9 +98,16 @@ int FileStreamBuf::readFromDevice(char* buffer, std::streamsize length) sync(); DWORD bytesRead(0); - BOOL rc = ReadFile(_handle, buffer, static_cast(length), &bytesRead, NULL); + BOOL rc = ::ReadFile(_handle, buffer, static_cast(length), &bytesRead, NULL); if (rc == 0) + { + if (::GetLastError() == ERROR_BROKEN_PIPE) + { + // Read from closed pipe -> treat as EOF + return 0; + } File::handleLastError(_path); + } _pos += bytesRead; @@ -102,14 +124,14 @@ int FileStreamBuf::writeToDevice(const char* buffer, std::streamsize length) { LARGE_INTEGER li; li.QuadPart = 0; - li.LowPart = SetFilePointer(_handle, li.LowPart, &li.HighPart, FILE_END); - if (li.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) + li.LowPart = ::SetFilePointer(_handle, li.LowPart, &li.HighPart, FILE_END); + if (li.LowPart == INVALID_SET_FILE_POINTER && ::GetLastError() != NO_ERROR) File::handleLastError(_path); _pos = li.QuadPart; } DWORD bytesWritten(0); - BOOL rc = WriteFile(_handle, buffer, static_cast(length), &bytesWritten, NULL); + BOOL rc = ::WriteFile(_handle, buffer, static_cast(length), &bytesWritten, NULL); if (rc == 0) File::handleLastError(_path); @@ -133,13 +155,25 @@ bool FileStreamBuf::close() { success = false; } - CloseHandle(_handle); + ::CloseHandle(_handle); _handle = INVALID_HANDLE_VALUE; } return success; } +bool FileStreamBuf::resizeBuffer(std::streamsize bufferSize) +{ + if (_handle != INVALID_HANDLE_VALUE) + return false; + + if (bufferSize < BUFFER_SIZE) + bufferSize = BUFFER_SIZE; + + return BufferedBidirectionalStreamBuf::resizeBuffer(bufferSize); +} + + std::streampos FileStreamBuf::seekoff(std::streamoff off, std::ios::seekdir dir, std::ios::openmode mode) { if (INVALID_HANDLE_VALUE == _handle || !(getMode() & mode)) @@ -169,9 +203,9 @@ std::streampos FileStreamBuf::seekoff(std::streamoff off, std::ios::seekdir dir, LARGE_INTEGER li; li.QuadPart = off; - li.LowPart = SetFilePointer(_handle, li.LowPart, &li.HighPart, offset); + li.LowPart = ::SetFilePointer(_handle, li.LowPart, &li.HighPart, offset); - if (li.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) + if (li.LowPart == INVALID_SET_FILE_POINTER && ::GetLastError() != NO_ERROR) File::handleLastError(_path); _pos = li.QuadPart; return std::streampos(static_cast(_pos)); @@ -190,15 +224,26 @@ std::streampos FileStreamBuf::seekpos(std::streampos pos, std::ios::openmode mod LARGE_INTEGER li; li.QuadPart = pos; - li.LowPart = SetFilePointer(_handle, li.LowPart, &li.HighPart, FILE_BEGIN); + li.LowPart = ::SetFilePointer(_handle, li.LowPart, &li.HighPart, FILE_BEGIN); - if (li.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) + if (li.LowPart == INVALID_SET_FILE_POINTER && ::GetLastError() != NO_ERROR) File::handleLastError(_path); _pos = li.QuadPart; return std::streampos(static_cast(_pos)); } +void FileStreamBuf::flushToDisk() +{ + if (getMode() & std::ios::out) + { + sync(); + if (::FlushFileBuffers(_handle) == 0) + File::handleLastError(_path); + } +} + + FileStreamBuf::NativeHandle FileStreamBuf::nativeHandle() const { return _handle; diff --git a/Externals/poco/Foundation/src/File_UNIX.cpp b/Externals/poco/Foundation/src/File_UNIX.cpp index b06ff133f80..9261a9a3673 100644 --- a/Externals/poco/Foundation/src/File_UNIX.cpp +++ b/Externals/poco/Foundation/src/File_UNIX.cpp @@ -16,6 +16,7 @@ #include "Poco/Buffer.h" #include "Poco/Exception.h" #include "Poco/Error.h" +#include "Poco/Path.h" #include #include #include @@ -80,6 +81,12 @@ void FileImpl::setPathImpl(const std::string& path) } +std::string FileImpl::getExecutablePathImpl() const +{ + return _path; +} + + bool FileImpl::existsImpl() const { poco_assert (!_path.empty()); @@ -127,12 +134,12 @@ bool FileImpl::canWriteImpl() const } -bool FileImpl::canExecuteImpl() const +bool FileImpl::canExecuteImpl(const std::string& absolutePath) const { - poco_assert (!_path.empty()); + poco_assert (!absolutePath.empty()); struct stat st; - if (stat(_path.c_str(), &st) == 0) + if (stat(absolutePath.c_str(), &st) == 0) { if (st.st_uid == geteuid() || geteuid() == 0) return (st.st_mode & S_IXUSR) != 0; diff --git a/Externals/poco/Foundation/src/File_VX.cpp b/Externals/poco/Foundation/src/File_VX.cpp index ad6b2e63b48..ce23993773b 100644 --- a/Externals/poco/Foundation/src/File_VX.cpp +++ b/Externals/poco/Foundation/src/File_VX.cpp @@ -62,6 +62,12 @@ void FileImpl::setPathImpl(const std::string& path) } +std::string FileImpl::getExecutablePathImpl() const +{ + return _path; +} + + bool FileImpl::existsImpl() const { poco_assert (!_path.empty()); @@ -87,7 +93,7 @@ bool FileImpl::canWriteImpl() const } -bool FileImpl::canExecuteImpl() const +bool FileImpl::canExecuteImpl(const std::string& absolutePath) const { return false; } diff --git a/Externals/poco/Foundation/src/File_WIN32U.cpp b/Externals/poco/Foundation/src/File_WIN32U.cpp index 27bb02d2c39..c1f80d0a4b7 100644 --- a/Externals/poco/Foundation/src/File_WIN32U.cpp +++ b/Externals/poco/Foundation/src/File_WIN32U.cpp @@ -14,6 +14,7 @@ #include "Poco/File_WIN32U.h" #include "Poco/Exception.h" +#include "Poco/Path.h" #include "Poco/String.h" #include "Poco/UnicodeConverter.h" #include "Poco/UnWindows.h" @@ -88,6 +89,19 @@ void FileImpl::setPathImpl(const std::string& path) convertPath(_path, _upath); } +std::string FileImpl::getExecutablePathImpl() const +{ + // Windows specific: An executable can be invoked without + // the extension .exe, but the file has it nevertheless. + // This function appends extension "exe" if the file path does not have it. + Path p(_path); + if (!p.getExtension().empty()) + { + return _path; + } + return p.setExtension("exe"s).toString(); +} + bool FileImpl::existsImpl() const { @@ -140,9 +154,9 @@ bool FileImpl::canWriteImpl() const } -bool FileImpl::canExecuteImpl() const +bool FileImpl::canExecuteImpl(const std::string& absolutePath) const { - Path p(_path); + Path p(absolutePath); return icompare(p.getExtension(), "exe") == 0; } diff --git a/Externals/poco/Foundation/src/Format.cpp b/Externals/poco/Foundation/src/Format.cpp index df1f37bfe89..951f7dcb9b7 100644 --- a/Externals/poco/Foundation/src/Format.cpp +++ b/Externals/poco/Foundation/src/Format.cpp @@ -20,6 +20,7 @@ #include #endif #include +#include namespace Poco { @@ -222,6 +223,9 @@ namespace case 's': str << RefAnyCast(*itVal++); break; + case 'v': + str << RefAnyCast(*itVal++); + break; case 'z': str << AnyCast(*itVal++); break; diff --git a/Externals/poco/Foundation/src/InflatingStream.cpp b/Externals/poco/Foundation/src/InflatingStream.cpp index cb59b4d0919..4b685c80d04 100644 --- a/Externals/poco/Foundation/src/InflatingStream.cpp +++ b/Externals/poco/Foundation/src/InflatingStream.cpp @@ -15,6 +15,12 @@ #include "Poco/InflatingStream.h" #include "Poco/Exception.h" #include +#include +#if defined(POCO_UNBUNDLED) +#include +#else +#include "zlib.h" +#endif namespace Poco { @@ -27,29 +33,17 @@ InflatingStreamBuf::InflatingStreamBuf(std::istream& istr, StreamType type): _eof(false), _check(type != STREAM_ZIP) { - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.total_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; - _zstr.total_out = 0; - _zstr.msg = 0; - _zstr.state = 0; - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.data_type = 0; - _zstr.adler = 0; - _zstr.reserved = 0; - - _buffer = new char[INFLATE_BUFFER_SIZE]; - - int rc = inflateInit2(&_zstr, 15 + (type == STREAM_GZIP ? 16 : 0)); + std::unique_ptr buffer(new char[INFLATE_BUFFER_SIZE]); + + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = inflateInit2(pZstr.get(), 15 + (type == STREAM_GZIP ? 16 : 0)); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -60,22 +54,17 @@ InflatingStreamBuf::InflatingStreamBuf(std::istream& istr, int windowBits): _eof(false), _check(false) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[INFLATE_BUFFER_SIZE]); - _buffer = new char[INFLATE_BUFFER_SIZE]; - - int rc = inflateInit2(&_zstr, windowBits); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = inflateInit2(pZstr.get(), windowBits); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -86,22 +75,17 @@ InflatingStreamBuf::InflatingStreamBuf(std::ostream& ostr, StreamType type): _eof(false), _check(type != STREAM_ZIP) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[INFLATE_BUFFER_SIZE]); - _buffer = new char[INFLATE_BUFFER_SIZE]; - - int rc = inflateInit2(&_zstr, 15 + (type == STREAM_GZIP ? 16 : 0)); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = inflateInit2(pZstr.get(), 15 + (type == STREAM_GZIP ? 16 : 0)); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -112,22 +96,17 @@ InflatingStreamBuf::InflatingStreamBuf(std::ostream& ostr, int windowBits): _eof(false), _check(false) { - _zstr.zalloc = Z_NULL; - _zstr.zfree = Z_NULL; - _zstr.opaque = Z_NULL; - _zstr.next_in = 0; - _zstr.avail_in = 0; - _zstr.next_out = 0; - _zstr.avail_out = 0; + std::unique_ptr buffer(new char[INFLATE_BUFFER_SIZE]); - _buffer = new char[INFLATE_BUFFER_SIZE]; - - int rc = inflateInit2(&_zstr, windowBits); + std::unique_ptr pZstr = std::make_unique(z_stream{}); + int rc = inflateInit2(pZstr.get(), windowBits); if (rc != Z_OK) { - delete [] _buffer; throw IOException(zError(rc)); } + + _pZstr = pZstr.release(); + _buffer = buffer.release(); } @@ -141,7 +120,8 @@ InflatingStreamBuf::~InflatingStreamBuf() { } delete [] _buffer; - inflateEnd(&_zstr); + inflateEnd(_pZstr); + delete _pZstr; } @@ -156,7 +136,7 @@ int InflatingStreamBuf::close() void InflatingStreamBuf::reset() { - int rc = inflateReset(&_zstr); + int rc = inflateReset(_pZstr); if (rc == Z_OK) _eof = false; else @@ -168,7 +148,7 @@ int InflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) { if (_eof || !_pIstr) return 0; - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { int n = 0; if (_pIstr->good()) @@ -176,17 +156,17 @@ int InflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) _pIstr->read(_buffer, INFLATE_BUFFER_SIZE); n = static_cast(_pIstr->gcount()); } - _zstr.next_in = (unsigned char*) _buffer; - _zstr.avail_in = n; + _pZstr->next_in = (unsigned char*) _buffer; + _pZstr->avail_in = n; } - _zstr.next_out = (unsigned char*) buffer; - _zstr.avail_out = static_cast(length); + _pZstr->next_out = (unsigned char*) buffer; + _pZstr->avail_out = static_cast(length); for (;;) { - int rc = inflate(&_zstr, Z_NO_FLUSH); + int rc = inflate(_pZstr, Z_NO_FLUSH); if (rc == Z_DATA_ERROR && !_check) { - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { if (_pIstr->good()) rc = Z_OK; @@ -197,12 +177,12 @@ int InflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) if (rc == Z_STREAM_END) { _eof = true; - return static_cast(length) - _zstr.avail_out; + return static_cast(length) - _pZstr->avail_out; } if (rc != Z_OK) throw IOException(zError(rc)); - if (_zstr.avail_out == 0) + if (_pZstr->avail_out == 0) return static_cast(length); - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { int n = 0; if (_pIstr->good()) @@ -212,10 +192,10 @@ int InflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length) } if (n > 0) { - _zstr.next_in = (unsigned char*) _buffer; - _zstr.avail_in = n; + _pZstr->next_in = (unsigned char*) _buffer; + _pZstr->avail_in = n; } - else return static_cast(length) - _zstr.avail_out; + else return static_cast(length) - _pZstr->avail_out; } } } @@ -225,33 +205,33 @@ int InflatingStreamBuf::writeToDevice(const char* buffer, std::streamsize length { if (length == 0 || !_pOstr) return 0; - _zstr.next_in = (unsigned char*) buffer; - _zstr.avail_in = static_cast(length); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = INFLATE_BUFFER_SIZE; + _pZstr->next_in = (unsigned char*) buffer; + _pZstr->avail_in = static_cast(length); + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = INFLATE_BUFFER_SIZE; for (;;) { - int rc = inflate(&_zstr, Z_NO_FLUSH); + int rc = inflate(_pZstr, Z_NO_FLUSH); if (rc == Z_STREAM_END) { - _pOstr->write(_buffer, INFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, INFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing inflated data to output stream"); break; } if (rc != Z_OK) throw IOException(zError(rc)); - if (_zstr.avail_out == 0) + if (_pZstr->avail_out == 0) { _pOstr->write(_buffer, INFLATE_BUFFER_SIZE); if (!_pOstr->good()) throw IOException("Failed writing inflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = INFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = INFLATE_BUFFER_SIZE; } - if (_zstr.avail_in == 0) + if (_pZstr->avail_in == 0) { - _pOstr->write(_buffer, INFLATE_BUFFER_SIZE - _zstr.avail_out); + _pOstr->write(_buffer, INFLATE_BUFFER_SIZE - _pZstr->avail_out); if (!_pOstr->good()) throw IOException("Failed writing inflated data to output stream"); - _zstr.next_out = (unsigned char*) _buffer; - _zstr.avail_out = INFLATE_BUFFER_SIZE; + _pZstr->next_out = (unsigned char*) _buffer; + _pZstr->avail_out = INFLATE_BUFFER_SIZE; break; } } diff --git a/Externals/poco/Foundation/src/JSONFormatter.cpp b/Externals/poco/Foundation/src/JSONFormatter.cpp new file mode 100644 index 00000000000..9b14487a95b --- /dev/null +++ b/Externals/poco/Foundation/src/JSONFormatter.cpp @@ -0,0 +1,182 @@ +// +// JSONFormatter.cpp +// +// Library: Foundation +// Package: Logging +// Module: JSONFormatter +// +// Copyright (c) 2024, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/JSONFormatter.h" +#include "Poco/JSONString.h" +#include "Poco/Message.h" +#include "Poco/String.h" +#include "Poco/JSONString.h" +#include "Poco/NumberFormatter.h" +#include "Poco/DateTimeFormatter.h" +#include "Poco/DateTimeFormat.h" +#include "Poco/Timezone.h" + + +namespace Poco { + + +const std::string JSONFormatter::PROP_TIMES("times"); +const std::string JSONFormatter::PROP_THREAD("thread"); + + +void JSONFormatter::format(const Message& msg, std::string& text) +{ + Timestamp timestamp = msg.getTime(); + int tzd = DateTimeFormatter::UTC; + if (_localTime) + { + tzd = Timezone::utcOffset(); + tzd += Timezone::dst(); + timestamp += tzd*Timestamp::resolution(); + } + + text += '{'; + text += "\"timestamp\":\""; + text += Poco::DateTimeFormatter::format(timestamp, Poco::DateTimeFormat::ISO8601_FRAC_FORMAT, tzd); + text += "\",\"source\":"; + text += toJSON(msg.getSource()); + text += ",\"level\":\""; + text += getPriorityName(msg.getPriority()); + text += "\",\"message\":"; + text += toJSON(msg.getText()); + if (_threadFormat != JSONF_THREAD_NONE) + { + text += ",\"thread\":"; + text += getThread(msg); + } + if (msg.getSourceFile()) + { + text += ",\"file\":"; + text += toJSON(msg.getSourceFile()); + } + if (msg.getSourceLine()) + { + text += ",\"line\":\""; + text += Poco::NumberFormatter::format(msg.getSourceLine()); + text += "\""; + } + if (!msg.getAll().empty()) + { + text += ",\"params\":{"; + const auto& props = msg.getAll(); + bool first = true; + for (const auto& p: props) + { + if (!first) + text += ','; + else + first = false; + text += toJSON(p.first); + text += ':'; + text += toJSON(p.second); + } + text += '}'; + } + text += '}'; +} + + +void JSONFormatter::setProperty(const std::string& name, const std::string& value) +{ + if (name == PROP_TIMES) + { + if (Poco::icompare(value, "local"s) == 0) + _localTime = true; + else if (Poco::icompare(value, "utc"s) == 0) + _localTime = false; + else + throw Poco::InvalidArgumentException("Invalid times value (must be local or UTC)"s, value); + } + else if (name == PROP_THREAD) + { + if (Poco::icompare(value, "none"s) == 0) + _threadFormat = JSONF_THREAD_NONE; + else if (Poco::icompare(value, "name"s) == 0) + _threadFormat = JSONF_THREAD_NAME; + else if (Poco::icompare(value, "id"s) == 0) + _threadFormat = JSONF_THREAD_ID; + else if (Poco::icompare(value, "osid"s) == 0) + _threadFormat = JSONF_THREAD_OS_ID; + else + throw Poco::InvalidArgumentException("Invalid thread value (must be name, id or osID)"s, value); + } + else throw Poco::PropertyNotSupportedException(name); +} + + +std::string JSONFormatter::getProperty(const std::string& name) const +{ + if (name == PROP_TIMES) + { + return _localTime ? "local"s : "UTC"s; + } + else if (name == PROP_THREAD) + { + switch (_threadFormat) + { + case JSONF_THREAD_NONE: + return "none"s; + case JSONF_THREAD_NAME: + return "name"s; + case JSONF_THREAD_ID: + return "id"s; + case JSONF_THREAD_OS_ID: + return "osID"s; + default: + return "invalid"s; + } + } + else throw Poco::PropertyNotSupportedException(name); +} + + +std::string JSONFormatter::getThread(const Message& message) const +{ + switch (_threadFormat) + { + case JSONF_THREAD_NONE: + return ""s; + case JSONF_THREAD_NAME: + return toJSON(message.getThread()); + case JSONF_THREAD_ID: + return Poco::NumberFormatter::format(message.getTid()); + case JSONF_THREAD_OS_ID: + return Poco::NumberFormatter::format(message.getOsTid()); + default: + return ""s; + } +} + + +const std::string& JSONFormatter::getPriorityName(int prio) +{ + static const std::string PRIORITY_NAMES[] = { + "none"s, + "fatal"s, + "critical"s, + "error"s, + "warning"s, + "notice"s, + "information"s, + "debug"s, + "trace" + }; + + poco_assert (prio >= Message::PRIO_FATAL && prio <= Message::PRIO_TRACE); + + return PRIORITY_NAMES[prio]; +} + + +} // namespace Poco diff --git a/Externals/poco/Foundation/src/LogFile.cpp b/Externals/poco/Foundation/src/LogFile.cpp index 5380110fda2..be3b12a605c 100644 --- a/Externals/poco/Foundation/src/LogFile.cpp +++ b/Externals/poco/Foundation/src/LogFile.cpp @@ -13,25 +13,98 @@ #include "Poco/LogFile.h" +#include "Poco/File.h" +#include "Poco/Exception.h" + +namespace Poco { + + +LogFile::LogFile(const std::string& path): + _path(path), + _str(_path, std::ios::app), + _size(static_cast(_str.tellp())) +{ + // There seems to be a strange "optimization" in the Windows NTFS + // filesystem that causes it to reuse directory entries of deleted + // files. Example: + // 1. create a file named "test.dat" + // note the file's creation date + // 2. delete the file "test.dat" + // 3. wait a few seconds + // 4. create a file named "test.dat" + // the new file will have the same creation + // date as the old one. + // We work around this bug by taking the file's + // modification date as a reference when the + // file is empty. + if (_size == 0) + _creationDate = File(path).getLastModified(); + else + _creationDate = File(path).created(); +} +LogFile::~LogFile() +{ +} + + +void LogFile::write(const std::string& text, bool flush) +{ + std::streampos pos = _str.tellp(); + #if defined(POCO_OS_FAMILY_WINDOWS) -#include "LogFile_WIN32U.cpp" + // Replace \n with \r\n + std::string logText; + logText.reserve(text.size() + 16); // keep some reserve for \n -> \r\n + char prevChar = 0; + for (char c: text) + { + if (c == '\n' && prevChar != '\r') + logText += POCO_DEFAULT_NEWLINE_CHARS; + else + logText += c; + + prevChar = c; + } + _str << logText; #else -#include "LogFile_STD.cpp" + _str << text; #endif + _str << POCO_DEFAULT_NEWLINE_CHARS; -namespace Poco { + if (flush) + _str.flushToDisk(); + else + _str.flush(); + + if (!_str.good()) + { + _str.clear(); + _str.seekp(pos); + throw WriteFileException(_path); + } + + _size = static_cast(_str.tellp()); +} -LogFile::LogFile(const std::string& path): LogFileImpl(path) +UInt64 LogFile::size() const { + return _size; } -LogFile::~LogFile() +Timestamp LogFile::creationDate() const +{ + return _creationDate; +} + + +const std::string& LogFile::path() const { + return _path; } diff --git a/Externals/poco/Foundation/src/LogFile_STD.cpp b/Externals/poco/Foundation/src/LogFile_STD.cpp deleted file mode 100644 index e5c65874256..00000000000 --- a/Externals/poco/Foundation/src/LogFile_STD.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// -// LogFile_STD.cpp -// -// Library: Foundation -// Package: Logging -// Module: LogFile -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#include "Poco/LogFile_STD.h" -#include "Poco/File.h" -#include "Poco/Exception.h" - -#include - -namespace Poco { - - -LogFileImpl::LogFileImpl(const std::string& path): - _path(path), - _str(_path, std::ios::app), - _size(static_cast(_str.tellp())) -{ - if (_size == 0) - _creationDate = File(path).getLastModified(); - else - _creationDate = File(path).created(); -} - - -LogFileImpl::~LogFileImpl() -{ -} - - -void LogFileImpl::writeImpl(const std::string& text, bool flush) -{ - std::streampos pos = _str.tellp(); - - _str << text << '\n'; - - // Flush the stream buffer to file to match the implementation on Windows - _str.flush(); - - if (!_str.good()) - { - _str.clear(); - _str.seekp(pos); - throw WriteFileException(_path); - } - - if (flush) - { - // Sync the file to disk as it is done on Windows - if (fsync(_str.nativeHandle()) != 0) - throw WriteFileException(_path); - } - - _size = static_cast(_str.tellp()); -} - - -UInt64 LogFileImpl::sizeImpl() const -{ - return _size; -} - - -Timestamp LogFileImpl::creationDateImpl() const -{ - return _creationDate; -} - - -const std::string& LogFileImpl::pathImpl() const -{ - return _path; -} - - -} // namespace Poco diff --git a/Externals/poco/Foundation/src/LogFile_WIN32U.cpp b/Externals/poco/Foundation/src/LogFile_WIN32U.cpp deleted file mode 100644 index 29303107275..00000000000 --- a/Externals/poco/Foundation/src/LogFile_WIN32U.cpp +++ /dev/null @@ -1,127 +0,0 @@ -// -// LogFile_WIN32U.cpp -// -// Library: Foundation -// Package: Logging -// Module: LogFile -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#include "Poco/LogFile_WIN32U.h" -#include "Poco/File.h" -#include "Poco/Exception.h" -#include "Poco/UnicodeConverter.h" - -// TODO: LogStream shall use FileOutputStream for all implementations (see LogStream_STD) -// TODO: Implement flushToDisk function in FileOutputStream. - -namespace Poco { - - -LogFileImpl::LogFileImpl(const std::string& path): _path(path), _hFile(INVALID_HANDLE_VALUE) -{ - File file(path); - if (file.exists()) - { - if (0 == sizeImpl()) - _creationDate = file.getLastModified(); - else - _creationDate = file.created(); - } -} - - -LogFileImpl::~LogFileImpl() -{ - CloseHandle(_hFile); -} - - -void LogFileImpl::writeImpl(const std::string& text, bool flush) -{ - if (INVALID_HANDLE_VALUE == _hFile) createFile(); - - std::string logText; - logText.reserve(text.size() + 16); // keep some reserve for \n -> \r\n and terminating \r\n - for (char c: text) - { - if (c == '\n') - logText += "\r\n"; - else - logText += c; - } - logText += "\r\n"; - - DWORD bytesWritten; - BOOL res = WriteFile(_hFile, logText.data(), static_cast(logText.size()), &bytesWritten, NULL); - if (!res) throw WriteFileException(_path); - if (flush) - { - res = FlushFileBuffers(_hFile); - if (!res) throw WriteFileException(_path); - } -} - - -UInt64 LogFileImpl::sizeImpl() const -{ - if (INVALID_HANDLE_VALUE == _hFile) - { - File file(_path); - if (file.exists()) return file.getSize(); - else return 0; - } - - LARGE_INTEGER li; - li.HighPart = 0; - li.LowPart = SetFilePointer(_hFile, 0, &li.HighPart, FILE_CURRENT); - return li.QuadPart; -} - - -Timestamp LogFileImpl::creationDateImpl() const -{ - return _creationDate; -} - - -const std::string& LogFileImpl::pathImpl() const -{ - return _path; -} - - -void LogFileImpl::createFile() -{ - std::wstring upath; - FileImpl::convertPath(_path, upath); - - _hFile = CreateFileW(upath.c_str(), GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - if (_hFile == INVALID_HANDLE_VALUE) throw OpenFileException(_path); - SetFilePointer(_hFile, 0, 0, FILE_END); - // There seems to be a strange "optimization" in the Windows NTFS - // filesystem that causes it to reuse directory entries of deleted - // files. Example: - // 1. create a file named "test.dat" - // note the file's creation date - // 2. delete the file "test.dat" - // 3. wait a few seconds - // 4. create a file named "test.dat" - // the new file will have the same creation - // date as the old one. - // We work around this bug by taking the file's - // modification date as a reference when the - // file is empty. - if (sizeImpl() == 0) - _creationDate = File(_path).getLastModified(); - else - _creationDate = File(_path).created(); -} - - -} // namespace Poco diff --git a/Externals/poco/Foundation/src/Logger.cpp b/Externals/poco/Foundation/src/Logger.cpp index e8005a69cff..d473d44de90 100644 --- a/Externals/poco/Foundation/src/Logger.cpp +++ b/Externals/poco/Foundation/src/Logger.cpp @@ -89,7 +89,7 @@ void Logger::log(const Exception& exc) } -void Logger::log(const Exception& exc, const char* file, int line) +void Logger::log(const Exception& exc, const char* file, LineNumber line) { error(exc.displayText(), file, line); } diff --git a/Externals/poco/Foundation/src/LoggingFactory.cpp b/Externals/poco/Foundation/src/LoggingFactory.cpp index 049c49e50e9..6563d22b2fe 100644 --- a/Externals/poco/Foundation/src/LoggingFactory.cpp +++ b/Externals/poco/Foundation/src/LoggingFactory.cpp @@ -29,6 +29,7 @@ #include "Poco/WindowsConsoleChannel.h" #endif #include "Poco/PatternFormatter.h" +#include "Poco/JSONFormatter.h" using namespace std::string_literals; @@ -112,6 +113,7 @@ void LoggingFactory::registerBuiltins() #endif _formatterFactory.registerClass("PatternFormatter"s, new Instantiator); + _formatterFactory.registerClass("JSONFormatter"s, new Instantiator); } diff --git a/Externals/poco/Foundation/src/Message.cpp b/Externals/poco/Foundation/src/Message.cpp index 7de6dc3544f..57966f9f52b 100644 --- a/Externals/poco/Foundation/src/Message.cpp +++ b/Externals/poco/Foundation/src/Message.cpp @@ -52,7 +52,7 @@ Message::Message(const std::string& source, const std::string& text, Priority pr } -Message::Message(const std::string& source, const std::string& text, Priority prio, const char* file, int line): +Message::Message(const std::string& source, const std::string& text, Priority prio, const char* file, LineNumber line): _source(source), _text(text), _prio(prio), @@ -238,7 +238,7 @@ void Message::setSourceFile(const char* file) } -void Message::setSourceLine(int line) +void Message::setSourceLine(LineNumber line) { _line = line; } diff --git a/Externals/poco/Foundation/src/Mutex_POSIX.cpp b/Externals/poco/Foundation/src/Mutex_POSIX.cpp index 4661d929b0c..db344cc0ea3 100644 --- a/Externals/poco/Foundation/src/Mutex_POSIX.cpp +++ b/Externals/poco/Foundation/src/Mutex_POSIX.cpp @@ -131,7 +131,7 @@ bool MutexImpl::tryLockImpl(long milliseconds) else if (rc == ETIMEDOUT) return false; else - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getMessage(rc)); #else const int sleepMillis = 5; Timestamp now; @@ -142,7 +142,7 @@ bool MutexImpl::tryLockImpl(long milliseconds) if (rc == 0) return true; else if (rc != EBUSY) - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getMessage(rc)); #if defined(POCO_VXWORKS) struct timespec ts; ts.tv_sec = 0; diff --git a/Externals/poco/Foundation/src/Mutex_WIN32.cpp b/Externals/poco/Foundation/src/Mutex_WIN32.cpp index 446f4affcef..4e6df8ac387 100644 --- a/Externals/poco/Foundation/src/Mutex_WIN32.cpp +++ b/Externals/poco/Foundation/src/Mutex_WIN32.cpp @@ -47,7 +47,7 @@ bool MutexImpl::tryLockImpl(long milliseconds) } catch (...) { - throw SystemException("cannot lock mutex"); + throw SystemException("cannot lock mutex", Error::getLastMessage()); } Sleep(sleepMillis); } diff --git a/Externals/poco/Foundation/src/NamedEvent_UNIX.cpp b/Externals/poco/Foundation/src/NamedEvent_UNIX.cpp index 686d770c8df..c2ee180dc41 100644 --- a/Externals/poco/Foundation/src/NamedEvent_UNIX.cpp +++ b/Externals/poco/Foundation/src/NamedEvent_UNIX.cpp @@ -11,20 +11,21 @@ // SPDX-License-Identifier: BSL-1.0 // - #include "Poco/NamedEvent_UNIX.h" #include "Poco/Format.h" #include "Poco/Exception.h" + #include #include #include -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) -#include +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + #include #else -#include -#include -#include -#include + // System V semaphores + #include + #include + #include + #include #endif @@ -53,71 +54,83 @@ NamedEventImpl::NamedEventImpl(const std::string& name): _name(name) { std::string fileName = getFileName(); -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) - _sem = sem_open(fileName.c_str(), O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO, 0); +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + _sem = ::sem_open(fileName.c_str(), O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO, 0); if ((long) _sem == (long) SEM_FAILED) - throw SystemException(Poco::format("cannot create named mutex %s (sem_open() failed, errno=%d)", fileName, errno), _name); + throw SystemException(Poco::format("cannot create named event %s (sem_open() failed, errno=%d)", fileName, errno), _name); #else - int fd = open(fileName.c_str(), O_RDONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + _createdId = false; + int fd = ::open(fileName.c_str(), O_RDONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (fd == -1 && errno == ENOENT) - fd = open(fileName.c_str(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + fd = ::open(fileName.c_str(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (fd != -1) - close(fd); + ::close(fd); else throw SystemException(Poco::format("cannot create named event %s (lockfile)", fileName), _name); - key_t key = ftok(fileName.c_str(), 'p'); + + key_t key = ::ftok(fileName.c_str(), 'p'); if (key == -1) - throw SystemException(Poco::format("cannot create named mutex %s (ftok() failed, errno=%d)", fileName, errno), _name); - _semid = semget(key, 1, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | IPC_CREAT | IPC_EXCL); + throw SystemException(Poco::format("cannot create named event %s (ftok() failed, errno=%d)", fileName, errno), _name); + + _semid = ::semget(key, 1, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | IPC_CREAT | IPC_EXCL); if (_semid >= 0) { + _createdId = true; union semun arg; arg.val = 0; - semctl(_semid, 0, SETVAL, arg); + ::semctl(_semid, 0, SETVAL, arg); } else if (errno == EEXIST) { - _semid = semget(key, 1, 0); + _semid = ::semget(key, 1, 0); } - else throw SystemException(Poco::format("cannot create named mutex %s (semget() failed, errno=%d)", fileName, errno), _name); -#endif // defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) + else + throw SystemException(Poco::format("cannot create named event %s (semget() failed, errno=%d)", fileName, errno), _name); +#endif // POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES } NamedEventImpl::~NamedEventImpl() { -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) - sem_close(_sem); +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + ::sem_close(_sem); + ::sem_unlink(_name.c_str()); +#else + if (_createdId) + { + ::semctl(_semid, 0, IPC_RMID); + } #endif } void NamedEventImpl::setImpl() { -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) - if (sem_post(_sem) != 0) - throw SystemException("cannot set named event", _name); +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES + if (::sem_post(_sem) != 0) + throw SystemException("cannot set named event", _name); #else struct sembuf op; op.sem_num = 0; op.sem_op = 1; op.sem_flg = 0; - if (semop(_semid, &op, 1) != 0) - throw SystemException("cannot set named event", _name); + if (::semop(_semid, &op, 1) != 0) + throw SystemException("cannot set named event", _name); #endif } void NamedEventImpl::waitImpl() { -#if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) || defined(__GNU__) +#if POCO_NAMED_EVENT_USE_POSIX_SEMAPHORES int err; do { - err = sem_wait(_sem); + err = ::sem_wait(_sem); } while (err && errno == EINTR); - if (err) throw SystemException("cannot wait for named event", _name); + if (err) + throw SystemException("cannot wait for named event", _name); #else struct sembuf op; op.sem_num = 0; @@ -126,10 +139,11 @@ void NamedEventImpl::waitImpl() int err; do { - err = semop(_semid, &op, 1); + err = ::semop(_semid, &op, 1); } while (err && errno == EINTR); - if (err) throw SystemException("cannot wait for named event", _name); + if (err) + throw SystemException("cannot wait for named event", _name); #endif } diff --git a/Externals/poco/Foundation/src/NestedDiagnosticContext.cpp b/Externals/poco/Foundation/src/NestedDiagnosticContext.cpp index 64004b55c22..6dd98858a83 100644 --- a/Externals/poco/Foundation/src/NestedDiagnosticContext.cpp +++ b/Externals/poco/Foundation/src/NestedDiagnosticContext.cpp @@ -13,7 +13,7 @@ #include "Poco/NestedDiagnosticContext.h" -#include "Poco/ThreadLocal.h" +#include "Poco/Path.h" namespace Poco { @@ -53,7 +53,7 @@ void NestedDiagnosticContext::push(const std::string& info) } -void NestedDiagnosticContext::push(const std::string& info, int line, const char* filename) +void NestedDiagnosticContext::push(const std::string& info, LineNumber line, const char* filename) { Context ctx; ctx.info = info; @@ -95,14 +95,26 @@ void NestedDiagnosticContext::dump(std::ostream& ostr) const } -void NestedDiagnosticContext::dump(std::ostream& ostr, const std::string& delimiter) const +void NestedDiagnosticContext::dump(std::ostream& ostr, const std::string& delimiter, bool nameOnly) const { - for (const auto& i: _stack) + for (auto it = _stack.begin(); it != _stack.end(); ++it) { - ostr << i.info; - if (i.file) - ostr << " (in \"" << i.file << "\", line " << i.line << ")"; - ostr << delimiter; + if (it != _stack.begin()) + { + ostr << delimiter; + } + + std::string file = it->file ? it->file : ""; + if (nameOnly && !file.empty()) + { + file = Path(file).getFileName(); + } + + ostr << it->info; + if (!file.empty()) + { + ostr << " (in \"" << file << "\", line " << it->line << ")"; + } } } @@ -115,7 +127,7 @@ void NestedDiagnosticContext::clear() NestedDiagnosticContext& NestedDiagnosticContext::current() { - static NestedDiagnosticContext ndc; + static thread_local NestedDiagnosticContext ndc; return ndc; } diff --git a/Externals/poco/Foundation/src/Notification.cpp b/Externals/poco/Foundation/src/Notification.cpp index b2d6b489a65..54a41ce8d5a 100644 --- a/Externals/poco/Foundation/src/Notification.cpp +++ b/Externals/poco/Foundation/src/Notification.cpp @@ -19,7 +19,8 @@ namespace Poco { -Notification::Notification() +Notification::Notification(const std::string& name): + _pName(name.empty() ? nullptr : new std::string(name)) { } @@ -31,7 +32,7 @@ Notification::~Notification() std::string Notification::name() const { - return typeid(*this).name(); + return _pName ? *_pName : typeid(*this).name(); } diff --git a/Externals/poco/Foundation/src/NotificationCenter.cpp b/Externals/poco/Foundation/src/NotificationCenter.cpp index ea235ef56da..465cb806081 100644 --- a/Externals/poco/Foundation/src/NotificationCenter.cpp +++ b/Externals/poco/Foundation/src/NotificationCenter.cpp @@ -47,6 +47,7 @@ void NotificationCenter::addObserver(const AbstractObserver& observer) { Mutex::ScopedLock lock(_mutex); _observers.push_back(observer.clone()); + _observers.back()->start(); } @@ -75,17 +76,34 @@ bool NotificationCenter::hasObserver(const AbstractObserver& observer) const } +NotificationCenter::ObserverList NotificationCenter::observersToNotify(const Notification::Ptr& pNotification) const +{ + ObserverList ret; + ScopedLock lock(_mutex); + for (auto& o : _observers) + { + if (o->accepts(pNotification)) + ret.push_back(o); + } + return ret; +} + + void NotificationCenter::postNotification(Notification::Ptr pNotification) { poco_check_ptr (pNotification); - ScopedLockWithUnlock lock(_mutex); - ObserverList observersToNotify(_observers); - lock.unlock(); - for (auto& p: observersToNotify) - { + notifyObservers(pNotification); +} + + +void NotificationCenter::notifyObservers(Notification::Ptr& pNotification) +{ + poco_check_ptr (pNotification); + + ObserverList observers = observersToNotify(pNotification); + for (auto& p: observers) p->notify(pNotification); - } } @@ -105,6 +123,20 @@ std::size_t NotificationCenter::countObservers() const } +int NotificationCenter::backlog() const +{ + int cnt = 0; + + ScopedLockWithUnlock lock(_mutex); + ObserverList observersToCount(_observers); + lock.unlock(); + for (auto& p : observersToCount) + cnt += p->backlog(); + + return cnt; +} + + NotificationCenter& NotificationCenter::defaultCenter() { static NotificationCenter nc; diff --git a/Externals/poco/Foundation/src/Path.cpp b/Externals/poco/Foundation/src/Path.cpp index d69c4031876..397f50529b1 100644 --- a/Externals/poco/Foundation/src/Path.cpp +++ b/Externals/poco/Foundation/src/Path.cpp @@ -298,14 +298,14 @@ bool Path::tryParse(const std::string& path, Style style) Path& Path::parseDirectory(const std::string& path) { - assign(path); + assign(addDirectorySeparator(path)); return makeDirectory(); } Path& Path::parseDirectory(const std::string& path, Style style) { - assign(path, style); + assign(addDirectorySeparator(path, style), style); return makeDirectory(); } @@ -574,6 +574,49 @@ Path& Path::clear() } +std::string Path::addDirectorySeparator(const std::string& path) +{ + poco_assert(!path.empty()); + + if (path.back() != separator()) + { + return path + separator(); + } + return path; +} + + +std::string Path::addDirectorySeparator(const std::string& path, Style style) +{ + poco_assert(!path.empty()); + + char ch = '\0'; + switch (style) + { + case PATH_UNIX: + ch = '/'; + break; + case PATH_WINDOWS: + ch = '\\'; + break; + case PATH_VMS: + ch = '.'; + break; + case PATH_NATIVE: + ch = separator(); + break; + default: + poco_bugcheck(); + } + + if (path.back() != ch) + { + return path + ch; + } + return path; +} + + std::string Path::self() { return PathImpl::selfImpl(); @@ -937,7 +980,9 @@ void Path::parseGuess(const std::string& path) case '\\': hasBackslash = true; break; case '/': hasSlash = true; break; case '[': hasOpenBracket = true; + [[fallthrough]]; case ']': hasClosBracket = hasOpenBracket; + [[fallthrough]]; case ';': semiIt = it; break; } } diff --git a/Externals/poco/Foundation/src/ProcessRunner.cpp b/Externals/poco/Foundation/src/ProcessRunner.cpp index a4f868dda9a..20ef32bc9fc 100644 --- a/Externals/poco/Foundation/src/ProcessRunner.cpp +++ b/Externals/poco/Foundation/src/ProcessRunner.cpp @@ -20,6 +20,7 @@ #include "Poco/File.h" #include "Poco/Path.h" #include "Poco/String.h" +#include "Poco/Error.h" #include @@ -104,15 +105,52 @@ std::string ProcessRunner::cmdLine() const void ProcessRunner::run() { + int errHandle = 0; + int errPID = 0; + int errRC = 0; + + { + Poco::FastMutex::ScopedLock l(_mutex); + _error.clear(); + } + + _pid = INVALID_PID; + _pPH = nullptr; + ProcessHandle* pPH = nullptr; try { _pPH = pPH = new ProcessHandle(Process::launch(_cmd, _args, _options)); + errHandle = Error::last(); + _pid = pPH->id(); + errPID = Error::last(); + _rc = pPH->wait(); + errRC = Error::last(); + + if (errHandle || errPID || errRC || _rc != 0) + { + Poco::FastMutex::ScopedLock l(_mutex); + + Poco::format(_error, "ProcessRunner::run() error; " + "handle=%d (%d:%s); pid=%d (%d:%s); return=%d (%d:%s)", + (pPH ? pPH->id() : 0), errHandle, Error::getMessage(errHandle), + _pid.load(), errPID, Error::getMessage(errPID), + _rc.load(), errRC, Error::getMessage(errRC)); + } + } + catch (Poco::Exception& ex) + { + setError(ex.displayText()); + } + catch (std::exception& ex) + { + setError(ex.what()); } catch (...) { + setError("Unknown exception"s); } _pid = INVALID_PID; @@ -127,7 +165,7 @@ void ProcessRunner::stop() if (_started) { PID pid; - Stopwatch sw; sw.start(); + _sw.restart(); if (_pPH.exchange(nullptr) && ((pid = _pid.exchange(INVALID_PID))) != INVALID_PID) { while (Process::isRunning(pid)) @@ -135,9 +173,9 @@ void ProcessRunner::stop() if (pid > 0) { Process::requestTermination(pid); - checkTimeout(sw, "Waiting for process termination"); + checkStatus("Waiting for process termination"); } - else throw Poco::IllegalStateException("Invalid PID, can;t terminate process"); + else throw Poco::IllegalStateException("Invalid PID, can't terminate process"); } _t.join(); } @@ -147,12 +185,10 @@ void ProcessRunner::stop() if (!_pidFile.empty()) { File pidFile(_pidFile); - _pidFile.clear(); std::string msg; Poco::format(msg, "Waiting for PID file (pidFile: '%s')", _pidFile); - sw.restart(); - while (pidFile.exists()) - checkTimeout(sw, msg); + _sw.restart(); + while (pidFile.exists()) checkStatus(msg); } } } @@ -160,9 +196,18 @@ void ProcessRunner::stop() } -void ProcessRunner::checkTimeout(const Stopwatch& sw, const std::string& msg) +void ProcessRunner::checkError() +{ + Poco::FastMutex::ScopedLock l(_mutex); + + if (!_error.empty()) + throw Poco::RuntimeException(_error); +} + + +void ProcessRunner::checkTimeout(const std::string& msg) { - if (sw.elapsedSeconds() > _timeout) + if (_sw.elapsedSeconds() > _timeout) { throw Poco::TimeoutException( Poco::format("ProcessRunner::checkTimeout(): %s", msg)); @@ -171,31 +216,50 @@ void ProcessRunner::checkTimeout(const Stopwatch& sw, const std::string& msg) } +void ProcessRunner::checkStatus(const std::string& msg, bool tOut) +{ + checkError(); + if (tOut) checkTimeout(msg); +} + + void ProcessRunner::start() { if (!_started.exchange(true)) { + File exe(_cmd); + if (!exe.existsAnywhere()) + { + throw Poco::FileNotFoundException( + Poco::format("ProcessRunner::start(%s): command not found", _cmd)); + } + else if (!File(exe.absolutePath()).canExecute()) + { + throw Poco::ExecuteFileException( + Poco::format("ProcessRunner::start(%s): cannot execute", _cmd)); + } + int prevRunCnt = runCount(); _t.start(*this); std::string msg; Poco::format(msg, "Waiting for process to start (pidFile: '%s')", _pidFile); - Stopwatch sw; sw.start(); + _sw.restart(); // wait for the process to be either running or completed by monitoring run counts. - while (!running() && prevRunCnt >= runCount()) checkTimeout(sw, msg); + while (!running() && prevRunCnt >= runCount()) checkStatus(msg); // we could wait for the process handle != INVALID_PID, // but if pidFile name was given, we should wait for // the process to write it if (!_pidFile.empty()) { - sw.restart(); + _sw.restart(); // wait until process is fully initialized File pidFile(_pidFile); while (!pidFile.exists()) - checkTimeout(sw, "waiting for PID file"); + checkStatus(Poco::format("waiting for PID file '%s' creation.", _pidFile)); // verify that the file content is actually the process PID FileInputStream fis(_pidFile); @@ -205,7 +269,7 @@ void ProcessRunner::start() while (fPID != pid()) { fis.clear(); fis.seekg(0); fis >> fPID; - checkTimeout(sw, Poco::format("waiting for new PID (%s)", _pidFile)); + checkStatus(Poco::format("waiting for new PID (%s)", _pidFile)); } } } diff --git a/Externals/poco/Foundation/src/Process_UNIX.cpp b/Externals/poco/Foundation/src/Process_UNIX.cpp index f48448d2643..68c491e7cf1 100644 --- a/Externals/poco/Foundation/src/Process_UNIX.cpp +++ b/Externals/poco/Foundation/src/Process_UNIX.cpp @@ -113,6 +113,15 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime) } +void ProcessImpl::timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime) +{ + struct rusage usage; + getrusage(RUSAGE_SELF, &usage); + userTime = static_cast(usage.ru_utime.tv_sec)*1000000 + usage.ru_utime.tv_usec; + kernelTime = static_cast(usage.ru_stime.tv_sec)*1000000 + usage.ru_stime.tv_usec; +} + + ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const ArgsImpl& args, const std::string& initialDirectory, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe, const EnvImpl& env, int options) { #if defined(__QNX__) diff --git a/Externals/poco/Foundation/src/Process_VX.cpp b/Externals/poco/Foundation/src/Process_VX.cpp index 7bb4dca945e..3afa96189c9 100644 --- a/Externals/poco/Foundation/src/Process_VX.cpp +++ b/Externals/poco/Foundation/src/Process_VX.cpp @@ -67,6 +67,13 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime) } +void ProcessImpl::timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime) +{ + userTime = 0; + kernelTime = 0; +} + + ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const ArgsImpl& args, const std::string& initialDirectory,Pipe* inPipe, Pipe* outPipe, Pipe* errPipe, const EnvImpl& env) { throw Poco::NotImplementedException("Process::launch()"); diff --git a/Externals/poco/Foundation/src/Process_WIN32U.cpp b/Externals/poco/Foundation/src/Process_WIN32U.cpp index 57f1a807281..269fe1b3b36 100644 --- a/Externals/poco/Foundation/src/Process_WIN32U.cpp +++ b/Externals/poco/Foundation/src/Process_WIN32U.cpp @@ -161,6 +161,30 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime) } +void ProcessImpl::timesMicrosecondsImpl(Poco::Int64& userTime, Poco::Int64& kernelTime) +{ + FILETIME ftCreation; + FILETIME ftExit; + FILETIME ftKernel; + FILETIME ftUser; + + if (GetProcessTimes(GetCurrentProcess(), &ftCreation, &ftExit, &ftKernel, &ftUser) != 0) + { + ULARGE_INTEGER time; + time.LowPart = ftKernel.dwLowDateTime; + time.HighPart = ftKernel.dwHighDateTime; + kernelTime = Poco::Int64(time.QuadPart/10); + time.LowPart = ftUser.dwLowDateTime; + time.HighPart = ftUser.dwHighDateTime; + userTime = Poco::Int64(time.QuadPart/10); + } + else + { + userTime = kernelTime = -1; + } +} + + bool ProcessImpl::mustEscapeArg(const std::string& arg) { bool result = false; diff --git a/Externals/poco/Foundation/src/PurgeStrategy.cpp b/Externals/poco/Foundation/src/PurgeStrategy.cpp index ad9e87f3d2d..9be905a84e9 100644 --- a/Externals/poco/Foundation/src/PurgeStrategy.cpp +++ b/Externals/poco/Foundation/src/PurgeStrategy.cpp @@ -16,6 +16,7 @@ #include "Poco/Path.h" #include "Poco/DirectoryIterator.h" #include "Poco/Timestamp.h" +#include namespace Poco { @@ -126,6 +127,14 @@ void PurgeByCountStrategy::purge(const std::string& path) { std::vector files; list(path, files); + + // Order files in ascending name order. Files with largest + // sequence number will be deleted in case that multiple files + // have the same modification time. + std::sort (files.begin(), files.end(), + [](const Poco::File& a, const Poco::File& b) { return a.path() < b.path(); } + ); + while (files.size() > _count) { std::vector::iterator it = files.begin(); diff --git a/Externals/poco/Foundation/src/RegularExpression.cpp b/Externals/poco/Foundation/src/RegularExpression.cpp index e638964aa4d..7e773c8c56e 100644 --- a/Externals/poco/Foundation/src/RegularExpression.cpp +++ b/Externals/poco/Foundation/src/RegularExpression.cpp @@ -29,34 +29,34 @@ namespace class MatchData { public: - MatchData(pcre2_code_8* code): - _match(pcre2_match_data_create_from_pattern_8(reinterpret_cast(code), nullptr)) + MatchData(pcre2_code* code): + _match(pcre2_match_data_create_from_pattern(reinterpret_cast(code), nullptr)) { if (!_match) throw Poco::RegularExpressionException("cannot create match data"); } ~MatchData() { - if (_match) pcre2_match_data_free_8(_match); + if (_match) pcre2_match_data_free(_match); } std::uint32_t count() const { - return pcre2_get_ovector_count_8(_match); + return pcre2_get_ovector_count(_match); } const PCRE2_SIZE* data() const { - return pcre2_get_ovector_pointer_8(_match); + return pcre2_get_ovector_pointer(_match); } - operator pcre2_match_data_8*() + operator pcre2_match_data*() { return _match; } private: - pcre2_match_data_8* _match; + pcre2_match_data* _match; }; } @@ -72,40 +72,40 @@ RegularExpression::RegularExpression(const std::string& pattern, int options, bo unsigned nameEntrySize; unsigned char* nameTable; - pcre2_compile_context_8* context = pcre2_compile_context_create_8(nullptr); + pcre2_compile_context* context = pcre2_compile_context_create(nullptr); if (!context) throw Poco::RegularExpressionException("cannot create compile context"); if (options & RE_NEWLINE_LF) - pcre2_set_newline_8(context, PCRE2_NEWLINE_LF); + pcre2_set_newline(context, PCRE2_NEWLINE_LF); else if (options & RE_NEWLINE_CRLF) - pcre2_set_newline_8(context, PCRE2_NEWLINE_CRLF); + pcre2_set_newline(context, PCRE2_NEWLINE_CRLF); else if (options & RE_NEWLINE_ANY) - pcre2_set_newline_8(context, PCRE2_NEWLINE_ANY); + pcre2_set_newline(context, PCRE2_NEWLINE_ANY); else if (options & RE_NEWLINE_ANYCRLF) - pcre2_set_newline_8(context, PCRE2_NEWLINE_ANYCRLF); + pcre2_set_newline(context, PCRE2_NEWLINE_ANYCRLF); else // default RE_NEWLINE_CR - pcre2_set_newline_8(context, PCRE2_NEWLINE_CR); + pcre2_set_newline(context, PCRE2_NEWLINE_CR); - _pcre = pcre2_compile_8(reinterpret_cast(pattern.c_str()), pattern.length(), compileOptions(options), &errorCode, &errorOffset, context); - pcre2_compile_context_free_8(context); + _pcre = pcre2_compile(reinterpret_cast(pattern.c_str()), pattern.length(), compileOptions(options), &errorCode, &errorOffset, context); + pcre2_compile_context_free(context); if (!_pcre) { PCRE2_UCHAR buffer[256]; - pcre2_get_error_message_8(errorCode, buffer, sizeof(buffer)); + pcre2_get_error_message(errorCode, buffer, sizeof(buffer)); std::ostringstream msg; msg << reinterpret_cast(buffer) << " (at offset " << errorOffset << ")"; throw RegularExpressionException(msg.str()); } - pcre2_pattern_info_8(reinterpret_cast(_pcre), PCRE2_INFO_NAMECOUNT, &nameCount); - pcre2_pattern_info_8(reinterpret_cast(_pcre), PCRE2_INFO_NAMEENTRYSIZE, &nameEntrySize); - pcre2_pattern_info_8(reinterpret_cast(_pcre), PCRE2_INFO_NAMETABLE, &nameTable); + pcre2_pattern_info(reinterpret_cast(_pcre), PCRE2_INFO_NAMECOUNT, &nameCount); + pcre2_pattern_info(reinterpret_cast(_pcre), PCRE2_INFO_NAMEENTRYSIZE, &nameEntrySize); + pcre2_pattern_info(reinterpret_cast(_pcre), PCRE2_INFO_NAMETABLE, &nameTable); for (int i = 0; i < nameCount; i++) { unsigned char* group = nameTable + 2 + (nameEntrySize * i); - int n = pcre2_substring_number_from_name_8(reinterpret_cast(_pcre), group); + int n = pcre2_substring_number_from_name(reinterpret_cast(_pcre), group); _groups[n] = std::string(reinterpret_cast(group)); } } @@ -113,7 +113,7 @@ RegularExpression::RegularExpression(const std::string& pattern, int options, bo RegularExpression::~RegularExpression() { - if (_pcre) pcre2_code_free_8(reinterpret_cast(_pcre)); + if (_pcre) pcre2_code_free(reinterpret_cast(_pcre)); } @@ -121,8 +121,8 @@ int RegularExpression::match(const std::string& subject, std::string::size_type { poco_assert (offset <= subject.length()); - MatchData matchData(reinterpret_cast(_pcre)); - int rc = pcre2_match_8(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, matchOptions(options), matchData, nullptr); + MatchData matchData(reinterpret_cast(_pcre)); + int rc = pcre2_match(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, matchOptions(options), matchData, nullptr); if (rc == PCRE2_ERROR_NOMATCH) { mtch.offset = std::string::npos; @@ -140,7 +140,7 @@ int RegularExpression::match(const std::string& subject, std::string::size_type else if (rc < 0) { PCRE2_UCHAR buffer[256]; - pcre2_get_error_message_8(rc, buffer, sizeof(buffer)); + pcre2_get_error_message(rc, buffer, sizeof(buffer)); throw RegularExpressionException(std::string(reinterpret_cast(buffer))); } const PCRE2_SIZE* ovec = matchData.data(); @@ -156,8 +156,8 @@ int RegularExpression::match(const std::string& subject, std::string::size_type matches.clear(); - MatchData matchData(reinterpret_cast(_pcre)); - int rc = pcre2_match_8(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, options & 0xFFFF, matchData, nullptr); + MatchData matchData(reinterpret_cast(_pcre)); + int rc = pcre2_match(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, options & 0xFFFF, matchData, nullptr); if (rc == PCRE2_ERROR_NOMATCH) { return 0; @@ -173,7 +173,7 @@ int RegularExpression::match(const std::string& subject, std::string::size_type else if (rc < 0) { PCRE2_UCHAR buffer[256]; - pcre2_get_error_message_8(rc, buffer, sizeof(buffer)); + pcre2_get_error_message(rc, buffer, sizeof(buffer)); throw RegularExpressionException(std::string(reinterpret_cast(buffer))); } matches.reserve(rc); @@ -279,8 +279,8 @@ std::string::size_type RegularExpression::substOne(std::string& subject, std::st { if (offset >= subject.length()) return std::string::npos; - MatchData matchData(reinterpret_cast(_pcre)); - int rc = pcre2_match_8(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, matchOptions(options), matchData, nullptr); + MatchData matchData(reinterpret_cast(_pcre)); + int rc = pcre2_match(reinterpret_cast(_pcre), reinterpret_cast(subject.c_str()), subject.size(), offset, matchOptions(options), matchData, nullptr); if (rc == PCRE2_ERROR_NOMATCH) { return std::string::npos; @@ -296,7 +296,7 @@ std::string::size_type RegularExpression::substOne(std::string& subject, std::st else if (rc < 0) { PCRE2_UCHAR buffer[256]; - pcre2_get_error_message_8(rc, buffer, sizeof(buffer)); + pcre2_get_error_message(rc, buffer, sizeof(buffer)); throw RegularExpressionException(std::string(reinterpret_cast(buffer))); } const PCRE2_SIZE* ovec = matchData.data(); diff --git a/Externals/poco/Foundation/src/SimpleFileChannel.cpp b/Externals/poco/Foundation/src/SimpleFileChannel.cpp index e87061bac05..65959ea7bd8 100644 --- a/Externals/poco/Foundation/src/SimpleFileChannel.cpp +++ b/Externals/poco/Foundation/src/SimpleFileChannel.cpp @@ -32,8 +32,8 @@ const std::string SimpleFileChannel::PROP_FLUSH = "flush"; SimpleFileChannel::SimpleFileChannel(): _limit(0), - _flush(true), - _pFile(0) + _flush(false), + _pFile(nullptr) { } @@ -42,8 +42,8 @@ SimpleFileChannel::SimpleFileChannel(const std::string& path): _path(path), _secondaryPath(path + ".0"), _limit(0), - _flush(true), - _pFile(0) + _flush(false), + _pFile(nullptr) { } @@ -86,7 +86,7 @@ void SimpleFileChannel::close() FastMutex::ScopedLock lock(_mutex); delete _pFile; - _pFile = 0; + _pFile = nullptr; } @@ -134,7 +134,7 @@ std::string SimpleFileChannel::getProperty(const std::string& name) const else if (name == PROP_ROTATION) return _rotation; else if (name == PROP_FLUSH) - return std::string(_flush ? "true" : "false"); + return (_flush ? "true"s : "false"s); else return Channel::getProperty(name); } diff --git a/Externals/poco/Foundation/src/StreamCopier.cpp b/Externals/poco/Foundation/src/StreamCopier.cpp index 6f34cc233a2..b87dfcfb996 100644 --- a/Externals/poco/Foundation/src/StreamCopier.cpp +++ b/Externals/poco/Foundation/src/StreamCopier.cpp @@ -13,7 +13,6 @@ #include "Poco/StreamCopier.h" -#include "Poco/Buffer.h" namespace Poco { @@ -21,128 +20,69 @@ namespace Poco { std::streamsize StreamCopier::copyStream(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) { - poco_assert (bufferSize > 0); - - Buffer buffer(bufferSize); - std::streamsize len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - ostr.write(buffer.begin(), n); - if (istr && ostr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; + return copyStreamImpl(istr, ostr, bufferSize); } #if defined(POCO_HAVE_INT64) Poco::UInt64 StreamCopier::copyStream64(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) { - poco_assert (bufferSize > 0); - - Buffer buffer(bufferSize); - Poco::UInt64 len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - ostr.write(buffer.begin(), n); - if (istr && ostr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; + return copyStreamImpl(istr, ostr, bufferSize); +} +#endif + + +std::streamsize StreamCopier::copyStreamRange(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength, std::size_t bufferSize) +{ + return copyStreamRangeImpl(istr, ostr, rangeStart, rangeLength, bufferSize); +} + + +#if defined(POCO_HAVE_INT64) +Poco::UInt64 StreamCopier::copyStreamRange64(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength, std::size_t bufferSize) +{ + return copyStreamRangeImpl(istr, ostr, rangeStart, rangeLength, bufferSize); } #endif std::streamsize StreamCopier::copyToString(std::istream& istr, std::string& str, std::size_t bufferSize) { - poco_assert (bufferSize > 0); - - Buffer buffer(bufferSize); - std::streamsize len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - str.append(buffer.begin(), static_cast(n)); - if (istr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; + return copyToStringImpl(istr, str, bufferSize); } #if defined(POCO_HAVE_INT64) Poco::UInt64 StreamCopier::copyToString64(std::istream& istr, std::string& str, std::size_t bufferSize) { - poco_assert (bufferSize > 0); - - Buffer buffer(bufferSize); - Poco::UInt64 len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - str.append(buffer.begin(), static_cast(n)); - if (istr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; + return copyToStringImpl(istr, str, bufferSize); } #endif std::streamsize StreamCopier::copyStreamUnbuffered(std::istream& istr, std::ostream& ostr) { - char c = 0; - std::streamsize len = 0; - istr.get(c); - while (istr && ostr) - { - ++len; - ostr.put(c); - istr.get(c); - } - return len; + return copyStreamUnbufferedImpl(istr, ostr); } #if defined(POCO_HAVE_INT64) Poco::UInt64 StreamCopier::copyStreamUnbuffered64(std::istream& istr, std::ostream& ostr) { - char c = 0; - Poco::UInt64 len = 0; - istr.get(c); - while (istr && ostr) - { - ++len; - ostr.put(c); - istr.get(c); - } - return len; + return copyStreamUnbufferedImpl(istr, ostr); +} +#endif + +std::streamsize StreamCopier::copyStreamRangeUnbuffered(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength) +{ + return copyStreamRangeUnbufferedImpl(istr, ostr, rangeStart, rangeLength); +} + + +#if defined(POCO_HAVE_INT64) +Poco::UInt64 StreamCopier::copyStreamRangeUnbuffered64(std::istream& istr, std::ostream& ostr, std::streampos rangeStart, std::streamsize rangeLength) +{ + return copyStreamRangeUnbufferedImpl(istr, ostr, rangeStart, rangeLength); } #endif diff --git a/Externals/poco/Foundation/src/TextBufferIterator.cpp b/Externals/poco/Foundation/src/TextBufferIterator.cpp index 2534b3e8056..cc2e9819b68 100644 --- a/Externals/poco/Foundation/src/TextBufferIterator.cpp +++ b/Externals/poco/Foundation/src/TextBufferIterator.cpp @@ -102,6 +102,7 @@ int TextBufferIterator::operator * () const unsigned char buffer[TextEncoding::MAX_SEQUENCE_LENGTH]; unsigned char* p = buffer; + unsigned char* pend = p + TextEncoding::MAX_SEQUENCE_LENGTH; if (it != _end) *p++ = *it++; @@ -115,6 +116,7 @@ int TextBufferIterator::operator * () const { while (read < -n && it != _end) { + poco_assert(p != pend); *p++ = *it++; read++; } diff --git a/Externals/poco/Foundation/src/TextIterator.cpp b/Externals/poco/Foundation/src/TextIterator.cpp index eae2ef5ddbb..14beeb90d0b 100644 --- a/Externals/poco/Foundation/src/TextIterator.cpp +++ b/Externals/poco/Foundation/src/TextIterator.cpp @@ -99,6 +99,7 @@ int TextIterator::operator * () const unsigned char buffer[TextEncoding::MAX_SEQUENCE_LENGTH]; unsigned char* p = buffer; + unsigned char* pend = p + TextEncoding::MAX_SEQUENCE_LENGTH; if (it != _end) *p++ = *it++; @@ -112,6 +113,7 @@ int TextIterator::operator * () const { while (read < -n && it != _end) { + poco_assert(p != pend); *p++ = *it++; read++; } diff --git a/Externals/poco/Foundation/src/Thread.cpp b/Externals/poco/Foundation/src/Thread.cpp index 19171262bdd..893f6784619 100644 --- a/Externals/poco/Foundation/src/Thread.cpp +++ b/Externals/poco/Foundation/src/Thread.cpp @@ -66,11 +66,9 @@ class CallableHolder: public Runnable { } - ~CallableHolder() - { - } + ~CallableHolder() override = default; - void run() + void run() override { _callable(_pData); } @@ -86,8 +84,8 @@ class CallableHolder: public Runnable Thread::Thread(uint32_t sigMask): _id(uniqueId()), - _pTLS(0), - _event(true) + _pTLS(nullptr), + _event(Event::EVENT_AUTORESET) { setNameImpl(makeName()); #if defined(POCO_OS_FAMILY_UNIX) @@ -98,8 +96,8 @@ Thread::Thread(uint32_t sigMask): Thread::Thread(const std::string& name, uint32_t sigMask): _id(uniqueId()), - _pTLS(0), - _event(true) + _pTLS(nullptr), + _event(Event::EVENT_AUTORESET) { setNameImpl(name); #if defined(POCO_OS_FAMILY_UNIX) @@ -190,7 +188,7 @@ void Thread::clearTLS() if (_pTLS) { delete _pTLS; - _pTLS = 0; + _pTLS = nullptr; } } diff --git a/Externals/poco/Foundation/src/ThreadPool.cpp b/Externals/poco/Foundation/src/ThreadPool.cpp index 0aeb11d2bac..757e71acce7 100644 --- a/Externals/poco/Foundation/src/ThreadPool.cpp +++ b/Externals/poco/Foundation/src/ThreadPool.cpp @@ -39,7 +39,7 @@ class PooledThread: public Runnable void join(); void activate(); void release(); - void run(); + void run() override; private: volatile bool _idle; @@ -57,14 +57,14 @@ class PooledThread: public Runnable PooledThread::PooledThread(const std::string& name, int stackSize): _idle(true), _idleTime(0), - _pTarget(0), + _pTarget(nullptr), _name(name), _thread(name), - _targetCompleted(false) + _targetCompleted(Event::EVENT_MANUALRESET) { poco_assert_dbg (stackSize >= 0); _thread.setStackSize(stackSize); - _idleTime = std::time(NULL); + _idleTime = std::time(nullptr); } @@ -84,7 +84,7 @@ void PooledThread::start(Thread::Priority priority, Runnable& target) { FastMutex::ScopedLock lock(_mutex); - poco_assert (_pTarget == 0); + poco_assert (_pTarget == nullptr); _pTarget = ⌖ _thread.setPriority(priority); @@ -110,7 +110,7 @@ void PooledThread::start(Thread::Priority priority, Runnable& target, const std: _thread.setName(fullName); _thread.setPriority(priority); - poco_assert (_pTarget == 0); + poco_assert (_pTarget == nullptr); _pTarget = ⌖ _targetReady.set(); @@ -128,7 +128,7 @@ int PooledThread::idleTime() { FastMutex::ScopedLock lock(_mutex); - return (int) (time(NULL) - _idleTime); + return (int) (time(nullptr) - _idleTime); } @@ -157,7 +157,7 @@ void PooledThread::release() const long JOIN_TIMEOUT = 10000; _mutex.lock(); - _pTarget = 0; + _pTarget = nullptr; _mutex.unlock(); // In case of a statically allocated thread pool (such // as the default thread pool), Windows may have already @@ -200,8 +200,8 @@ void PooledThread::run() ErrorHandler::handle(); } FastMutex::ScopedLock lock(_mutex); - _pTarget = 0; - _idleTime = time(NULL); + _pTarget = nullptr; + _idleTime = time(nullptr); _idle = true; _targetCompleted.set(); ThreadLocalStorage::clear(); @@ -430,8 +430,8 @@ PooledThread* ThreadPool::getThread() if (++_age == 32) housekeep(); - PooledThread* pThread = 0; - for (ThreadVec::iterator it = _threads.begin(); !pThread && it != _threads.end(); ++it) + PooledThread* pThread = nullptr; + for (auto it = _threads.begin(); !pThread && it != _threads.end(); ++it) { if ((*it)->idle()) pThread = *it; @@ -472,7 +472,7 @@ class ThreadPoolSingletonHolder public: ThreadPoolSingletonHolder() { - _pPool = 0; + _pPool = nullptr; } ~ThreadPoolSingletonHolder() { @@ -485,7 +485,7 @@ class ThreadPoolSingletonHolder if (!_pPool) { _pPool = new ThreadPool("default"); - if (POCO_THREAD_STACK_SIZE > 0) + if constexpr (POCO_THREAD_STACK_SIZE > 0) _pPool->setStackSize(POCO_THREAD_STACK_SIZE); } return _pPool; diff --git a/Externals/poco/Foundation/src/Thread_POSIX.cpp b/Externals/poco/Foundation/src/Thread_POSIX.cpp index 3b39f8d32b9..20232f9eabe 100644 --- a/Externals/poco/Foundation/src/Thread_POSIX.cpp +++ b/Externals/poco/Foundation/src/Thread_POSIX.cpp @@ -17,9 +17,8 @@ #include "Poco/Exception.h" #include "Poco/Error.h" #include "Poco/ErrorHandler.h" -#include "Poco/Timespan.h" -#include "Poco/Timestamp.h" #include "Poco/Format.h" +#include "Poco/Error.h" #include #include @@ -40,6 +39,9 @@ # include #endif +#if POCO_OS == POCO_OS_QNX +# include +#endif #if POCO_OS == POCO_OS_LINUX || POCO_OS == POCO_OS_ANDROID # include @@ -89,6 +91,7 @@ namespace return name; } +#ifndef POCO_NO_THREADNAME void setThreadName(const std::string& threadName) /// Sets thread name. Support for this feature varies /// on platforms. Any errors are ignored. @@ -110,23 +113,29 @@ namespace std::string getThreadName() { - char name[POCO_MAX_THREAD_NAME_LEN + 1]{'\0'}; + constexpr size_t nameSize = +#if (POCO_OS == POCO_OS_QNX) + _NTO_THREAD_NAME_MAX; +#else + POCO_MAX_THREAD_NAME_LEN; +#endif + char name[nameSize + 1]{'\0'}; #if (POCO_OS == POCO_OS_FREE_BSD) - pthread_getname_np(pthread_self(), name, POCO_MAX_THREAD_NAME_LEN + 1); + pthread_getname_np(pthread_self(), name, nameSize + 1); #elif (POCO_OS == POCO_OS_MAC_OS_X) #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 - pthread_getname_np(pthread_self(), name, POCO_MAX_THREAD_NAME_LEN + 1); + pthread_getname_np(pthread_self(), name, nameSize + 1); #endif #endif // __MAC_OS_X_VERSION_MIN_REQUIRED #elif (POCO_OS == POCO_OS_QNX) - tName[_NTO_THREAD_NAME_MAX] = {'\0'}; - pthread_getname_np(pthread_self(), tName, _NTO_THREAD_NAME_MAX); + pthread_getname_np(pthread_self(), name, nameSize); #else prctl(PR_GET_NAME, name); #endif return name; } +#endif } @@ -184,10 +193,12 @@ std::string ThreadImpl::getNameImpl() const } +#ifndef POCO_NO_THREADNAME std::string ThreadImpl::getOSThreadNameImpl() { return isRunningImpl() ? getThreadName() : ""; } +#endif void ThreadImpl::setPriorityImpl(int prio) @@ -200,8 +211,10 @@ void ThreadImpl::setPriorityImpl(int prio) { struct sched_param par; par.sched_priority = mapPrio(_pData->prio, SCHED_OTHER); - if (pthread_setschedparam(_pData->thread, SCHED_OTHER, &par)) - throw SystemException("cannot set thread priority"); + int errorCode; + if ((errorCode = pthread_setschedparam(_pData->thread, SCHED_OTHER, &par))) + throw SystemException(Poco::format("cannot set thread priority (%s)", + Error::getMessage(errorCode))); } } } @@ -215,8 +228,10 @@ void ThreadImpl::setOSPriorityImpl(int prio, int policy) { struct sched_param par; par.sched_priority = prio; - if (pthread_setschedparam(_pData->thread, policy, &par)) - throw SystemException("cannot set thread priority"); + int errorCode; + if ((errorCode = pthread_setschedparam(_pData->thread, policy, &par))) + throw SystemException(Poco::format("cannot set thread priority (%s)", + Error::getMessage(errorCode))); } _pData->prio = reverseMapPrio(prio, policy); _pData->osPrio = prio; @@ -297,21 +312,25 @@ void ThreadImpl::startImpl(SharedPtr pTarget) if (_pData->stackSize != 0) { - if (0 != pthread_attr_setstacksize(&attributes, _pData->stackSize)) + int errorCode; + if ((errorCode = pthread_attr_setstacksize(&attributes, _pData->stackSize))) { pthread_attr_destroy(&attributes); - throw SystemException("cannot set thread stack size"); + throw SystemException(Poco::format("cannot set thread stack size: (%s)", + Error::getMessage(errorCode))); } } { FastMutex::ScopedLock l(_pData->mutex); _pData->pRunnableTarget = pTarget; - if (pthread_create(&_pData->thread, &attributes, runnableEntry, this)) + int errorCode; + if ((errorCode = pthread_create(&_pData->thread, &attributes, runnableEntry, this))) { _pData->pRunnableTarget = 0; pthread_attr_destroy(&attributes); - throw SystemException("cannot start thread"); + throw SystemException(Poco::format("cannot start thread (%s)", + Error::getMessage(errorCode))); } } _pData->started = true; @@ -324,16 +343,20 @@ void ThreadImpl::startImpl(SharedPtr pTarget) { struct sched_param par; par.sched_priority = mapPrio(_pData->prio, SCHED_OTHER); - if (pthread_setschedparam(_pData->thread, SCHED_OTHER, &par)) - throw SystemException("cannot set thread priority"); + int errorCode; + if ((errorCode = pthread_setschedparam(_pData->thread, SCHED_OTHER, &par))) + throw SystemException(Poco::format("cannot set thread priority (%s)", + Error::getMessage(errorCode))); } } else { struct sched_param par; par.sched_priority = _pData->osPrio; - if (pthread_setschedparam(_pData->thread, _pData->policy, &par)) - throw SystemException("cannot set thread priority"); + int errorCode; + if ((errorCode = pthread_setschedparam(_pData->thread, _pData->policy, &par))) + throw SystemException(Poco::format("cannot set thread priority (%s)", + Error::getMessage(errorCode))); } } @@ -357,11 +380,12 @@ void ThreadImpl::joinImpl() bool ThreadImpl::joinImpl(long milliseconds) { - if (_pData->started && _pData->done.tryWait(milliseconds)) + if (_pData->started && _pData->done.tryWait(milliseconds) && !_pData->joined) { - void* result; - if (pthread_join(_pData->thread, &result)) - throw SystemException("cannot join thread"); + int errorCode; + if ((errorCode = pthread_join(_pData->thread, nullptr))) + throw SystemException(Poco::format("cannot join thread (%s)", + Error::getMessage(errorCode))); _pData->joined = true; return true; } @@ -410,13 +434,17 @@ void* ThreadImpl::runnableEntry(void* pThread) #endif ThreadImpl* pThreadImpl = reinterpret_cast(pThread); +#ifndef POCO_NO_THREADNAME setThreadName(reinterpret_cast(pThread)->getName()); +#endif AutoPtr pData = pThreadImpl->_pData; +#ifndef POCO_NO_THREADNAME { FastMutex::ScopedLock lock(pData->mutex); setThreadName(pData->name); } +#endif try { diff --git a/Externals/poco/Foundation/src/Timestamp.cpp b/Externals/poco/Foundation/src/Timestamp.cpp index 1bfccf61392..bf612e7f177 100644 --- a/Externals/poco/Foundation/src/Timestamp.cpp +++ b/Externals/poco/Foundation/src/Timestamp.cpp @@ -133,7 +133,7 @@ void Timestamp::update() #else struct timeval tv; - if (gettimeofday(&tv, NULL)) + if (gettimeofday(&tv, nullptr)) throw SystemException("cannot get time of day"); _ts = TimeVal(tv.tv_sec)*resolution() + tv.tv_usec; diff --git a/Externals/poco/Foundation/src/UTF8String.cpp b/Externals/poco/Foundation/src/UTF8String.cpp index d9298b203c0..ded7afe688f 100644 --- a/Externals/poco/Foundation/src/UTF8String.cpp +++ b/Externals/poco/Foundation/src/UTF8String.cpp @@ -20,7 +20,17 @@ #include "Poco/UTF8Encoding.h" #include "Poco/NumberFormatter.h" #include "Poco/Ascii.h" +#include "Poco/Buffer.h" +#include "Poco/Exception.h" #include +#include + + +#if defined(POCO_UNBUNDLED) +#include +#else +#include "utf8proc.h" +#endif #if !defined(POCO_OS_FAMILY_WINDOWS) @@ -410,4 +420,52 @@ std::string UTF8::unescape(const std::string::const_iterator& begin, const std:: } +namespace +{ + std::string doNormalize(const char* str, std::size_t size, utf8proc_option_t options) + { + utf8proc_ssize_t n = utf8proc_decompose_custom(reinterpret_cast(str), size, NULL, 0, options, NULL, NULL); + if (n < 0) throw Poco::RuntimeException("Normalization decompose failed"s, utf8proc_errmsg(n)); + + Poco::Buffer buffer(n + 1); // utf8proc_reencode() needs space for terminating NUL + n = utf8proc_decompose_custom(reinterpret_cast(str), size, buffer.begin(), n, options, NULL, NULL); + if (n < 0) throw Poco::RuntimeException("Normalization decompose failed"s, utf8proc_errmsg(n)); + + n = utf8proc_reencode(buffer.begin(), n, options); + if (n < 0) throw Poco::RuntimeException("Normalization reeencode failed"s, utf8proc_errmsg(n)); + + return std::string(reinterpret_cast(buffer.begin()), n); + } + + int formToOptions(UTF8::NormalizationForm form) + { + switch (form) + { + case UTF8::NORMALIZATION_FORM_D: + return UTF8PROC_STABLE | UTF8PROC_DECOMPOSE; + case UTF8::NORMALIZATION_FORM_C: + return UTF8PROC_STABLE | UTF8PROC_COMPOSE; + case UTF8::NORMALIZATION_FORM_KD: + return UTF8PROC_STABLE | UTF8PROC_DECOMPOSE | UTF8PROC_COMPAT; + case UTF8::NORMALIZATION_FORM_KC: + return UTF8PROC_STABLE | UTF8PROC_COMPOSE | UTF8PROC_COMPAT; + default: + return 0; + } + } +} + + +std::string UTF8::normalize(const std::string& s, NormalizationForm form) +{ + return doNormalize(s.data(), s.size(), static_cast(formToOptions(form))); +} + + +std::string UTF8::normalize(const std::string::const_iterator& begin, const std::string::const_iterator& end, NormalizationForm form) +{ + return doNormalize(&*begin, static_cast(std::distance(begin, end)), static_cast(formToOptions(form))); +} + + } // namespace Poco diff --git a/Externals/poco/Foundation/src/UUIDGenerator.cpp b/Externals/poco/Foundation/src/UUIDGenerator.cpp index 078e669fda1..d728436e152 100644 --- a/Externals/poco/Foundation/src/UUIDGenerator.cpp +++ b/Externals/poco/Foundation/src/UUIDGenerator.cpp @@ -24,8 +24,12 @@ namespace Poco { -UUIDGenerator::UUIDGenerator(): _ticks(0), _haveNode(false) +UUIDGenerator::UUIDGenerator(): + _ticks(0), + _counter(0), + _haveNode(false) { + seed(); } @@ -38,6 +42,18 @@ UUID UUIDGenerator::create() { FastMutex::ScopedLock lock(_mutex); + // 0 1 2 3 + // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | time_low | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | time_mid | ver | time_high | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // |var| clock_seq | node | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | node | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + if (!_haveNode) { Environment::nodeId(_node); @@ -99,6 +115,88 @@ UUID UUIDGenerator::createRandom() } +UUID UUIDGenerator::createOne() +{ + try + { + return create(); + } + catch (Exception&) + { + return createRandom(); + } +} + + +UUID UUIDGenerator::createV6() +{ + FastMutex::ScopedLock lock(_mutex); + + // 0 1 2 3 + // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | time_high | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | time_mid | ver | time_low | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // |var| clock_seq | node | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | node | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + if (!_haveNode) + { + try + { + Environment::nodeId(_node); + _haveNode = true; + } + catch (Poco::Exception&) + { + RandomInputStream ris; + ris.read(reinterpret_cast(_node), sizeof(_node)); + } + } + Timestamp::UtcTimeVal tv = timeStamp(); + UInt32 timeHigh = UInt32((tv >> 28) & 0xFFFFFFFF); + UInt16 timeMid = UInt16((tv >> 12) & 0xFFFF); + UInt16 timeLoAndVersion = UInt16(tv & 0x0FFF) + (UUID::UUID_TIME_BASED_V6 << 12); + UInt16 clockSeq = (UInt16(_random.next() >> 4) & 0x3FFF) | 0x8000; + return UUID(timeHigh, timeMid, timeLoAndVersion, clockSeq, _node); +} + + +UUID UUIDGenerator::createV7() +{ + FastMutex::ScopedLock lock(_mutex); + + // 0 1 2 3 + // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | unix_ts_ms | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | unix_ts_ms | ver | rand_a | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // |var| rand_b | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // | rand_b | + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + if (_counter == 0) _counter = static_cast(_random.next(4096)); + + Timestamp::TimeVal tv = Poco::Timestamp().epochMicroseconds()/1000; + UInt32 timeHigh = UInt32((tv >> 16) & 0xFFFFFFFF); + UInt16 timeMid = UInt16(tv & 0xFFFF); + UInt16 randAVersion = (_counter++ & 0x0FFF) + (UUID::UUID_TIME_BASED_V7 << 12); + UInt16 randBHiVar = (UInt16(_random.next() >> 4) & 0x3FFF) | 0x8000; + Poco::UInt8 randBLow[6]; + RandomInputStream ris; + ris.read(reinterpret_cast(randBLow), sizeof(randBLow)); + return UUID(timeHigh, timeMid, randAVersion, randBHiVar, randBLow); +} + + Timestamp::UtcTimeVal UUIDGenerator::timeStamp() { Timestamp now; @@ -122,19 +220,6 @@ Timestamp::UtcTimeVal UUIDGenerator::timeStamp() } -UUID UUIDGenerator::createOne() -{ - try - { - return create(); - } - catch (Exception&) - { - return createRandom(); - } -} - - void UUIDGenerator::seed() { Poco::FastMutex::ScopedLock lock(_mutex); diff --git a/Externals/poco/Foundation/src/Unicode.cpp b/Externals/poco/Foundation/src/Unicode.cpp index 93dbf4f27bd..10b7cbf9318 100644 --- a/Externals/poco/Foundation/src/Unicode.cpp +++ b/Externals/poco/Foundation/src/Unicode.cpp @@ -29,7 +29,7 @@ void Unicode::properties(int ch, CharacterProperties& props) { if (ch > UCP_MAX_CODEPOINT) ch = 0; const ucd_record* ucd = GET_UCD(ch); - props.category = static_cast(PRIV(ucp_gentype_8)[ucd->chartype]); + props.category = static_cast(PRIV(ucp_gentype)[ucd->chartype]); props.type = static_cast(ucd->chartype); props.script = static_cast