diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index d01417244..ba69648c5 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -17,6 +17,6 @@ if(WITH_TIFF AND NOT TIFF_FOUND) add_subdirectory(libtiff) endif() -if(NOT ANDROID) +if(0) add_subdirectory(gtest) endif() diff --git a/3rdparty/zlib/CMakeLists.txt b/3rdparty/zlib/CMakeLists.txt index 7184ecdc3..cc384b230 100644 --- a/3rdparty/zlib/CMakeLists.txt +++ b/3rdparty/zlib/CMakeLists.txt @@ -1,11 +1,11 @@ if(ANDROID) -define_3rdparty_module(opencv_zlib) +define_3rdparty_module(zlib) else() # ---------------------------------------------------------------------------- # CMake file for zlib. See root CMakeLists.txt # # ---------------------------------------------------------------------------- -PROJECT(opencv_zlib) +PROJECT(zlib) # List of C++ files: @@ -18,7 +18,7 @@ file(GLOB lib_srcs *.c) file(GLOB lib_hdrs *.h) set(lib_ext_hdrs "../include/zlib.h" "../include/zconf.h") -set(the_target "opencv_zlib") +set(the_target "zlib") add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs}) diff --git a/CMakeLists.txt b/CMakeLists.txt index cc257e57a..096795103 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -474,6 +474,24 @@ if(UNIX) endif() endif() +if(WITH_PNG AND NOT PNG_FOUND) + set(PNG_LIBRARIES libpng) +endif() + +if(WITH_JPEG AND NOT JPEG_FOUND) + set(JPEG_LIBRARIES libjpeg) +endif() + +if(WITH_TIFF AND NOT TIFF_FOUND) + set(TIFF_LIBRARIES libtiff) +endif() + +if(WITH_JASPER AND NOT JASPER_FOUND) + set(JASPER_LIBRARIES libjasper) +endif() + +message(STATUS "Graphic libraries: ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${JASPER_LIBRARIES}") + if(WITH_OPENEXR) include(OpenCVFindOpenEXR.cmake) endif() @@ -778,6 +796,31 @@ if(IPP_FOUND AND USE_IPP) ${A}ippcore${IPP_ARCH}${L}${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() +################## Extra HighGUI libs on Windows ################### + +if(WIN32) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} comctl32 gdi32 ole32) + + if (MSVC) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} vfw32) + endif() + + if(MINGW) + if(MINGW64) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} msvfw32 avifil32 avicap32 winmm) + if(HAVE_VIDEOINPUT) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} videoInput64 strmiids) + endif() + else() + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} vfw32 winmm) + if(HAVE_VIDEOINPUT) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} videoInput strmiids) + endif() + endif() + endif() +endif() + + ################## LATEX ################## set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation") @@ -1192,7 +1235,7 @@ if(BUILD_PACKAGE) endif() install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE) - install(DIRECTORY 3rdparty android modules tests utils DESTINATION "." COMPONENT src PATTERN ".svn" EXCLUDE) + install(DIRECTORY 3rdparty android modules tests DESTINATION "." COMPONENT src PATTERN ".svn" EXCLUDE) install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex") install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE) install(DIRECTORY doc/latex2sphinx DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE) diff --git a/OpenCVConfig.cmake.in b/OpenCVConfig.cmake.in index 00ef551d6..cfcfd1c07 100644 --- a/OpenCVConfig.cmake.in +++ b/OpenCVConfig.cmake.in @@ -82,24 +82,25 @@ endif(NOT @CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@ STREQUAL "") # many more dependencies: IF (NOT @OPENCV_BUILD_SHARED_LIB@) # Under static libs, the user of OpenCV needs access to the 3rdparty libs as well: - if(UNIX) - LINK_DIRECTORIES(@CMAKE_LIB_DIRS_CONFIGCMAKE@/../3rdparty/lib) - else() + LINK_DIRECTORIES(@CMAKE_LIB_DIRS_CONFIGCMAKE@/../3rdparty/lib) + if(WIN32) LINK_DIRECTORIES(@CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@/3rdparty/lib) - endif() - + endif() + + set(OpenCV_LIBS @OPENCV_LINKER_LIBS@ @IPP_LIBS@ @HIGHGUI_LIBRARIES@ ${OpenCV_LIBS}) + + set(OPENCV_EXTRA_COMPONENTS @JPEG_LIBRARIES@ @PNG_LIBRARIES@ @TIFF_LIBRARIES@ @JASPER_LIBRARIES@ zlib opencv_lapack) + + if (CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4) + foreach(__EXTRA_LIB ${OPENCV_EXTRA_COMPONENTS}) + set(OpenCV_LIBS ${OpenCV_LIBS} + debug ${__EXTRA_LIB}@OPENCV_DEBUG_POSTFIX@ + optimized ${__EXTRA_LIB}) + endforeach(__EXTRA_LIB) + else(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4) + set(OpenCV_LIBS ${OpenCV_LIBS} ${OPENCV_EXTRA_COMPONENTS}) + endif(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4) - SET(OpenCV_LIBS - @OPENCV_LINKER_LIBS@ - @IPP_LIBS@ - @JPEG_LIBRARIES@ - @PNG_LIBRARIES@ - @TIFF_LIBRARIES@ - @JASPER_LIBRARIES@ - @HIGHGUI_LIBRARIES@ - ${OpenCV_LIBS} - opencv_zlib - opencv_lapack) # The standard libs BEFORE (OpenCV_LIBS) since these can have "debug","optimized". ENDIF(NOT @OPENCV_BUILD_SHARED_LIB@) diff --git a/OpenCVFindOpenEXR.cmake b/OpenCVFindOpenEXR.cmake index 9e08aa174..85016ae9f 100644 --- a/OpenCVFindOpenEXR.cmake +++ b/OpenCVFindOpenEXR.cmake @@ -44,7 +44,7 @@ FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) SET(OPENEXR_FOUND TRUE) SET(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATH} CACHE STRING "The include paths needed to use OpenEXR") - SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} opencv_zlib CACHE STRING "The libraries needed to use OpenEXR") + SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} zlib CACHE STRING "The libraries needed to use OpenEXR") ENDIF () IF(OPENEXR_FOUND) diff --git a/Package.cmake.in b/Package.cmake.in index e2f373ca4..2d7049c9f 100644 --- a/Package.cmake.in +++ b/Package.cmake.in @@ -47,7 +47,9 @@ set(CPACK_SOURCE_IGNORE_FILES "/build/" "/lib/" "/interfaces/" - "/utils/" + "/swig_python/" + "/octave/" + "/gtest/" "~$" "\\\\.aux$" "\\\\.bbl$" @@ -58,6 +60,8 @@ set(CPACK_SOURCE_IGNORE_FILES "\\\\.log$" "\\\\.toc$" "\\\\.out$" + "\\\\.pyc$" + "\\\\.pyo$" "\\\\.vcproj$" "/1$" "${CPACK_SOURCE_IGNORE_FILES}") diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt index 35c470144..b50a40745 100644 --- a/modules/core/CMakeLists.txt +++ b/modules/core/CMakeLists.txt @@ -1,3 +1,3 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/include") -set(deps opencv_lapack opencv_zlib) +set(deps opencv_lapack zlib) define_opencv_module(core ${deps}) diff --git a/modules/highgui/CMakeLists.txt b/modules/highgui/CMakeLists.txt index c4b1720da..2a33cead6 100644 --- a/modules/highgui/CMakeLists.txt +++ b/modules/highgui/CMakeLists.txt @@ -264,53 +264,28 @@ endif(MSVC) add_dependencies(${the_target} opencv_core opencv_imgproc) # Add the required libraries for linking: -target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core opencv_imgproc ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${TIFF_LIBRARIES} ${JASPER_LIBRARIES} ${HIGHGUI_LIBRARIES} ${OPENEXR_LIBRARIES}) if(WITH_JASPER AND NOT JASPER_FOUND) add_dependencies(${the_target} libjasper) - target_link_libraries(${the_target} libjasper) + #target_link_libraries(${the_target} libjasper) endif() if(WITH_JPEG AND NOT JPEG_FOUND) add_dependencies(${the_target} libjpeg) - target_link_libraries(${the_target} libjpeg) + #target_link_libraries(${the_target} libjpeg) endif() if(WITH_PNG AND NOT PNG_FOUND) - add_dependencies(${the_target} libpng opencv_zlib) - target_link_libraries(${the_target} libpng opencv_zlib) + add_dependencies(${the_target} libpng zlib) + #target_link_libraries(${the_target} libpng zlib) endif() if(WITH_TIFF AND NOT TIFF_FOUND) add_dependencies(${the_target} libtiff) - target_link_libraries(${the_target} libtiff) + #target_link_libraries(${the_target} libtiff) endif() -#if(OPENCV_BUILD_3RDPARTY_LIBS) -# add_dependencies(${the_target} libjasper libjpeg libpng libtiff opencv_zlib) -# target_link_libraries(${the_target} libjasper libjpeg libpng libtiff opencv_zlib) -#endif() -if(WIN32) - target_link_libraries(${the_target} comctl32 gdi32 ole32) - - if (MSVC) - target_link_libraries(${the_target} vfw32) - endif() - - if(MINGW) - if(MINGW64) - target_link_libraries(${the_target} msvfw32 avifil32 avicap32 winmm) - if(HAVE_VIDEOINPUT) - target_link_libraries(${the_target} videoInput64 strmiids) - endif() - else() - target_link_libraries(${the_target} vfw32 winmm) - if(HAVE_VIDEOINPUT) - target_link_libraries(${the_target} videoInput strmiids) - endif() - endif() - endif() -endif() +target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core opencv_imgproc zlib ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${TIFF_LIBRARIES} ${JASPER_LIBRARIES} ${HIGHGUI_LIBRARIES} ${OPENEXR_LIBRARIES}) if(APPLE) target_link_libraries(${the_target} "-lbz2 -framework Cocoa -framework QuartzCore") diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index 7dac2a56c..1a601589a 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -5,6 +5,9 @@ add_subdirectory(c) add_subdirectory(cpp) +add_subdirectory(gpu) + +if(0) add_subdirectory(swig_python) add_subdirectory(octave) -add_subdirectory(gpu) +endif() diff --git a/samples/cpp/camshiftdemo.cpp b/samples/cpp/camshiftdemo.cpp index 08104541e..93735bb38 100644 --- a/samples/cpp/camshiftdemo.cpp +++ b/samples/cpp/camshiftdemo.cpp @@ -35,7 +35,7 @@ Point origin; Rect selection; int vmin = 10, vmax = 256, smin = 30; -void onMouse( int event, int x, int y, int flags, void* param ) +void onMouse( int event, int x, int y, int, void* ) { if( selectObject ) { diff --git a/samples/cpp/drawing.cpp b/samples/cpp/drawing.cpp index 0e0799fb6..b8be30ff6 100644 --- a/samples/cpp/drawing.cpp +++ b/samples/cpp/drawing.cpp @@ -16,7 +16,7 @@ static Scalar randomColor(RNG& rng) return Scalar(icolor&255, (icolor>>8)&255, (icolor>>16)&255); } -int main( int argc, char** argv ) +int main( int, char** ) { char wndname[] = "Drawing Demo"; const int NUMBER = 100; @@ -24,7 +24,7 @@ int main( int argc, char** argv ) int lineType = CV_AA; // change it to 8 to see non-antialiased graphics int i, width = 1000, height = 700; int x1 = -width/2, x2 = width*3/2, y1 = -height/2, y2 = height*3/2; - RNG rng(-1); + RNG rng(0xFFFFFFFF); Mat image = Mat::zeros(height, width, CV_8UC3); imshow(wndname, image); diff --git a/samples/cpp/ffilldemo.cpp b/samples/cpp/ffilldemo.cpp index e5e52481d..4191a9b90 100644 --- a/samples/cpp/ffilldemo.cpp +++ b/samples/cpp/ffilldemo.cpp @@ -32,7 +32,7 @@ int isColor = true; bool useMask = false; int newMaskVal = 255; -void onMouse( int event, int x, int y, int, void* param ) +void onMouse( int event, int x, int y, int, void* ) { if( event != CV_EVENT_LBUTTONDOWN ) return; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 917fe0d60..42c840cbf 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -12,6 +12,3 @@ add_subdirectory(cxts) add_subdirectory(gpu) # endif() #endif() - - -