vcpkg/ports/opencv4/0009-fix-uwp.patch
Stefano Sinigardi 4fb51523e9 [OpenCV] Update to v4.1.1 (#5169)
* [OpenCV] update to v4

* [OpenCV] update to v4.1

* [OpenCV] merge #6901 and #6812

* [OpenCV] port patches to v4.1

* [OpenCV] fix naming

* [OpenCV] fix regression with static linkage

* [OpenCV] fix linking to optional feature dependencies in static mode

* fix ffmpeg on some architectures

* trigger rebuild of regressions on macOS

* [zxing-cpp] fix opencv 4.1 compat

* [ogre] improve patching for static builds

* [OpenCV] fixes for extra features

* [OpenCV] drastically reduce patchset

* [OpenCV] fix regression on linux

* [OpenCV] fix regression on Windows

* [qt5] depends on qt5-activeqt only on windows

* update to v4.1.1

* [OpenCV] additional fixes for 4.1.1

* [OpenCV] fix Eigen3 feature integration

* [opencv] Fix compilation in UWP

* [opencv] Fix merge conflicts

* [ffmpeg] fix cmake module for osx

* [OpenCV] add pre-caching of optflow cuda package

* [gdcm] properly fix #6863 instead of wrong #6901

* [OpenCV] fix OpenMP feature

* [opencv] Add missing GetModuleHandle() call guard for UWP

* [freeimage] Do not depend on libwebp[all] on UWP

* [opencv] Set app container bit for UWP

* [zxing-cpp] Fail with explicit message in UWP

* [pthreads4w] fix target creation, missing dlls

* [pthreads4w] bump CONTROL

* [opencv,zxing-cpp] Fix OpenCV Video IO module

* [zxing-cpp] Revert unnecessary changes

* [opencv] Feature halide

* Fix regression in UWP

* [ffmpeg] remove unnecessary patch pointing to old OpenCV version

* [opencv] remove versioning from windows dll filenames

* [opencv] Move port to opencv4

* [opencv,opencv4] Make meta-package install OpenCV 4.1

* [opencv3] Rename old port opencv->opencv3

* Add failure messages when another OpenCV is already installed
2019-08-12 09:22:30 -07:00

58 lines
2.6 KiB
Diff

diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
index 799592b..3f44173 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -852,7 +852,7 @@ macro(ocv_create_module)
set(the_module_target ${the_module})
endif()
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# removing APPCONTAINER from modules to run from console
# in case of usual starting of WinRT test apps output is missing
# so starting of console version w/o APPCONTAINER is required to get test results
@@ -1175,7 +1175,7 @@ function(ocv_add_perf_tests)
set_target_properties(${the_target} PROPERTIES FOLDER "tests performance")
endif()
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# removing APPCONTAINER from tests to run from console
# look for detailed description inside of ocv_create_module macro above
add_custom_command(TARGET "opencv_perf_${name}"
diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp
index aafbfdf..10543ae 100644
--- a/modules/core/src/utils/datafile.cpp
+++ b/modules/core/src/utils/datafile.cpp
@@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr)
CV_UNUSED(addr);
#ifdef _WIN32
HMODULE m = 0;
-#if _WIN32_WINNT >= 0x0501
+#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP))
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
reinterpret_cast<LPCTSTR>(addr),
&m);
@@ -155,7 +155,7 @@ bool getBinLocation(std::wstring& dst)
{
void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage!
HMODULE m = 0;
-#if _WIN32_WINNT >= 0x0501
+#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP))
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
reinterpret_cast<LPCTSTR>(addr),
&m);
diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
index 236e227..eccf97e 100644
--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
@@ -94,7 +94,7 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber()
void Media::CaptureFrameGrabber::ShowCameraSettings()
{
-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP
+#if (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY != WINAPI_FAMILY_PC_APP)
if (_state == State::Started)
{
CameraOptionsUI::Show(_capture.Get());