From 358e59e91b555f686ee3bd2b1dc68433727151c6 Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Tue, 24 Dec 2013 16:36:11 +0400 Subject: [PATCH] Fake dependency from CUDA in case of satic linkage with OpenCV removed. --- cmake/OpenCVGenAndroidMK.cmake | 7 +++++++ cmake/templates/OpenCV.mk.in | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cmake/OpenCVGenAndroidMK.cmake b/cmake/OpenCVGenAndroidMK.cmake index fbac8d2c63..c5a979e44b 100644 --- a/cmake/OpenCVGenAndroidMK.cmake +++ b/cmake/OpenCVGenAndroidMK.cmake @@ -44,6 +44,7 @@ if(ANDROID) # build the list of opencv libs and dependencies for all modules set(OPENCV_MODULES_CONFIGMAKE "") + set(OPENCV_HAVE_GPU_MODULE_CONFIGMAKE "off") set(OPENCV_EXTRA_COMPONENTS_CONFIGMAKE "") set(OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE "") foreach(m ${OPENCV_MODULES_PUBLIC}) @@ -68,6 +69,12 @@ if(ANDROID) list(REMOVE_ITEM OPENCV_MODULES_CONFIGMAKE ${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE}) endif() + # GPU module enabled separately + list(REMOVE_ITEM OPENCV_MODULES_CONFIGMAKE "gpu") + if(HAVE_opencv_gpu) + set(OPENCV_HAVE_GPU_MODULE_CONFIGMAKE "on") + endif() + # convert CMake lists to makefile literals foreach(lst OPENCV_MODULES_CONFIGMAKE OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE OPENCV_EXTRA_COMPONENTS_CONFIGMAKE) ocv_list_unique(${lst}) diff --git a/cmake/templates/OpenCV.mk.in b/cmake/templates/OpenCV.mk.in index fdf700591a..0fd7b9e058 100644 --- a/cmake/templates/OpenCV.mk.in +++ b/cmake/templates/OpenCV.mk.in @@ -13,10 +13,11 @@ OPENCV_BASEDIR:=@OPENCV_BASE_INCLUDE_DIR_CONFIGCMAKE@ OPENCV_LOCAL_C_INCLUDES:=@OPENCV_INCLUDE_DIRS_CONFIGCMAKE@ OPENCV_MODULES:=@OPENCV_MODULES_CONFIGMAKE@ +OPENCV_HAVE_GPU_MODULE=@OPENCV_HAVE_GPU_MODULE_CONFIGMAKE@ OPENCV_USE_GPU_MODULE:= ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) - ifneq ($(findstring gpu,$(OPENCV_MODULES)),) + ifeq ($(OPENCV_HAVE_GPU_MODULE),on) ifneq ($(CUDA_TOOLKIT_DIR),) OPENCV_USE_GPU_MODULE:=on endif @@ -114,6 +115,9 @@ ifeq ($(OPENCV_MK_$(OPENCV_TARGET_ARCH_ABI)_ALREADY_INCLUDED),) ifneq ($(OPENCV_BASEDIR),) OPENCV_LOCAL_C_INCLUDES += $(foreach mod, $(OPENCV_MODULES), $(OPENCV_BASEDIR)/modules/$(mod)/include) + ifeq ($(OPENCV_USE_GPU_MODULE),on) + OPENCV_LOCAL_C_INCLUDES += $(OPENCV_BASEDIR)/modules/gpu/include + endif endif #turn off module installation to prevent their redefinition