Merge pull request #19985 from fpetrogalli:disable_threads
* [build][option] Introduce `OPENCV_DISABLE_THREAD_SUPPORT` option. The option forces the library to build without thread support. * update handling of OPENCV_DISABLE_THREAD_SUPPORT - reduce amount of #if conditions * [to squash] cmake: apply mode vars in toolchains too Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>pull/20400/head
parent
59ae0e0013
commit
b928ebdd53
16 changed files with 435 additions and 16 deletions
@ -0,0 +1,18 @@ |
||||
set(__OCV_MODE_VARS_DIR "${CMAKE_CURRENT_LIST_DIR}") |
||||
|
||||
macro(ocv_change_mode_var) |
||||
set(__var "${ARGV0}") |
||||
set(__mode "${ARGV1}") |
||||
set(__value "${ARGV2}") |
||||
if(__mode STREQUAL "MODIFIED_ACCESS" AND __value) |
||||
if(NOT __applied_mode_${__var}) |
||||
include("${__OCV_MODE_VARS_DIR}/${__var}.cmake") |
||||
set(__applied_mode_${__var} 1) |
||||
else() |
||||
#message("Mode is already applied: ${__var}") |
||||
endif() |
||||
endif() |
||||
endmacro() |
||||
|
||||
variable_watch(OPENCV_DISABLE_THREAD_SUPPORT ocv_change_mode_var) |
||||
set(OPENCV_DISABLE_THREAD_SUPPORT "${OPENCV_DISABLE_THREAD_SUPPORT}") |
@ -0,0 +1,28 @@ |
||||
# Force removal of code conditionally compiled with `#if |
||||
# HAVE_PTHREAD`. |
||||
ocv_update(HAVE_PTHREAD 0) |
||||
|
||||
# There components are disabled because they require |
||||
# multi-threaded execution. |
||||
ocv_update(WITH_PROTOBUF OFF) |
||||
ocv_update(WITH_GSTREAMER OFF) |
||||
ocv_update(WITH_IPP OFF) |
||||
ocv_update(WITH_ITT OFF) |
||||
ocv_update(WITH_OPENCL OFF) |
||||
ocv_update(WITH_VA OFF) |
||||
ocv_update(WITH_VA_INTEL OFF) |
||||
|
||||
# Disable bindings |
||||
ocv_update(BUILD_opencv_python2 OFF) |
||||
ocv_update(BUILD_opencv_python3 OFF) |
||||
ocv_update(BUILD_JAVA OFF) |
||||
ocv_update(BUILD_opencv_java OFF) |
||||
|
||||
# These modules require `#include |
||||
# <[thread|mutex|condition_variable|future]>` and linkage into |
||||
# `libpthread` to work. |
||||
ocv_update(BUILD_opencv_objdetect OFF) |
||||
ocv_update(BUILD_opencv_gapi OFF) |
||||
ocv_update(BUILD_opencv_dnn OFF) |
||||
|
||||
set(OPJ_USE_THREAD "OFF" CACHE INTERNAL "") |
Loading…
Reference in new issue