From 4adede4246c57c4685be908c09fff9601019186d Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 4 Oct 2013 17:15:02 +0400 Subject: [PATCH] cmake: python module updates --- cmake/OpenCVDetectPython.cmake | 1 + cmake/OpenCVUtils.cmake | 11 +++++++++++ modules/python/CMakeLists.txt | 33 ++++++++++++++++++++++++++------- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/cmake/OpenCVDetectPython.cmake b/cmake/OpenCVDetectPython.cmake index 54ddac15d1..3326bcd98e 100644 --- a/cmake/OpenCVDetectPython.cmake +++ b/cmake/OpenCVDetectPython.cmake @@ -37,6 +37,7 @@ if(PYTHON_EXECUTABLE) endif() if(NOT ANDROID AND NOT IOS) + ocv_check_environment_variables(PYTHON_LIBRARY PYTHON_INCLUDE_DIR) if(CMAKE_VERSION VERSION_GREATER 2.8.8 AND PYTHON_VERSION_FULL) find_host_package(PythonLibs ${PYTHON_VERSION_FULL} EXACT) else() diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake index 78d5a99f6d..2fb8335884 100644 --- a/cmake/OpenCVUtils.cmake +++ b/cmake/OpenCVUtils.cmake @@ -11,6 +11,17 @@ if(NOT COMMAND find_host_program) endmacro() endif() +macro(ocv_check_environment_variables) + foreach(_var ${ARGN}) + if(NOT DEFINED ${_var} AND DEFINED ENV{${_var}}) + set(__value "$ENV{${_var}}") + file(TO_CMAKE_PATH "${__value}" __value) # Assume that we receive paths + set(${_var} "${__value}") + message(STATUS "Update variable ${_var} from environment: ${${_var}}") + endif() + endforeach() +endmacro() + # adds include directories in such way that directories from the OpenCV source tree go first function(ocv_include_directories) set(__add_before "") diff --git a/modules/python/CMakeLists.txt b/modules/python/CMakeLists.txt index 9db2c8aae8..2c44a3906d 100644 --- a/modules/python/CMakeLists.txt +++ b/modules/python/CMakeLists.txt @@ -105,10 +105,29 @@ else() set(PYTHON_INSTALL_CONFIGURATIONS "") endif() -install(TARGETS ${the_module} - ${PYTHON_INSTALL_CONFIGURATIONS} - RUNTIME DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main - LIBRARY DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main - ARCHIVE DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main - ) -install(FILES src2/cv.py ${PYTHON_INSTALL_CONFIGURATIONS} DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main) +if(WIN32) + set(PYTHON_INSTALL_ARCHIVE "") +else() + set(PYTHON_INSTALL_ARCHIVE ARCHIVE DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main) +endif() + +if(NOT INSTALL_CREATE_DISTRIB) + install(TARGETS ${the_module} + ${PYTHON_INSTALL_CONFIGURATIONS} + RUNTIME DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main + LIBRARY DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main + ${PYTHON_INSTALL_ARCHIVE} + ) + install(FILES src2/cv.py ${PYTHON_INSTALL_CONFIGURATIONS} DESTINATION ${PYTHON_PACKAGES_PATH} COMPONENT main) +else() + if(DEFINED PYTHON_VERSION_MAJOR) + set(__ver "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") + else() + set(__ver "unknown") + endif() + install(TARGETS ${the_module} + CONFIGURATIONS Release + RUNTIME DESTINATION python/${__ver}/${OpenCV_ARCH} COMPONENT main + LIBRARY DESTINATION python/${__ver}/${OpenCV_ARCH} COMPONENT main + ) +endif() -- GitLab