file(GLOB lib_hdrs "${tbb_src_dir}/src/tbb/*.h")
list(APPEND lib_srcs "${tbb_src_dir}/src/rml/client/rml_tbb.cpp")
-add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required
- -D__TBB_BUILD=1 #required
- -D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk support
- -DUSE_PTHREAD #required for Unix
- -DTBB_USE_GCC_BUILTINS=1 #required for ARM GCC
- -DTBB_USE_DEBUG=0 #just to be sure
- -DTBB_NO_LEGACY=1 #don't need backward compatibility
- -DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications
- )
+if (WIN32)
+add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0
+ -D__TBB_BUILD=1
+ -D_UNICODE
+ -DUNICODE
+ -DWINAPI_FAMILY=WINAPI_FAMILY_APP
+ -DDO_ITT_NOTIFY=0
+ ) # defines were copied from windows.cl.inc
+set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} /APPCONTAINER")
+else()
+ add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required
+ -D__TBB_BUILD=1 #required
+ -D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk support
+ -DTBB_USE_DEBUG=0 #just to be sure
+ -DTBB_NO_LEGACY=1 #don't need backward compatibility
+ -DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications
+ )
+endif()
+
+if (HAVE_LIBPTHREAD)
+ add_definitions(-DUSE_PTHREAD) #required for Unix
+endif()
+
+if (CMAKE_COMPILER_IS_GNUCXX)
+ add_definitions(-DTBB_USE_GCC_BUILTINS=1) #required for ARM GCC
+endif()
if(ANDROID_COMPILER_IS_CLANG)
add_definitions(-D__TBB_GCC_BUILTIN_ATOMICS_PRESENT=1)
set(TBB_SOURCE_FILES ${lib_srcs} ${lib_hdrs})
-if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
+if ((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") AND NOT WIN32)
if (NOT ANDROID)
set(TBB_SOURCE_FILES ${TBB_SOURCE_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/arm_linux_stub.cpp")
endif()
project(OpenCV CXX C)
-add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
+if ((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") AND WIN32)
+ set(CMAKE_REQUIRED_DEFINITIONS -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
+ add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
+endif()
include(cmake/OpenCVUtils.cmake)
OCV_OPTION(BUILD_JPEG "Build libjpeg from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_PNG "Build libpng from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_OPENEXR "Build openexr from source" WIN32 OR ANDROID OR APPLE )
-OCV_OPTION(BUILD_TBB "Download and build TBB from source" ANDROID IF CMAKE_COMPILER_IS_GNUCXX )
+OCV_OPTION(BUILD_TBB "Download and build TBB from source" ANDROID )
# OpenCV installation options
# ===================================================
endif()
#if(WIN32)
-# list(APPEND highgui_srcs src/cap_vfw.cpp src/cap_cmu.cpp src/cap_dshow.cpp)
+ list(APPEND highgui_srcs src/cap_dshow.cpp)
+ #list(APPEND highgui_srcs src/cap_vfw.cpp src/cap_cmu.cpp)
#endif(WIN32)
if(HAVE_XINE)
{
#ifdef HAVE_VIDEOINPUT
case CV_CAP_DSHOW:
- // capture = cvCreateCameraCapture_DShow (index);
- // if (capture)
- // return capture;
+ capture = cvCreateCameraCapture_DShow (index);
+ if (capture)
+ return capture;
return NULL;
break;
#endif
if( result->open( filename ))
return result;
delete result;
-//#if defined WIN32 || defined _WIN32
-// return cvCreateFileCapture_VFW(filename);
-//#else
+#if (defined WIN32 || defined _WIN32) && !defined _M_ARM
+ return cvCreateFileCapture_VFW(filename);
+#else
return 0;
-//#endif
+#endif
}
class CvVideoWriter_FFMPEG_proxy :
if( result->open( filename, fourcc, fps, frameSize, isColor != 0 ))
return result;
delete result;
-// #if defined WIN32 || defined _WIN32
-// return cvCreateVideoWriter_VFW(filename, fourcc, fps, frameSize, isColor);
-// #else
+#if (defined WIN32 || defined _WIN32) && !defined _M_ARM
+ return cvCreateVideoWriter_VFW(filename, fourcc, fps, frameSize, isColor);
+ #else
return 0;
-//#endif
+#endif
}
virtual bool writeFrame(const IplImage*) { return false; }
};
-//#if defined WIN32 || defined _WIN32
-//#define HAVE_VFW 1
+#if (defined WIN32 || defined _WIN32) && !defined _M_ARM
+#define HAVE_VFW 1
/* uncomment to enable CMUCamera1394 fireware camera module */
//#define HAVE_CMU1394 1
-//#endif
+#endif
CvCapture * cvCreateCameraCapture_V4L( int index );
#if defined (HAVE_QT)
cvSetModeWindow_QT(name,prop_value);
- #elif defined (HAVE_WIN32_UI)
+ #elif (defined WIN32 || defined _WIN32) && !defined _M_ARM
cvSetModeWindow_W32(name,prop_value);
#elif defined (HAVE_GTK)
cvSetModeWindow_GTK(name,prop_value);
#if defined (HAVE_QT)
return cvGetModeWindow_QT(name);
- #elif defined (HAVE_WIN32_UI)
+ #elif (defined WIN32 || defined _WIN32) && !defined _M_ARM
return cvGetModeWindow_W32(name);
#elif defined (HAVE_GTK)
return cvGetModeWindow_GTK(name);
#if defined (HAVE_QT)
return cvGetPropWindow_QT(name);
- #elif defined (HAVE_WIN32_UI)
+ #elif (defined WIN32 || defined _WIN32) && !defined _M_ARM
return cvGetPropWindowAutoSize_W32(name);
#elif defined (HAVE_GTK)
return cvGetPropWindowAutoSize_GTK(name);
#if defined (HAVE_QT)
return cvGetRatioWindow_QT(name);
- #elif defined (HAVE_WIN32_UI)
+ #elif (defined WIN32 || defined _WIN32) && !defined _M_ARM
return cvGetRatioWindow_W32(name);
#elif defined (HAVE_GTK)
return cvGetRatioWindow_GTK(name);
#if defined (HAVE_QT)
return cvGetOpenGlProp_QT(name);
- #elif defined (HAVE_WIN32_UI)
+ #elif (defined WIN32 || defined _WIN32) && !defined _M_ARM
return cvGetOpenGlProp_W32(name);
#elif defined (HAVE_GTK)
return cvGetOpenGlProp_GTK(name);
#endif
-#if defined (HAVE_WIN32_UI) // see window_w32.cpp
+#if (defined WIN32 || defined _WIN32) && !defined _M_ARM // see window_w32.cpp
#elif defined (HAVE_GTK) // see window_gtk.cpp
#elif defined (HAVE_COCOA) // see window_carbon.cpp
#elif defined (HAVE_CARBON)