|
50 | 50 | cmake_minimum_required(VERSION 2.6.3)
|
51 | 51 | endif()
|
52 | 52 |
|
| 53 | +# must go before the project command |
53 | 54 | set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
|
54 | 55 | if(DEFINED CMAKE_BUILD_TYPE AND CMAKE_VERSION VERSION_GREATER "2.8")
|
55 | 56 | set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${CMAKE_CONFIGURATION_TYPES} )
|
@@ -165,12 +166,10 @@ OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID
|
165 | 166 | OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT IOS AND BUILD_SHARED_LIBS) )
|
166 | 167 |
|
167 | 168 |
|
168 |
| -if(CMAKE_GENERATOR MATCHES Xcode) |
169 |
| - set(ENABLE_SOLUTION_FOLDERS0 ON) |
170 |
| -elseif(MSVC_IDE) |
171 |
| - set(ENABLE_SOLUTION_FOLDERS0 ON) |
| 169 | +if(MSVC_IDE OR CMAKE_GENERATOR MATCHES Xcode) |
| 170 | + set(ENABLE_SOLUTION_FOLDERS0 ON) |
172 | 171 | else()
|
173 |
| - set(ENABLE_SOLUTION_FOLDERS0 OFF) |
| 172 | + set(ENABLE_SOLUTION_FOLDERS0 OFF) |
174 | 173 | endif()
|
175 | 174 |
|
176 | 175 | # OpenCV build options
|
@@ -334,303 +333,18 @@ include(cmake/OpenCVPCHSupport.cmake REQUIRED)
|
334 | 333 | include(cmake/OpenCVModule.cmake REQUIRED)
|
335 | 334 |
|
336 | 335 | # ----------------------------------------------------------------------------
|
337 |
| -# Detect 3rd-party image IO libraries |
| 336 | +# Detect 3rd-party libraries |
338 | 337 | # ----------------------------------------------------------------------------
|
339 |
| -include(cmake/OpenCVIOLibs.cmake REQUIRED) |
340 | 338 |
|
341 |
| -# ---------------------------------------------------------------------------- |
342 |
| -# Detect 3rd-party GUI libraries |
343 |
| -# ---------------------------------------------------------------------------- |
344 |
| -# --- QT4 --- |
345 |
| -ocv_clear_vars(HAVE_QT) |
346 |
| -if(WITH_QT) |
347 |
| - find_package(Qt4) |
348 |
| - if(QT4_FOUND) |
349 |
| - set(HAVE_QT TRUE) |
350 |
| - add_definitions(-DHAVE_QT) #We need to define te macro this way, using cvconfig.h.cmake does not work |
351 |
| - endif() |
352 |
| -endif() |
353 |
| - |
354 |
| -# --- GTK --- |
355 |
| -ocv_clear_vars(HAVE_GTK HAVE_GTHREAD HAVE_GTKGLEXT) |
356 |
| -if(WITH_GTK AND NOT HAVE_QT) |
357 |
| - CHECK_MODULE(gtk+-2.0 HAVE_GTK) |
358 |
| - CHECK_MODULE(gthread-2.0 HAVE_GTHREAD) |
359 |
| - if(WITH_OPENGL) |
360 |
| - CHECK_MODULE(gtkglext-1.0 HAVE_GTKGLEXT) |
361 |
| - endif() |
362 |
| -endif() |
363 |
| - |
364 |
| -# --- OpenGl --- |
365 |
| -ocv_clear_vars(HAVE_OPENGL HAVE_QT_OPENGL) |
366 |
| -if(WITH_OPENGL) |
367 |
| - if(WIN32 OR QT_QTOPENGL_FOUND OR HAVE_GTKGLEXT) |
368 |
| - find_package (OpenGL QUIET) |
369 |
| - if(OPENGL_FOUND) |
370 |
| - set(HAVE_OPENGL TRUE) |
371 |
| - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${OPENGL_LIBRARIES}) |
372 |
| - if(QT_QTOPENGL_FOUND) |
373 |
| - set(HAVE_QT_OPENGL TRUE) |
374 |
| - add_definitions(-DHAVE_QT_OPENGL) |
375 |
| - else() |
376 |
| - ocv_include_directories(${OPENGL_INCLUDE_DIR}) |
377 |
| - endif() |
378 |
| - endif() |
379 |
| - endif() |
380 |
| -endif(WITH_OPENGL) |
381 |
| - |
382 |
| -# ---------------------------------------------------------------------------- |
383 |
| -# Detect 3rd-party video IO libraries |
384 |
| -# ---------------------------------------------------------------------------- |
385 |
| -# --- GStreamer --- |
386 |
| -ocv_clear_vars(HAVE_GSTREAMER) |
387 |
| -if(WITH_GSTREAMER) |
388 |
| - CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER) |
389 |
| - if(HAVE_GSTREAMER) |
390 |
| - CHECK_MODULE(gstreamer-app-0.10 HAVE_GSTREAMER) |
391 |
| - endif() |
392 |
| - if(HAVE_GSTREAMER) |
393 |
| - CHECK_MODULE(gstreamer-video-0.10 HAVE_GSTREAMER) |
394 |
| - endif() |
395 |
| -endif(WITH_GSTREAMER) |
396 |
| - |
397 |
| -# --- unicap --- |
398 |
| -ocv_clear_vars(HAVE_UNICAP) |
399 |
| -if(WITH_UNICAP) |
400 |
| - CHECK_MODULE(libunicap HAVE_UNICAP_) |
401 |
| - CHECK_MODULE(libucil HAVE_UNICAP_UCIL) |
402 |
| - if(HAVE_UNICAP_ AND HAVE_UNICAP_UCIL) |
403 |
| - set(HAVE_UNICAP TRUE) |
404 |
| - endif() |
405 |
| -endif(WITH_UNICAP) |
406 |
| - |
407 |
| -# --- PvApi --- |
408 |
| -ocv_clear_vars(HAVE_PVAPI) |
409 |
| -if(WITH_PVAPI) |
410 |
| - find_path(PVAPI_INCLUDE_PATH "PvApi.h" |
411 |
| - PATHS /usr/local /opt /usr ENV ProgramFiles ENV ProgramW6432 |
412 |
| - PATH_SUFFIXES include "Allied Vision Technologies/GigESDK/inc-pc" "AVT GigE SDK/inc-pc" "GigESDK/inc-pc" |
413 |
| - DOC "The path to PvAPI header") |
414 |
| - |
415 |
| - if(PVAPI_INCLUDE_PATH) |
416 |
| - if(X86 AND NOT WIN32) |
417 |
| - set(PVAPI_SDK_SUBDIR x86) |
418 |
| - elseif(X86_64) |
419 |
| - set(PVAPI_SDK_SUBDIR x64) |
420 |
| - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES arm) |
421 |
| - set(PVAPI_SDK_SUBDIR arm) |
422 |
| - endif() |
423 |
| - |
424 |
| - get_filename_component(_PVAPI_LIBRARY "${PVAPI_INCLUDE_PATH}/../lib-pc" ABSOLUTE) |
425 |
| - if(PVAPI_SDK_SUBDIR) |
426 |
| - set(_PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${PVAPI_SDK_SUBDIR}") |
427 |
| - endif() |
428 |
| - if(NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX) |
429 |
| - set(_PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${CMAKE_OPENCV_GCC_VERSION_MAJOR}.${CMAKE_OPENCV_GCC_VERSION_MINOR}") |
430 |
| - endif() |
431 |
| - |
432 |
| - set(PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${CMAKE_STATIC_LIBRARY_PREFIX}PvAPI${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE PATH "The PvAPI library") |
433 |
| - if(EXISTS "${PVAPI_LIBRARY}") |
434 |
| - set(HAVE_PVAPI TRUE) |
435 |
| - endif() |
436 |
| - endif(PVAPI_INCLUDE_PATH) |
437 |
| -endif(WITH_PVAPI) |
438 |
| - |
439 |
| -# --- Dc1394 --- |
440 |
| -ocv_clear_vars(HAVE_DC1394 HAVE_DC1394_2) |
441 |
| -if(WITH_1394) |
442 |
| - CHECK_MODULE(libdc1394-2 HAVE_DC1394_2) |
443 |
| - if(NOT HAVE_DC1394_2) |
444 |
| - CHECK_MODULE(libdc1394 HAVE_DC1394) |
445 |
| - endif() |
446 |
| -endif(WITH_1394) |
447 |
| - |
448 |
| -# --- xine --- |
449 |
| -ocv_clear_vars(HAVE_XINE) |
450 |
| -if(WITH_XINE) |
451 |
| - CHECK_MODULE(libxine HAVE_XINE) |
452 |
| -endif(WITH_XINE) |
453 |
| - |
454 |
| -# --- V4L --- |
455 |
| -ocv_clear_vars(HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2) |
456 |
| -if(WITH_V4L) |
457 |
| - CHECK_MODULE(libv4l1 HAVE_LIBV4L) |
458 |
| - CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L) |
459 |
| - CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2) |
460 |
| -endif(WITH_V4L) |
461 |
| - |
462 |
| -# --- OpenNI --- |
463 |
| -ocv_clear_vars(HAVE_OPENNI HAVE_OPENNI_PRIME_SENSOR_MODULE) |
464 |
| -if(WITH_OPENNI) |
465 |
| - include(cmake/OpenCVFindOpenNI.cmake) |
466 |
| -endif(WITH_OPENNI) |
467 |
| - |
468 |
| -# --- XIMEA --- |
469 |
| -ocv_clear_vars(HAVE_XIMEA) |
470 |
| -if(WITH_XIMEA) |
471 |
| - include(cmake/OpenCVFindXimea.cmake) |
472 |
| - if(XIMEA_FOUND) |
473 |
| - set(HAVE_XIMEA TRUE) |
474 |
| - endif() |
475 |
| -endif(WITH_XIMEA) |
476 |
| - |
477 |
| -# --- FFMPEG --- |
478 |
| -ocv_clear_vars(HAVE_FFMPEG HAVE_FFMPEG_CODEC HAVE_FFMPEG_FORMAT HAVE_FFMPEG_UTIL HAVE_FFMPEG_SWSCALE HAVE_GENTOO_FFMPEG HAVE_FFMPEG_FFMPEG) |
479 |
| -if(WITH_FFMPEG) |
480 |
| - if(WIN32) |
481 |
| - include(3rdparty/ffmpeg/ffmpeg_version.cmake REQUIRED) |
482 |
| - elseif(UNIX) |
483 |
| - CHECK_MODULE(libavcodec HAVE_FFMPEG_CODEC) |
484 |
| - CHECK_MODULE(libavformat HAVE_FFMPEG_FORMAT) |
485 |
| - CHECK_MODULE(libavutil HAVE_FFMPEG_UTIL) |
486 |
| - CHECK_MODULE(libswscale HAVE_FFMPEG_SWSCALE) |
487 |
| - |
488 |
| - CHECK_INCLUDE_FILE(libavformat/avformat.h HAVE_GENTOO_FFMPEG) |
489 |
| - CHECK_INCLUDE_FILE(ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG) |
490 |
| - if(NOT HAVE_GENTOO_FFMPEG AND NOT HAVE_FFMPEG_FFMPEG) |
491 |
| - if(EXISTS /usr/include/ffmpeg/libavformat/avformat.h OR HAVE_FFMPEG_SWSCALE) |
492 |
| - set(HAVE_GENTOO_FFMPEG TRUE) |
493 |
| - endif() |
494 |
| - endif() |
495 |
| - if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL AND HAVE_FFMPEG_SWSCALE) |
496 |
| - set(HAVE_FFMPEG TRUE) |
497 |
| - endif() |
498 |
| - |
499 |
| - if(HAVE_FFMPEG) |
500 |
| - # Find the bzip2 library because it is required on some systems |
501 |
| - FIND_LIBRARY(BZIP2_LIBRARIES NAMES bz2 bzip2) |
502 |
| - if(NOT BZIP2_LIBRARIES) |
503 |
| - # Do an other trial |
504 |
| - FIND_FILE(BZIP2_LIBRARIES NAMES libbz2.so.1 PATHS /lib) |
505 |
| - endif() |
506 |
| - endif(HAVE_FFMPEG) |
507 |
| - endif() |
508 |
| - |
509 |
| - if(APPLE) |
510 |
| - find_path(FFMPEG_INCLUDE_DIR "libavformat/avformat.h" |
511 |
| - PATHS /usr/local /usr /opt |
512 |
| - PATH_SUFFIXES include |
513 |
| - DOC "The path to FFMPEG headers") |
514 |
| - if(FFMPEG_INCLUDE_DIR) |
515 |
| - set(HAVE_GENTOO_FFMPEG TRUE) |
516 |
| - set(FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory") |
517 |
| - if(EXISTS "${FFMPEG_LIB_DIR}/libavcodec.a") |
518 |
| - set(HAVE_FFMPEG_CODEC 1) |
519 |
| - set(ALIASOF_libavcodec_VERSION "Unknown") |
520 |
| - if(EXISTS "${FFMPEG_LIB_DIR}/libavformat.a") |
521 |
| - set(HAVE_FFMPEG_FORMAT 1) |
522 |
| - set(ALIASOF_libavformat_VERSION "Unknown") |
523 |
| - if(EXISTS "${FFMPEG_LIB_DIR}/libavutil.a") |
524 |
| - set(HAVE_FFMPEG_UTIL 1) |
525 |
| - set(ALIASOF_libavutil_VERSION "Unknown") |
526 |
| - if(EXISTS "${FFMPEG_LIB_DIR}/libswscale.a") |
527 |
| - set(HAVE_FFMPEG_SWSCALE 1) |
528 |
| - set(ALIASOF_libswscale_VERSION "Unknown") |
529 |
| - set(HAVE_FFMPEG 1) |
530 |
| - endif() |
531 |
| - endif() |
532 |
| - endif() |
533 |
| - endif() |
534 |
| - endif(FFMPEG_INCLUDE_DIR) |
535 |
| - if(HAVE_FFMPEG) |
536 |
| - set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} "${FFMPEG_LIB_DIR}/libavcodec.a" |
537 |
| - "${FFMPEG_LIB_DIR}/libavformat.a" "${FFMPEG_LIB_DIR}/libavutil.a" |
538 |
| - "${FFMPEG_LIB_DIR}/libswscale.a") |
539 |
| - ocv_include_directories(${FFMPEG_INCLUDE_DIR}) |
540 |
| - endif() |
541 |
| - endif(APPLE) |
542 |
| -endif(WITH_FFMPEG) |
543 |
| - |
544 |
| -# --- VideoInput --- |
545 |
| -if(WITH_VIDEOINPUT) |
546 |
| - # always have VideoInput on Windows |
547 |
| - set(HAVE_VIDEOINPUT 1) |
548 |
| -endif(WITH_VIDEOINPUT) |
549 |
| - |
550 |
| -# --- Extra HighGUI libs on Windows --- |
551 |
| -if(WIN32) |
552 |
| - list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32) |
553 |
| - if(MSVC) |
554 |
| - list(APPEND HIGHGUI_LIBRARIES vfw32) |
555 |
| - elseif(MINGW64) |
556 |
| - list(APPEND HIGHGUI_LIBRARIES msvfw32 avifil32 avicap32 winmm) |
557 |
| - elseif(MINGW) |
558 |
| - list(APPEND HIGHGUI_LIBRARIES vfw32 winmm) |
559 |
| - endif() |
560 |
| -endif(WIN32) |
| 339 | +include(cmake/OpenCVFindLibsGrfmt.cmake REQUIRED) |
| 340 | +include(cmake/OpenCVFindLibsGUI.cmake REQUIRED) |
| 341 | +include(cmake/OpenCVFindLibsVideo.cmake REQUIRED) |
| 342 | +include(cmake/OpenCVFindLibsPerf.cmake REQUIRED) |
561 | 343 |
|
562 | 344 |
|
563 | 345 | # ----------------------------------------------------------------------------
|
564 | 346 | # Detect other 3rd-party libraries/tools
|
565 | 347 | # ----------------------------------------------------------------------------
|
566 |
| -# --- TBB --- |
567 |
| -if(WITH_TBB) |
568 |
| - include(cmake/OpenCVDetectTBB.cmake REQUIRED) |
569 |
| -endif(WITH_TBB) |
570 |
| - |
571 |
| -# --- IPP --- |
572 |
| -ocv_clear_vars(IPP_FOUND) |
573 |
| -if(WITH_IPP) |
574 |
| - include(cmake/OpenCVFindIPP.cmake) |
575 |
| - if(IPP_FOUND) |
576 |
| - add_definitions(-DHAVE_IPP) |
577 |
| - ocv_include_directories(${IPP_INCLUDE_DIRS}) |
578 |
| - link_directories(${IPP_LIBRARY_DIRS}) |
579 |
| - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${IPP_LIBRARIES}) |
580 |
| - endif() |
581 |
| -endif(WITH_IPP) |
582 |
| - |
583 |
| -# --- CUDA --- |
584 |
| -if(WITH_CUDA) |
585 |
| - include(cmake/OpenCVDetectCUDA.cmake REQUIRED) |
586 |
| -endif(WITH_CUDA) |
587 |
| - |
588 |
| -# --- Eigen --- |
589 |
| -if(WITH_EIGEN) |
590 |
| - find_path(EIGEN_INCLUDE_PATH "Eigen/Core" |
591 |
| - PATHS /usr/local /opt /usr ENV ProgramFiles ENV ProgramW6432 |
592 |
| - PATH_SUFFIXES include/eigen3 include/eigen2 Eigen/include/eigen3 Eigen/include/eigen2 |
593 |
| - DOC "The path to Eigen3/Eigen2 headers") |
594 |
| - |
595 |
| - if(EIGEN_INCLUDE_PATH) |
596 |
| - ocv_include_directories(${EIGEN_INCLUDE_PATH}) |
597 |
| - ocv_parse_header("${EIGEN_INCLUDE_PATH}/Eigen/src/Core/util/Macros.h" EIGEN_VERSION_LINES EIGEN_WORLD_VERSION EIGEN_MAJOR_VERSION EIGEN_MINOR_VERSION) |
598 |
| - set(HAVE_EIGEN 1) |
599 |
| - endif() |
600 |
| -endif(WITH_EIGEN) |
601 |
| - |
602 |
| -# --- Clp --- |
603 |
| -ocv_clear_vars(HAVE_CLP) |
604 |
| -if(WITH_CLP) |
605 |
| - if(UNIX) |
606 |
| - PKG_CHECK_MODULES(CLP clp) |
607 |
| - if(CLP_FOUND) |
608 |
| - set(HAVE_CLP TRUE) |
609 |
| - if(NOT ${CLP_INCLUDE_DIRS} STREQUAL "") |
610 |
| - ocv_include_directories(${CLP_INCLUDE_DIRS}) |
611 |
| - endif() |
612 |
| - link_directories(${CLP_LIBRARY_DIRS}) |
613 |
| - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${CLP_LIBRARIES}) |
614 |
| - endif() |
615 |
| - endif() |
616 |
| - |
617 |
| - if(NOT CLP_FOUND) |
618 |
| - find_path(CLP_INCLUDE_PATH "coin" |
619 |
| - PATHS "/usr/local/include" "/usr/include" "/opt/include" |
620 |
| - DOC "The path to Clp headers") |
621 |
| - if(CLP_INCLUDE_PATH) |
622 |
| - ocv_include_directories(${CLP_INCLUDE_PATH} "${CLP_INCLUDE_PATH}/coin") |
623 |
| - set(CLP_LIBRARY_DIR "${CLP_INCLUDE_PATH}/../lib" CACHE PATH "Full path of Clp library directory") |
624 |
| - link_directories(${CLP_LIBRARY_DIR}) |
625 |
| - if(UNIX) |
626 |
| - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} Clp CoinUtils bz2 z lapack blas m) |
627 |
| - else() |
628 |
| - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} libClp libCoinUtils) |
629 |
| - endif() |
630 |
| - set(HAVE_CLP TRUE) |
631 |
| - endif() |
632 |
| - endif() |
633 |
| -endif(WITH_CLP) |
634 | 348 |
|
635 | 349 | # --- LATEX for pdf documentation ---
|
636 | 350 | if(BUILD_DOCS)
|
|
0 commit comments