diff --git a/modules/gpu/CMakeLists.txt b/modules/gpu/CMakeLists.txt index 8d407aea80..58142f31e7 100644 --- a/modules/gpu/CMakeLists.txt +++ b/modules/gpu/CMakeLists.txt @@ -50,21 +50,27 @@ if (HAVE_CUDA) OCV_CUDA_COMPILE(cuda_objs ${lib_cuda} ${ncv_cuda}) #CUDA_BUILD_CLEAN_TARGET() - unset(CUDA_nvcuvid_LIBRARY CACHE) - find_cuda_helper_libs(nvcuvid) + if(NOT APPLE) + unset(CUDA_nvcuvid_LIBRARY CACHE) + find_cuda_helper_libs(nvcuvid) + endif() if(WIN32) unset(CUDA_nvcuvenc_LIBRARY CACHE) find_cuda_helper_libs(nvcuvenc) endif() - set(cuda_link_libs ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY} ${CUDA_nvcuvid_LIBRARY}) + set(cuda_link_libs ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) + + if(NOT APPLE) + set(cuda_link_libs ${cuda_link_libs} ${CUDA_nvcuvid_LIBRARY}) + endif() if(WIN32) set(cuda_link_libs ${cuda_link_libs} ${CUDA_nvcuvenc_LIBRARY}) endif() - if(WITH_FFMPEG) + if(NOT APPLE AND WITH_FFMPEG) set(cuda_link_libs ${cuda_link_libs} ${HIGHGUI_LIBRARIES}) endif() else() diff --git a/modules/gpu/src/ffmpeg_video_source.cpp b/modules/gpu/src/ffmpeg_video_source.cpp index 648bd2b282..b9dd5f19b0 100644 --- a/modules/gpu/src/ffmpeg_video_source.cpp +++ b/modules/gpu/src/ffmpeg_video_source.cpp @@ -42,7 +42,7 @@ #include "ffmpeg_video_source.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) #ifdef HAVE_FFMPEG #include "cap_ffmpeg_impl.hpp" diff --git a/modules/gpu/src/ffmpeg_video_source.h b/modules/gpu/src/ffmpeg_video_source.h index dd267fcf99..f6ba956b3d 100644 --- a/modules/gpu/src/ffmpeg_video_source.h +++ b/modules/gpu/src/ffmpeg_video_source.h @@ -46,7 +46,7 @@ #include "precomp.hpp" #include "thread_wrappers.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) struct InputMediaStream_FFMPEG; diff --git a/modules/gpu/src/frame_queue.cpp b/modules/gpu/src/frame_queue.cpp index 2da4592696..8f89cbeb41 100644 --- a/modules/gpu/src/frame_queue.cpp +++ b/modules/gpu/src/frame_queue.cpp @@ -42,7 +42,7 @@ #include "frame_queue.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) cv::gpu::detail::FrameQueue::FrameQueue() : endOfDecode_(0), diff --git a/modules/gpu/src/frame_queue.h b/modules/gpu/src/frame_queue.h index 040060cde4..2f174d31e6 100644 --- a/modules/gpu/src/frame_queue.h +++ b/modules/gpu/src/frame_queue.h @@ -46,7 +46,7 @@ #include "precomp.hpp" #include "thread_wrappers.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) namespace cv { namespace gpu { diff --git a/modules/gpu/src/precomp.hpp b/modules/gpu/src/precomp.hpp index 4c66f9c2c5..186787b916 100644 --- a/modules/gpu/src/precomp.hpp +++ b/modules/gpu/src/precomp.hpp @@ -88,7 +88,9 @@ #include #endif - #include + #ifndef __APPLE__ + #include + #endif #ifdef WIN32 #include diff --git a/modules/gpu/src/thread_wrappers.cpp b/modules/gpu/src/thread_wrappers.cpp index 5a35258a05..646794f108 100644 --- a/modules/gpu/src/thread_wrappers.cpp +++ b/modules/gpu/src/thread_wrappers.cpp @@ -42,7 +42,7 @@ #include "thread_wrappers.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) #ifdef WIN32 #define NOMINMAX diff --git a/modules/gpu/src/thread_wrappers.h b/modules/gpu/src/thread_wrappers.h index e96957f6f7..fb411d14f6 100644 --- a/modules/gpu/src/thread_wrappers.h +++ b/modules/gpu/src/thread_wrappers.h @@ -45,7 +45,7 @@ #include "precomp.hpp" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) namespace cv { namespace gpu { diff --git a/modules/gpu/src/video_decoder.cpp b/modules/gpu/src/video_decoder.cpp index d1a7cbe1cf..9f06adc9ce 100644 --- a/modules/gpu/src/video_decoder.cpp +++ b/modules/gpu/src/video_decoder.cpp @@ -43,7 +43,7 @@ #include "video_decoder.h" #include "frame_queue.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) void cv::gpu::detail::VideoDecoder::create(const VideoReader_GPU::FormatInfo& videoFormat) { diff --git a/modules/gpu/src/video_decoder.h b/modules/gpu/src/video_decoder.h index 335d214c53..f06f560dd3 100644 --- a/modules/gpu/src/video_decoder.h +++ b/modules/gpu/src/video_decoder.h @@ -46,7 +46,7 @@ #include "precomp.hpp" #include "cu_safe_call.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) namespace cv { namespace gpu { diff --git a/modules/gpu/src/video_parser.cpp b/modules/gpu/src/video_parser.cpp index 7571a6388b..68db6c06cd 100644 --- a/modules/gpu/src/video_parser.cpp +++ b/modules/gpu/src/video_parser.cpp @@ -43,7 +43,7 @@ #include "video_parser.h" #include "cu_safe_call.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) cv::gpu::detail::VideoParser::VideoParser(VideoDecoder* videoDecoder, FrameQueue* frameQueue) : videoDecoder_(videoDecoder), frameQueue_(frameQueue), unparsedPackets_(0), hasError_(false) diff --git a/modules/gpu/src/video_parser.h b/modules/gpu/src/video_parser.h index abbbeaccb2..3b988da457 100644 --- a/modules/gpu/src/video_parser.h +++ b/modules/gpu/src/video_parser.h @@ -48,7 +48,7 @@ #include "frame_queue.h" #include "video_decoder.h" -#ifdef HAVE_CUDA +#if defined(HAVE_CUDA) && !defined(__APPLE__) namespace cv { namespace gpu { diff --git a/modules/gpu/src/video_reader.cpp b/modules/gpu/src/video_reader.cpp index df66fce7a4..b0635eae6d 100644 --- a/modules/gpu/src/video_reader.cpp +++ b/modules/gpu/src/video_reader.cpp @@ -42,7 +42,7 @@ #include "precomp.hpp" -#ifndef HAVE_CUDA +#if !defined(HAVE_CUDA) || defined(__APPLE__) class cv::gpu::VideoReader_GPU::Impl { diff --git a/modules/gpu/src/video_writer.cpp b/modules/gpu/src/video_writer.cpp index 919614eae5..a349c35e56 100644 --- a/modules/gpu/src/video_writer.cpp +++ b/modules/gpu/src/video_writer.cpp @@ -42,7 +42,7 @@ #include "precomp.hpp" -#if !defined HAVE_CUDA || !defined WIN32 +#if !defined(HAVE_CUDA) || !defined(WIN32) class cv::gpu::VideoWriter_GPU::Impl {