]> rtime.felk.cvut.cz Git - opencv.git/commitdiff
added "zip" option to the Package.cmake.in, fixed test failure in cvmorph when built...
authorvp153 <vp153@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Mon, 5 Apr 2010 23:51:44 +0000 (23:51 +0000)
committervp153 <vp153@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Mon, 5 Apr 2010 23:51:44 +0000 (23:51 +0000)
git-svn-id: https://code.ros.org/svn/opencv/trunk@2995 73c94f0f-984f-4a5f-82bc-2d8db8d8ee08

opencv/CMakeLists.txt
opencv/Package.cmake.in
opencv/doc/ChangeLog.htm
opencv/doc/index.htm
opencv/src/cv/cvmorph.cpp

index c85938284ad9019a36a89e4118ea9c72440accc7..01830f34ed4a431c7b961bab7192a02a774c53ef 100644 (file)
@@ -88,9 +88,9 @@ endif()
 # Default: dynamic libraries:\r
 SET(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)")\r
 IF(BUILD_SHARED_LIBS)\r
-       SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.\r
+    SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.\r
 ELSE(BUILD_SHARED_LIBS)\r
-       SET(OPENCV_BUILD_SHARED_LIB 0)\r
+    SET(OPENCV_BUILD_SHARED_LIB 0)\r
 ENDIF(BUILD_SHARED_LIBS)\r
 \r
 # ----------------------------------------------------------------------------\r
@@ -157,19 +157,19 @@ endif()
 #  the -fPIC flag should be used.\r
 # ----------------------------------------------------------------------------\r
 if(UNIX)\r
-       if  (__ICL)\r
-               set(CV_ICC   __ICL)\r
-       elseif(__ICC)\r
-               set(CV_ICC   __ICC)\r
-       elseif(__ECL)\r
-               set(CV_ICC   __ECL)\r
-       elseif(__ECC)\r
-               set(CV_ICC   __ECC)\r
-       elseif(__INTEL_COMPILER)\r
-               set(CV_ICC   __INTEL_COMPILER)\r
-       elseif(CMAKE_C_COMPILER MATCHES "icc")\r
-               set(CV_ICC   icc_matches_c_compiler)\r
-       endif()\r
+    if  (__ICL)\r
+        set(CV_ICC   __ICL)\r
+    elseif(__ICC)\r
+        set(CV_ICC   __ICC)\r
+    elseif(__ECL)\r
+        set(CV_ICC   __ECL)\r
+    elseif(__ECC)\r
+        set(CV_ICC   __ECC)\r
+    elseif(__INTEL_COMPILER)\r
+        set(CV_ICC   __INTEL_COMPILER)\r
+    elseif(CMAKE_C_COMPILER MATCHES "icc")\r
+        set(CV_ICC   icc_matches_c_compiler)\r
+    endif()\r
 endif()\r
 \r
 # ----------------------------------------------------------------------------\r
@@ -204,9 +204,9 @@ if(UNIX)
 endif()\r
 \r
 #if(MSVC)\r
-#      set(DEFAULT_ENABLE_OPENMP ON)\r
+#   set(DEFAULT_ENABLE_OPENMP ON)\r
 #else()\r
-#      set(DEFAULT_ENABLE_OPENMP OFF)\r
+#   set(DEFAULT_ENABLE_OPENMP OFF)\r
 #endif()\r
 #set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")\r
 \r
@@ -264,19 +264,19 @@ set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
 if(UNIX)\r
     set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")\r
     if(NOT APPLE)\r
-               set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")\r
-       set(WITH_GTK ON CACHE BOOL "Include GTK support")\r
-       set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")\r
-       set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")\r
-       set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")\r
-       endif()\r
-       set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")\r
-       set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")\r
+        set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")\r
+        set(WITH_GTK ON CACHE BOOL "Include GTK support")\r
+        set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")\r
+        set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")\r
+        set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")\r
+    endif()\r
+    set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")\r
+    set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")\r
 endif()\r
 \r
 if(APPLE)\r
-       set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")\r
-       set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")\r
+    set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")\r
+    set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")\r
 endif()\r
 \r
 set(WITH_TBB OFF CACHE BOOL "Include TBB support")\r
@@ -731,11 +731,11 @@ endif()
 \r
 if(CMAKE_COMPILER_IS_GNUCXX)\r
 \r
-       if(WIN32)\r
-               if(CMAKE_CXX_COMPILER MATCHES "64")\r
-                       set(MINGW64 1)\r
-               endif()\r
-       endif()\r
+    if(WIN32)\r
+        if(CMAKE_CXX_COMPILER MATCHES "64")\r
+            set(MINGW64 1)\r
+        endif()\r
+    endif()\r
 \r
     # High level of warnings.\r
     set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")\r
@@ -757,13 +757,13 @@ if(CMAKE_COMPILER_IS_GNUCXX)
         set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")\r
     endif()\r
 \r
-       if(X86)\r
+    if(X86)\r
         if(NOT X86_64)\r
             if(NOT APPLE)\r
                 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -march=i686")\r
             endif()\r
         endif()\r
-       endif()\r
+    endif()\r
 \r
     # Other optimizations\r
     if(USE_OMIT_FRAME_POINTER)\r
@@ -835,11 +835,11 @@ endif()
 \r
 # Extra link libs if the user selects building static libs:\r
 IF(NOT BUILD_SHARED_LIBS)\r
-       if(CMAKE_COMPILER_IS_GNUCXX)\r
-               set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} stdc++)\r
-       endif()\r
+    if(CMAKE_COMPILER_IS_GNUCXX)\r
+        set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} stdc++)\r
+    endif()\r
 \r
-       set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} flann zlib opencv_lapack)\r
+    set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} flann zlib opencv_lapack)\r
 endif()\r
 \r
 \r
@@ -1114,7 +1114,7 @@ else()
 message(STATUS "  GUI Back-end:                Cocoa")\r
 endif()\r
 message(STATUS "")\r
-endif()        \r
+endif() \r
 \r
 message(STATUS "  Image I/O: ")\r
 if(NOT WITH_JPEG OR JPEG_FOUND)\r
@@ -1123,7 +1123,7 @@ else()
 message(STATUS "    JPEG:                      build")\r
 endif()\r
 \r
-if(NOT WIDTH_PNG OR PNG_FOUND)\r
+if(NOT WITH_PNG OR PNG_FOUND)\r
 message(STATUS "    PNG:                       ${PNG_FOUND}")\r
 else()\r
 message(STATUS "    PNG:                       build")\r
index bc4f458fce5e27b9581a58cf192b9e0951788406..6e8ea9c8e0eb729ffc5f51c125d06ccd0beb293c 100644 (file)
@@ -42,36 +42,40 @@ set(CPACK_COMPONENT_SRC_INSTALL_TYPES Full)
 #set(CPACK_COMPONENT_py_INSTALL_TYPES Full)
 
 set(CPACK_SOURCE_IGNORE_FILES
-       "/\\\\.svn/"
-       "/autom4te.cache/"
-       "/build/"
-       "/lib/"
-       "~$"    
-       "\\\\.aux$"
-       "\\\\.bbl$"
-       "\\\\.blg$"
-       "\\\\.idx$"
-       "\\\\.ilg$"
-       "\\\\.ind$"
-       "\\\\.log$"
-       "\\\\.toc$"
-       "\\\\.out$"
-       "\\\\.vcproj$"
-       "/1$"
-       "${CPACK_SOURCE_IGNORE_FILES}")
+    "/\\\\.svn/"
+    "/autom4te.cache/"
+    "/build/"
+    "/lib/"
+    "~$"    
+    "\\\\.aux$"
+    "\\\\.bbl$"
+    "\\\\.blg$"
+    "\\\\.idx$"
+    "\\\\.ilg$"
+    "\\\\.ind$"
+    "\\\\.log$"
+    "\\\\.toc$"
+    "\\\\.out$"
+    "\\\\.vcproj$"
+    "/1$"
+    "${CPACK_SOURCE_IGNORE_FILES}")
+
+set(CPACK_SOURCE_PACKAGE_FILE_NAME
+    "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 
 if(WIN32)
     set(CPACK_GENERATOR "NSIS")
+    set(CPACK_SOURCE_GENERATOR "ZIP")
     set(CPACK_NSIS_PACKAGE_NAME "OpenCV ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
     set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}\\\\utils\\\\opencv.ico")
     set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\utils\\\\opencv.ico")
-    #set(CPACK_PACKAGE_ICON "utils/opencv.ico")        
-               
+    #set(CPACK_PACKAGE_ICON "utils/opencv.ico") 
+        
     set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_SOURCE_DIR}\\\\utils\\\\opencv.ico")
     set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\opencvlibrary.sourceforge.net")
-       set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\opencvlibrary.sourceforge.net")
-       set(CPACK_NSIS_CONTACT "info@opencvlibrary.sourceforge.net")
-       set(CPACK_NSIS_DISPLAY_NAME "OpenCV SDK")
+    set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\opencvlibrary.sourceforge.net")
+    set(CPACK_NSIS_CONTACT "info@opencvlibrary.sourceforge.net")
+    set(CPACK_NSIS_DISPLAY_NAME "OpenCV SDK")
 
     set(CPACK_NSIS_MENU_LINKS
         "doc\\\\index.htm" "Start Page"
@@ -79,17 +83,15 @@ if(WIN32)
         "CMakeLists.txt" "The Build Script (open with CMake)"
         "samples\\\\c" "C Samples"
         "samples\\\\python" "Python Samples")
-       
+    
     # Add "<install_path>/bin" to the system PATH
     set(CPACK_NSIS_MODIFY_PATH ON)
 else()
     set(CPACK_GENERATOR "TBZ2")
     set(CPACK_SOURCE_GENERATOR "TBZ2")
-    set(CPACK_SOURCE_PACKAGE_FILE_NAME
-       "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
     
     if(APPLE)
-       set(CPACK_GENERATOR "PackageMaker;TBZ2")
+    set(CPACK_GENERATOR "PackageMaker;TBZ2")
     endif()
 endif()
 
index dd2822bbb7a3c4f0650f631cc4b61a58701c3c90..44dff6ed411af208b0acbfb75aa7419bd627241a 100644 (file)
@@ -49,7 +49,10 @@ OpenCV 2.1 is basically a stabilized OpenCV 2.0, yet there are a few new feature
     if they are available. That is, it should be more safe to use WITH_SSE* flags in CMake.
     However, if you want maximum portability, it's recommended to turn on just WITH_SSE and WITH_SSE2
     and leave other SSE* turned off, as we found that using WITH_SSE3, WITH_SSSE3 and WITH_SSE4_1 can yield
-    the code incompatible with Intel's pre-Penryn or AMD chips. 
+    the code incompatible with Intel's pre-Penryn or AMD chips.
+
+  - Experimental "static" OpenCV configuration in CMake was contributed by Jose Luis Blanco.
+    Pass "BUILD_SHARED_LIBS=OFF" to CMake to build OpenCV statically.   
 
 >>> New functionality, features:
 
index da0adebac6d99ff1a16a8b94fe78772c26fc90ca..189cfdf722d238d0cf22f294ebce39809e6eeff5 100644 (file)
@@ -67,8 +67,9 @@ More information about IPP can be retrieved at
 <a href="http://www.intel.com/software/products/ipp/index.htm">
 http://www.intel.com/software/products/ipp/index.htm</a></p>
 
-Then, OpenCV itself can be built with OpenMP support, and, starting with v2.0,
-OpenCV includes SSE2-optimized code, so many of the functions run significantly
+Then, OpenCV itself can be built with <a href="http://www.threadingbuildingblocks.org/">TBB</a>
+support, and, starting with v2.0,
+OpenCV also includes SSE2-optimized code, so many of the functions run significantly
 faster on the modern 32-bit x86 and 64-bit x64 platforms, and even faster on dual-,
 quad- and many-core systems.
 
@@ -105,8 +106,11 @@ look for the information there (and/or add it when you have found a solution)
 <li>Join OpenCV mailing list at yahoo groups (see FAQs on how to do it) and mail your questions
    (the mailing list will probably migrate to
    <a href="http://www.sourceforge.net/projects/opencvlibrary">OpenCV's SourceForge site</a>)
-<li>Look at the OpenCV sample code, read the reference manual (<a href="opencv.pdf">offline in PDF</a>
-    or <a href="http://opencv.willowgarage.com/documentation/index.html">online</a>) 
+<li>Look at the OpenCV sample code, read the reference manual <a href="opencv.pdf">offline in PDF</a>
+    or online (<a href="http://opencv.willowgarage.com/documentation/c/index.html">C</a>,
+    <a href="http://opencv.willowgarage.com/documentation/cpp/index.html">C++</a> and
+    <a href="http://opencv.willowgarage.com/documentation/python/index.html">Python</a>).
+     
 </ol>
 
 </body></html>
index edbe3b72d53ef340d7eaf997059a0829f374ebe6..e774508400628333c302fde414adca1d7f0a183c 100644 (file)
@@ -89,7 +89,7 @@ template<class VecUpdate> struct MorphRowIVec
         
         cn *= ESZ;
         int i, k, _ksize = ksize*cn;
-        width *= cn;
+        width = (width & -4)*cn;
         VecUpdate updateOp;
 
         for( i = 0; i <= width - 16; i += 16 )
@@ -103,7 +103,7 @@ template<class VecUpdate> struct MorphRowIVec
             _mm_storeu_si128((__m128i*)(dst + i), s);
         }
 
-        for( ; i <= width - 4; i += 4 )
+        for( ; i < width; i += 4 )
         {
             __m128i s = _mm_cvtsi32_si128(*(const int*)(src + i));
             for( k = cn; k < _ksize; k += cn )
@@ -130,10 +130,10 @@ template<class VecUpdate> struct MorphRowFVec
             return 0;
         
         int i, k, _ksize = ksize*cn;
-        width *= cn;
+        width = (width & -4)*cn;
         VecUpdate updateOp;
 
-        for( i = 0; i <= width - 4; i += 4 )
+        for( i = 0; i < width; i += 4 )
         {
             __m128 s = _mm_loadu_ps((const float*)src + i);
             for( k = cn; k < _ksize; k += cn )