diff -Naur poco-1.14.2-all-orig/CMakeLists.txt poco-1.14.2-all/CMakeLists.txt
--- poco-1.14.2-all-orig/CMakeLists.txt	2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/CMakeLists.txt	2025-10-09 12:55:04.853903100 +0300
@@ -545,7 +545,7 @@
 # Set config script install location in a location that find_package() will
 # look for, which is different on MS Windows than for UNIX
 # Note: also set in POCO_GENERATE_PACKAGE macro in cmake/PocoMacros.cmake
-if(WIN32)
+if(MSVC)
 	set(PocoConfigPackageLocation "cmake")
 else()
 	set(PocoConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
diff -Naur poco-1.14.2-all-orig/cmake/PocoMacros.cmake poco-1.14.2-all/cmake/PocoMacros.cmake
--- poco-1.14.2-all-orig/cmake/PocoMacros.cmake	2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/cmake/PocoMacros.cmake	2025-10-09 12:55:04.855904900 +0300
@@ -40,8 +40,13 @@
 			endforeach()
 		endif(X64)
 	endif()
+	if(MINGW)
+		find_program(CMAKE_MC_COMPILER windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}"
+		DOC "path to message compiler")
+	else()
 	find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir}
 		DOC "path to message compiler")
+	endif()
 	if(NOT CMAKE_MC_COMPILER)
 		message(FATAL_ERROR "message compiler not found: required to build")
 	endif(NOT CMAKE_MC_COMPILER)
@@ -244,7 +249,7 @@
 # Set config script install location in a location that find_package() will
 # look for, which is different on MS Windows than for UNIX
 # Note: also set in root CMakeLists.txt
-if(WIN32)
+if(MSVC)
 	set(PocoConfigPackageLocation "cmake")
 else()
 	set(PocoConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
