mirror of https://github.com/opencv/opencv.git
Merge pull request #13006 from alalek:cmake_setup_vars
cmake: introduce setup_vars scriptspull/13059/head^2
commit
d9be552bbc
6 changed files with 117 additions and 1 deletions
@ -0,0 +1,51 @@ |
||||
if(WIN32) |
||||
ocv_update(OPENCV_SETUPVARS_INSTALL_PATH ".") |
||||
ocv_update(OPENCV_SCRIPT_EXTENSION ".cmd") |
||||
ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_win32.cmd.in") |
||||
else() |
||||
ocv_update(OPENCV_SETUPVARS_INSTALL_PATH "bin") |
||||
ocv_update(OPENCV_SCRIPT_EXTENSION ".sh") |
||||
if(APPLE) |
||||
ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_macosx.sh.in") |
||||
else() |
||||
ocv_update(OPENCV_SETUPVARS_TEMPLATE "setup_vars_linux.sh.in") |
||||
endif() |
||||
endif() |
||||
|
||||
if(INSTALL_TO_MANGLED_PATHS) |
||||
ocv_update(OPENCV_SETUPVARS_FILENAME "setup_vars_opencv-${OPENCV_VERSION}${OPENCV_SCRIPT_EXTENSION}") |
||||
else() |
||||
ocv_update(OPENCV_SETUPVARS_FILENAME setup_vars_opencv3${OPENCV_SCRIPT_EXTENSION}) |
||||
endif() |
||||
|
||||
##### build directory |
||||
if(WIN32) |
||||
set(__build_type "${CMAKE_BUILD_TYPE}") |
||||
if(NOT __build_type) |
||||
set(__build_type "Release") # default |
||||
endif() |
||||
file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG "${OpenCV_BINARY_DIR}/" "${EXECUTABLE_OUTPUT_PATH}/${__build_type}/") |
||||
else() |
||||
file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG "${OpenCV_BINARY_DIR}/" "${LIBRARY_OUTPUT_PATH}/") |
||||
endif() |
||||
set(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "python_loader") # https://github.com/opencv/opencv/pull/12977 |
||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/${OPENCV_SETUPVARS_TEMPLATE}" "${CMAKE_BINARY_DIR}/tmp/setup_vars${OPENCV_SCRIPT_EXTENSION}" @ONLY) |
||||
file(COPY "${CMAKE_BINARY_DIR}/tmp/setup_vars${OPENCV_SCRIPT_EXTENSION}" DESTINATION "${CMAKE_BINARY_DIR}" |
||||
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
||||
|
||||
##### install directory |
||||
if(WIN32) |
||||
file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG |
||||
"${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/${OPENCV_BIN_INSTALL_PATH}/") |
||||
else() |
||||
file(RELATIVE_PATH OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG |
||||
"${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}/") |
||||
endif() |
||||
file(RELATIVE_PATH OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG |
||||
"${CMAKE_INSTALL_PREFIX}/${OPENCV_SETUPVARS_INSTALL_PATH}/" "${CMAKE_INSTALL_PREFIX}/") |
||||
ocv_path_join(OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG "${OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG}" "python_loader") # https://github.com/opencv/opencv/pull/12977 |
||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/${OPENCV_SETUPVARS_TEMPLATE}" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/install/${OPENCV_SETUPVARS_FILENAME}" @ONLY) |
||||
install(FILES "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/install/${OPENCV_SETUPVARS_FILENAME}" |
||||
DESTINATION "${OPENCV_SETUPVARS_INSTALL_PATH}" |
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
||||
COMPONENT scripts) |
@ -0,0 +1,20 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" |
||||
|
||||
[[ ! "${OPENCV_QUIET}" ]] && ( echo "Setting vars for OpenCV @OPENCV_VERSION@" ) |
||||
export LD_LIBRARY_PATH="$SCRIPT_DIR/@OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG@:$LD_LIBRARY_PATH" |
||||
|
||||
if [[ ! "$OPENCV_SKIP_PYTHON" ]]; then |
||||
PYTHONPATH_OPENCV="$SCRIPT_DIR/@OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG@" |
||||
[[ ! "${OPENCV_QUIET}" ]] && ( echo "Append PYTHONPATH: ${PYTHONPATH_OPENCV}" ) |
||||
export PYTHONPATH="${PYTHONPATH_OPENCV}:$PYTHONPATH" |
||||
fi |
||||
|
||||
# Don't exec in "sourced" mode |
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then |
||||
if [[ $# -ne 0 ]]; then |
||||
[[ ! "${OPENCV_QUIET}" && "${OPENCV_VERBOSE}" ]] && ( echo "Executing: $*" ) |
||||
exec "$@" |
||||
fi |
||||
fi |
@ -0,0 +1,20 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" |
||||
|
||||
[[ ! "${OPENCV_QUIET}" ]] && ( echo "Setting vars for OpenCV @OPENCV_VERSION@" ) |
||||
export DYLD_LIBRARY_PATH="$SCRIPT_DIR/@OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG@:$DYLD_LIBRARY_PATH" |
||||
|
||||
if [[ ! "$OPENCV_SKIP_PYTHON" ]]; then |
||||
PYTHONPATH_OPENCV="$SCRIPT_DIR/@OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG@" |
||||
[[ ! "${OPENCV_QUIET}" ]] && ( echo "Append PYTHONPATH: ${PYTHONPATH_OPENCV}" ) |
||||
export PYTHONPATH="${PYTHONPATH_OPENCV}:$PYTHONPATH" |
||||
fi |
||||
|
||||
# Don't exec in "sourced" mode |
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then |
||||
if [[ $# -ne 0 ]]; then |
||||
[[ ! "${OPENCV_QUIET}" && "${OPENCV_VERBOSE}" ]] && ( echo "Executing: $*" ) |
||||
exec "$@" |
||||
fi |
||||
fi |
@ -0,0 +1,18 @@ |
||||
@ECHO OFF |
||||
SETLOCAL EnableDelayedExpansion |
||||
|
||||
SET "SCRIPT_DIR=%~dp0" |
||||
|
||||
IF NOT DEFINED OPENCV_QUIET ( ECHO Setting vars for OpenCV @OPENCV_VERSION@ ) |
||||
SET "PATH=!SCRIPT_DIR!\@OPENCV_LIB_RUNTIME_DIR_RELATIVE_CMAKECONFIG@;%PATH%" |
||||
|
||||
IF NOT DEFINED OPENCV_SKIP_PYTHON ( |
||||
SET "PYTHONPATH_OPENCV=!SCRIPT_DIR!\@OPENCV_PYTHON_DIR_RELATIVE_CMAKECONFIG@" |
||||
IF NOT DEFINED OPENCV_QUIET ( ECHO Append PYTHONPATH: !PYTHONPATH_OPENCV! ) |
||||
SET "PYTHONPATH=!PYTHONPATH_OPENCV!;%PYTHONPATH%" |
||||
) |
||||
|
||||
IF NOT [%1] == [] ( |
||||
%* |
||||
EXIT /B !errorlevel! |
||||
) |
Loading…
Reference in new issue