From: Alexander Smorkalov Date: Fri, 20 Dec 2013 05:46:03 +0000 (+0400) Subject: Build fixes for case where HAVE_CUDA==OFF. X-Git-Tag: accepted/tizen/ivi/20140515.103456~1^2~176^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=529bd41751e526604726ccc9bff68a448693a3be;p=profile%2Fivi%2Fopencv.git Build fixes for case where HAVE_CUDA==OFF. --- diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt index 2409ee9..0d985f2 100644 --- a/modules/core/CMakeLists.txt +++ b/modules/core/CMakeLists.txt @@ -1,6 +1,6 @@ set(the_description "The Core Functionality") -if (ENABLE_DYNAMIC_CUDA) +if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA) ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES}) else() ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) @@ -15,7 +15,9 @@ endif() if(ENABLE_DYNAMIC_CUDA) add_definitions(-DDYNAMIC_CUDA_SUPPORT) else() - add_definitions(-DUSE_CUDA) + if (HAVE_CUDA) + add_definitions(-DUSE_CUDA) + endif() endif() if(HAVE_CUDA) @@ -26,18 +28,18 @@ endif() file(GLOB lib_cuda_hdrs "include/opencv2/${name}/cuda/*.hpp" "include/opencv2/${name}/cuda/*.h") file(GLOB lib_cuda_hdrs_detail "include/opencv2/${name}/cuda/detail/*.hpp" "include/opencv2/${name}/cuda/detail/*.h") -if (NOT ENABLE_DYNAMIC_CUDA) - file(GLOB lib_cuda "../dynamicuda/src/cuda/*.cu*") +if (HAVE_CUDA AND NOT ENABLE_DYNAMIC_CUDA) + file(GLOB lib_cuda "../dynamicuda/src/cuda/*.cu*") endif() source_group("Cuda Headers" FILES ${lib_cuda_hdrs}) source_group("Cuda Headers\\Detail" FILES ${lib_cuda_hdrs_detail}) -if (NOT ENABLE_DYNAMIC_CUDA) +if (HAVE_CUDA AND NOT ENABLE_DYNAMIC_CUDA) source_group("Src\\Cuda" FILES ${lib_cuda} ${lib_cuda_hdrs}) endif() -if (ENABLE_DYNAMIC_CUDA) +if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA) ocv_glob_module_sources(SOURCES "${opencv_core_BINARY_DIR}/version_string.inc" HEADERS ${lib_cuda_hdrs} ${lib_cuda_hdrs_detail}) else() diff --git a/modules/core/src/gpumat.cpp b/modules/core/src/gpumat.cpp index 7a7b91d..310aabd 100644 --- a/modules/core/src/gpumat.cpp +++ b/modules/core/src/gpumat.cpp @@ -229,7 +229,7 @@ static DeviceInfoFuncTable* deviceInfoFuncTable() static CudaDeviceInfoFuncTable impl; static DeviceInfoFuncTable* funcTable = &impl; #else - static EmptyFuncTable stub; + static EmptyDeviceInfoFuncTable stub; static DeviceInfoFuncTable* funcTable = &stub; #endif #endif diff --git a/samples/cpp/stitching_detailed.cpp b/samples/cpp/stitching_detailed.cpp index 49d8608..7394a72 100644 --- a/samples/cpp/stitching_detailed.cpp +++ b/samples/cpp/stitching_detailed.cpp @@ -355,7 +355,7 @@ int main(int argc, char* argv[]) Ptr finder; if (features_type == "surf") { -#if defined(HAVE_OPENCV_NONFREE) && defined(HAVE_OPENCV_GPU) +#if defined(HAVE_OPENCV_NONFREE) && defined(HAVE_OPENCV_GPU) && !defined(ANDROID) if (try_gpu && gpu::getCudaEnabledDeviceCount() > 0) finder = new SurfFeaturesFinderGpu(); else @@ -543,7 +543,7 @@ int main(int argc, char* argv[]) // Warp images and their masks Ptr warper_creator; -#ifdef HAVE_OPENCV_GPU +#if defined(HAVE_OPENCV_GPU) && !defined(ANDROID) if (try_gpu && gpu::getCudaEnabledDeviceCount() > 0) { if (warp_type == "plane") warper_creator = new cv::PlaneWarperGpu(); @@ -608,7 +608,7 @@ int main(int argc, char* argv[]) seam_finder = new detail::VoronoiSeamFinder(); else if (seam_find_type == "gc_color") { -#ifdef HAVE_OPENCV_GPU +#if defined(HAVE_OPENCV_GPU) && !defined(ANDROID) if (try_gpu && gpu::getCudaEnabledDeviceCount() > 0) seam_finder = new detail::GraphCutSeamFinderGpu(GraphCutSeamFinderBase::COST_COLOR); else @@ -617,7 +617,7 @@ int main(int argc, char* argv[]) } else if (seam_find_type == "gc_colorgrad") { -#ifdef HAVE_OPENCV_GPU +#if defined(HAVE_OPENCV_GPU) && !defined(ANDROID) if (try_gpu && gpu::getCudaEnabledDeviceCount() > 0) seam_finder = new detail::GraphCutSeamFinderGpu(GraphCutSeamFinderBase::COST_COLOR_GRAD); else