Add python3-setuptools dependency for python 3.12
[platform/upstream/opencv.git] / cmake / OpenCVGenSetupVars.cmake
1 if(WIN32)
2   ocv_update(OPENCV_SETUPVARS_INSTALL_PATH ".")
3   ocv_update(OPENCV_SCRIPT_EXTENSION ".cmd")
4   ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_win32.cmd.in")
5 else()
6   ocv_update(OPENCV_SETUPVARS_INSTALL_PATH "bin")
7   ocv_update(OPENCV_SCRIPT_EXTENSION ".sh")
8   if(APPLE)
9     ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_macosx.sh.in")
10   else()
11     ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_linux.sh.in")
12   endif()
13 endif()
14
15 if(INSTALL_TO_MANGLED_PATHS)
16   ocv_update(OPENCV_SETUPVARS_FILENAME "setup_vars_opencv-${OPENCV_VERSION}${OPENCV_SCRIPT_EXTENSION}")
17 else()
18   ocv_update(OPENCV_SETUPVARS_FILENAME setup_vars_opencv4${OPENCV_SCRIPT_EXTENSION})
19 endif()
20
21 ##### build directory
22 if(WIN32)
23   set(__build_type "${CMAKE_BUILD_TYPE}")
24   if(NOT __build_type)
25     set(__build_type "Release")  # default
26   endif()
27   file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG "${OpenCV_BINARY_DIR}/" "${EXECUTABLE_OUTPUT_PATH}/${__build_type}/")
28 else()
29   file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG "${OpenCV_BINARY_DIR}/" "${LIBRARY_OUTPUT_PATH}/")
30 endif()
31 set(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "python_loader")  # https://github.com/opencv/opencv/pull/12977
32 configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/${OPENCV_SETUPVARS_TEMPLATE}" "${CMAKE_BINARY_DIR}/tmp/setup_vars${OPENCV_SCRIPT_EXTENSION}" @ONLY)
33 file(COPY "${CMAKE_BINARY_DIR}/tmp/setup_vars${OPENCV_SCRIPT_EXTENSION}" DESTINATION "${CMAKE_BINARY_DIR}"
34     FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
35
36 ##### install directory
37 if(WIN32)
38   file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG
39       "${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/${OPENCV_BIN_INSTALL_PATH}/")
40 else()
41   file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG
42       "${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}/")
43 endif()
44 file(RELATIVE_PATH OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG
45     "${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/")
46 if(DEFINED OPENCV_PYTHON_INSTALL_PATH)
47   set(__python_path "${OPENCV_PYTHON_INSTALL_PATH}")
48 elseif(DEFINED OPENCV_PYTHON_INSTALL_PATH_SETUPVARS)
49   set(__python_path "${OPENCV_PYTHON_INSTALL_PATH_SETUPVARS}")
50 endif()
51 if(DEFINED __python_path)
52   if(IS_ABSOLUTE "${__python_path}")
53     set(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "${__python_path}")
54     message(WARNING "CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install directory")
55   else()
56     ocv_path_join(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "${OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG}" "${__python_path}")
57   endif()
58 else()
59   if(DEFINED OPENCV_PYTHON3_INSTALL_PATH)
60     ocv_path_join(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "${OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG}" "${OPENCV_PYTHON3_INSTALL_PATH}")
61   else()
62     set(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "python_loader_is_not_installed")
63   endif()
64 endif()
65 configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/${OPENCV_SETUPVARS_TEMPLATE}" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/install/${OPENCV_SETUPVARS_FILENAME}" @ONLY)
66 install(FILES "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/install/${OPENCV_SETUPVARS_FILENAME}"
67     DESTINATION "${OPENCV_SETUPVARS_INSTALL_PATH}"
68     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
69     COMPONENT scripts)