diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index 62714d92d..5de6f7399 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -176,15 +176,11 @@ macro(ocv_add_module _name) endif() endif() - # add HAL as dependency - if(NOT "${the_module}" STREQUAL "opencv_hal") - ocv_add_dependencies(${the_module} opencv_hal) - endif() - # add self to the world dependencies if((NOT DEFINED OPENCV_MODULE_IS_PART_OF_WORLD AND NOT OPENCV_MODULE_${the_module}_CLASS STREQUAL "BINDINGS" - AND NOT OPENCV_PROCESSING_EXTRA_MODULES) + AND NOT OPENCV_PROCESSING_EXTRA_MODULES + AND (NOT BUILD_SHARED_LIBS OR NOT "x${OPENCV_MODULE_TYPE}" STREQUAL "xSTATIC")) OR OPENCV_MODULE_IS_PART_OF_WORLD ) set(OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD ON CACHE INTERNAL "") diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt index c45760c65..dbedc5b06 100644 --- a/modules/core/CMakeLists.txt +++ b/modules/core/CMakeLists.txt @@ -1,7 +1,9 @@ set(the_description "The Core Functionality") -ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} "${OPENCL_LIBRARIES}" +ocv_add_module(core + opencv_hal + PRIVATE_REQUIRED ${ZLIB_LIBRARIES} "${OPENCL_LIBRARIES}" OPTIONAL opencv_cudev - WRAP java python) + WRAP java python) set(extra_libs "") diff --git a/modules/hal/CMakeLists.txt b/modules/hal/CMakeLists.txt index b5b2abb81..b04e96b9e 100644 --- a/modules/hal/CMakeLists.txt +++ b/modules/hal/CMakeLists.txt @@ -1,7 +1,6 @@ set(the_description "The Hardware Acceleration Layer (HAL) module") set(OPENCV_MODULE_TYPE STATIC) -# set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE) if(UNIX) if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC) diff --git a/modules/world/CMakeLists.txt b/modules/world/CMakeLists.txt index 8a4170a79..6377853e2 100644 --- a/modules/world/CMakeLists.txt +++ b/modules/world/CMakeLists.txt @@ -35,8 +35,10 @@ set(headers_list "HEADERS") set(sources_list "SOURCES") set(link_deps "") foreach(m ${OPENCV_MODULE_${the_module}_DEPS}) - set(headers_list "${headers_list};${OPENCV_MODULE_${m}_HEADERS}") - set(sources_list "${sources_list};${OPENCV_MODULE_${m}_SOURCES}") + if(OPENCV_MODULE_${m}_IS_PART_OF_WORLD) + set(headers_list "${headers_list};${OPENCV_MODULE_${m}_HEADERS}") + set(sources_list "${sources_list};${OPENCV_MODULE_${m}_SOURCES}") + endif() set(link_deps "${link_deps};${OPENCV_MODULE_${m}_LINK_DEPS}") endforeach()