Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
700f7a27
Commit
700f7a27
authored
Aug 29, 2019
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15418 from mshabunin:try-install-layout-34
parents
e3193402
8c849a48
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
114 additions
and
136 deletions
+114
-136
CMakeLists.txt
CMakeLists.txt
+12
-126
OpenCVDetectPython.cmake
cmake/OpenCVDetectPython.cmake
+0
-4
OpenCVGenConfig.cmake
cmake/OpenCVGenConfig.cmake
+1
-6
OpenCVInstallLayout.cmake
cmake/OpenCVInstallLayout.cmake
+101
-0
No files found.
CMakeLists.txt
View file @
700f7a27
...
...
@@ -508,144 +508,28 @@ ocv_cmake_hook(POST_OPTIONS)
# Build & install layouts
# ----------------------------------------------------------------------------
# Save libs and executables in the same place
set
(
EXECUTABLE_OUTPUT_PATH
"
${
CMAKE_BINARY_DIR
}
/bin"
CACHE PATH
"Output directory for applications"
)
if
(
ANDROID
)
if
(
ANDROID_ABI MATCHES
"NEON"
)
set
(
ENABLE_NEON ON
)
endif
()
if
(
ANDROID_ABI MATCHES
"VFPV3"
)
set
(
ENABLE_VFPV3 ON
)
endif
()
endif
()
if
(
ANDROID OR WIN32
)
ocv_update
(
OPENCV_DOC_INSTALL_PATH doc
)
else
()
ocv_update
(
OPENCV_DOC_INSTALL_PATH share/OpenCV/doc
)
endif
()
if
(
WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows
)
if
(
DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH
)
ocv_update
(
OpenCV_INSTALL_BINARIES_PREFIX
"
${
OpenCV_ARCH
}
/
${
OpenCV_RUNTIME
}
/"
)
else
()
message
(
STATUS
"Can't detect runtime and/or arch"
)
ocv_update
(
OpenCV_INSTALL_BINARIES_PREFIX
""
)
endif
()
elseif
(
ANDROID
)
ocv_update
(
OpenCV_INSTALL_BINARIES_PREFIX
"sdk/native/"
)
else
()
ocv_update
(
OpenCV_INSTALL_BINARIES_PREFIX
""
)
endif
()
if
(
ANDROID
)
ocv_update
(
OPENCV_SAMPLES_BIN_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
samples/
${
ANDROID_NDK_ABI_NAME
}
"
)
else
()
ocv_update
(
OPENCV_SAMPLES_BIN_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
samples"
)
endif
()
if
(
ANDROID
)
ocv_update
(
OPENCV_BIN_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
bin/
${
ANDROID_NDK_ABI_NAME
}
"
)
else
()
ocv_update
(
OPENCV_BIN_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
bin"
)
endif
()
if
(
NOT OPENCV_TEST_INSTALL_PATH
)
ocv_update
(
OPENCV_TEST_INSTALL_PATH
"
${
OPENCV_BIN_INSTALL_PATH
}
"
)
endif
()
if
(
OPENCV_TEST_DATA_PATH
)
if
(
OPENCV_TEST_DATA_PATH
)
get_filename_component
(
OPENCV_TEST_DATA_PATH
${
OPENCV_TEST_DATA_PATH
}
ABSOLUTE
)
endif
()
if
(
ANDROID
)
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"sdk/etc/testdata"
)
elseif
(
WIN32
)
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"testdata"
)
else
()
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"share/OpenCV/testdata"
)
endif
()
# Save libs and executables in the same place
set
(
EXECUTABLE_OUTPUT_PATH
"
${
CMAKE_BINARY_DIR
}
/bin"
CACHE PATH
"Output directory for applications"
)
if
(
ANDROID
)
set
(
LIBRARY_OUTPUT_PATH
"
${
OpenCV_BINARY_DIR
}
/lib/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
3P_LIBRARY_OUTPUT_PATH
"
${
OpenCV_BINARY_DIR
}
/3rdparty/lib/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH sdk/native/libs/
${
ANDROID_NDK_ABI_NAME
}
)
ocv_update
(
OPENCV_LIB_ARCHIVE_INSTALL_PATH sdk/native/staticlibs/
${
ANDROID_NDK_ABI_NAME
}
)
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH sdk/native/3rdparty/libs/
${
ANDROID_NDK_ABI_NAME
}
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH sdk/native/jni
)
ocv_update
(
OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH sdk/etc
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
OPENCV_OTHER_INSTALL_PATH
}
/licenses"
)
else
()
set
(
LIBRARY_OUTPUT_PATH
"
${
OpenCV_BINARY_DIR
}
/lib"
)
ocv_update
(
3P_LIBRARY_OUTPUT_PATH
"
${
OpenCV_BINARY_DIR
}
/3rdparty/lib
${
LIB_SUFFIX
}
"
)
if
(
WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows
)
if
(
OpenCV_STATIC
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
staticlib
${
LIB_SUFFIX
}
"
)
else
()
ocv_update
(
OPENCV_LIB_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
lib
${
LIB_SUFFIX
}
"
)
endif
()
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}
staticlib
${
LIB_SUFFIX
}
"
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH samples
)
ocv_update
(
OPENCV_JAR_INSTALL_PATH java
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH etc
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH
"."
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
OPENCV_OTHER_INSTALL_PATH
}
/licenses"
)
else
()
include
(
GNUInstallDirs
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH
${
CMAKE_INSTALL_LIBDIR
}
)
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/
${
OPENCV_LIB_INSTALL_PATH
}
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples
)
ocv_update
(
OPENCV_JAR_INSTALL_PATH share/OpenCV/java
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH share/OpenCV
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
CMAKE_INSTALL_DATAROOTDIR
}
/licenses/opencv3"
)
if
(
NOT DEFINED OPENCV_CONFIG_INSTALL_PATH
)
math
(
EXPR SIZEOF_VOID_P_BITS
"8 *
${
CMAKE_SIZEOF_VOID_P
}
"
)
if
(
LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH
${
CMAKE_INSTALL_LIBDIR
}
/cmake/opencv
)
else
()
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH share/OpenCV
)
endif
()
endif
()
endif
()
ocv_update
(
OPENCV_INCLUDE_INSTALL_PATH
"include"
)
#ocv_update(OPENCV_PYTHON_INSTALL_PATH "python") # no default value, see https://github.com/opencv/opencv/issues/13202
endif
()
ocv_update
(
CMAKE_INSTALL_RPATH
"
${
CMAKE_INSTALL_PREFIX
}
/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
set
(
CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE
)
if
(
INSTALL_TO_MANGLED_PATHS
)
set
(
OPENCV_INCLUDE_INSTALL_PATH
${
OPENCV_INCLUDE_INSTALL_PATH
}
/opencv-
${
OPENCV_VERSION
}
)
foreach
(
v
OPENCV_3P_LIB_INSTALL_PATH
OPENCV_SAMPLES_SRC_INSTALL_PATH
OPENCV_CONFIG_INSTALL_PATH
OPENCV_DOC_INSTALL_PATH
OPENCV_JAR_INSTALL_PATH
OPENCV_TEST_DATA_INSTALL_PATH
OPENCV_OTHER_INSTALL_PATH
)
string
(
REPLACE
"OpenCV"
"OpenCV-
${
OPENCV_VERSION
}
"
${
v
}
"
${${
v
}}
"
)
string
(
REPLACE
"opencv"
"opencv-
${
OPENCV_VERSION
}
"
${
v
}
"
${${
v
}}
"
)
endforeach
()
ocv_update
(
3P_LIBRARY_OUTPUT_PATH
"
${
OpenCV_BINARY_DIR
}
/3rdparty/lib"
)
endif
()
if
(
ANDROID
)
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_LIB_INSTALL_PATH
}
"
)
elseif
(
INSTALL_CREATE_DISTRIB
)
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_JAR_INSTALL_PATH
}
/
${
OpenCV_ARCH
}
"
)
else
()
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_JAR_INSTALL_PATH
}
"
)
endif
()
ocv_update
(
OPENCV_JNI_BIN_INSTALL_PATH
"
${
OPENCV_JNI_INSTALL_PATH
}
"
)
if
(
NOT OPENCV_LIB_ARCHIVE_INSTALL_PATH
)
set
(
OPENCV_LIB_ARCHIVE_INSTALL_PATH
${
OPENCV_LIB_INSTALL_PATH
}
)
if
(
ANDROID_ABI MATCHES
"NEON"
)
set
(
ENABLE_NEON ON
)
endif
()
if
(
ANDROID_ABI MATCHES
"VFPV3"
)
set
(
ENABLE_VFPV3 ON
)
endif
()
endif
()
if
(
WIN32
)
...
...
@@ -666,6 +550,8 @@ if((INSTALL_CREATE_DISTRIB AND BUILD_SHARED_LIBS AND NOT DEFINED BUILD_opencv_wo
set
(
BUILD_opencv_world ON CACHE INTERNAL
""
)
endif
()
include
(
cmake/OpenCVInstallLayout.cmake
)
# ----------------------------------------------------------------------------
# Path for build/platform -specific headers
# ----------------------------------------------------------------------------
...
...
cmake/OpenCVDetectPython.cmake
View file @
700f7a27
...
...
@@ -186,11 +186,7 @@ if(NOT ${found})
else
()
#debian based assumed, install to the dist-packages.
set
(
_packages_path
"python
${
_version_major_minor
}
/dist-packages"
)
endif
()
if
(
EXISTS
"
${
CMAKE_INSTALL_PREFIX
}
/lib
${
LIB_SUFFIX
}
/
${${
packages_path
}}
"
)
set
(
_packages_path
"lib
${
LIB_SUFFIX
}
/
${
_packages_path
}
"
)
else
()
set
(
_packages_path
"lib/
${
_packages_path
}
"
)
endif
()
elseif
(
CMAKE_HOST_WIN32
)
get_filename_component
(
_path
"
${
_executable
}
"
PATH
)
file
(
TO_CMAKE_PATH
"
${
_path
}
"
_path
)
...
...
cmake/OpenCVGenConfig.cmake
View file @
700f7a27
...
...
@@ -123,12 +123,7 @@ endif()
# --------------------------------------------------------------------------------------------
if
(
WIN32
)
if
(
CMAKE_HOST_SYSTEM_NAME MATCHES Windows
)
if
(
BUILD_SHARED_LIBS
)
set
(
_lib_suffix
"lib"
)
else
()
set
(
_lib_suffix
"staticlib"
)
endif
()
ocv_gen_config
(
"
${
CMAKE_BINARY_DIR
}
/win-install"
"
${
OpenCV_INSTALL_BINARIES_PREFIX
}${
_lib_suffix
}
"
"OpenCVConfig.root-WIN32.cmake.in"
)
ocv_gen_config
(
"
${
CMAKE_BINARY_DIR
}
/win-install"
"
${
OPENCV_LIB_INSTALL_PATH
}
"
"OpenCVConfig.root-WIN32.cmake.in"
)
else
()
ocv_gen_config
(
"
${
CMAKE_BINARY_DIR
}
/win-install"
""
""
)
endif
()
...
...
cmake/OpenCVInstallLayout.cmake
0 → 100644
View file @
700f7a27
# message(STATUS "Initial install layout:")
# ocv_cmake_dump_vars("OPENCV_.*_INSTALL_PATH")
if
(
ANDROID
)
ocv_update
(
OPENCV_BIN_INSTALL_PATH
"sdk/native/bin/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_TEST_INSTALL_PATH
"
${
OPENCV_BIN_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_SAMPLES_BIN_INSTALL_PATH
"sdk/native/samples/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH
"sdk/native/libs/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_LIB_ARCHIVE_INSTALL_PATH
"sdk/native/staticlibs/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH
"sdk/native/3rdparty/libs/
${
ANDROID_NDK_ABI_NAME
}
"
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH
"sdk/native/jni"
)
ocv_update
(
OPENCV_INCLUDE_INSTALL_PATH
"sdk/native/jni/include"
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH
"sdk/etc"
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH
"samples/native"
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
OPENCV_OTHER_INSTALL_PATH
}
/licenses"
)
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"sdk/etc/testdata"
)
ocv_update
(
OPENCV_DOC_INSTALL_PATH
"doc"
)
ocv_update
(
OPENCV_JAR_INSTALL_PATH
"."
)
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_LIB_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_JNI_BIN_INSTALL_PATH
"
${
OPENCV_JNI_INSTALL_PATH
}
"
)
elseif
(
WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows
)
if
(
DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH
)
set
(
_prefix
"
${
OpenCV_ARCH
}
/
${
OpenCV_RUNTIME
}
/"
)
else
()
message
(
STATUS
"Can't detect runtime and/or arch"
)
set
(
_prefix
""
)
endif
()
if
(
OpenCV_STATIC
)
set
(
_suffix
"staticlib"
)
else
()
set
(
_suffix
"lib"
)
endif
()
if
(
INSTALL_CREATE_DISTRIB
)
set
(
_jni_suffix
"/
${
OpenCV_ARCH
}
"
)
else
()
set
(
_jni_suffix
""
)
endif
()
ocv_update
(
OPENCV_BIN_INSTALL_PATH
"
${
_prefix
}
bin"
)
ocv_update
(
OPENCV_TEST_INSTALL_PATH
"
${
OPENCV_BIN_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_SAMPLES_BIN_INSTALL_PATH
"
${
_prefix
}
samples"
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH
"
${
_prefix
}${
_suffix
}
"
)
ocv_update
(
OPENCV_LIB_ARCHIVE_INSTALL_PATH
"
${
OPENCV_LIB_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH
"
${
_prefix
}
staticlib"
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH
"."
)
ocv_update
(
OPENCV_INCLUDE_INSTALL_PATH
"include"
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH
"etc"
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH
"samples"
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
OPENCV_OTHER_INSTALL_PATH
}
/licenses"
)
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"testdata"
)
ocv_update
(
OPENCV_DOC_INSTALL_PATH
"doc"
)
ocv_update
(
OPENCV_JAR_INSTALL_PATH
"java"
)
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_JAR_INSTALL_PATH
}${
_jni_suffix
}
"
)
ocv_update
(
OPENCV_JNI_BIN_INSTALL_PATH
"
${
OPENCV_JNI_INSTALL_PATH
}
"
)
else
()
# UNIX
include
(
GNUInstallDirs
)
ocv_update
(
OPENCV_BIN_INSTALL_PATH
"bin"
)
ocv_update
(
OPENCV_TEST_INSTALL_PATH
"
${
OPENCV_BIN_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_SAMPLES_BIN_INSTALL_PATH
"
${
OPENCV_BIN_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_LIB_INSTALL_PATH
"
${
CMAKE_INSTALL_LIBDIR
}
"
)
ocv_update
(
OPENCV_LIB_ARCHIVE_INSTALL_PATH
"
${
OPENCV_LIB_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_3P_LIB_INSTALL_PATH
"share/OpenCV/3rdparty/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_CONFIG_INSTALL_PATH
"share/OpenCV"
)
ocv_update
(
OPENCV_INCLUDE_INSTALL_PATH
"include"
)
ocv_update
(
OPENCV_OTHER_INSTALL_PATH
"share/OpenCV"
)
ocv_update
(
OPENCV_SAMPLES_SRC_INSTALL_PATH
"share/OpenCV/samples"
)
ocv_update
(
OPENCV_LICENSES_INSTALL_PATH
"
${
CMAKE_INSTALL_DATAROOTDIR
}
/licenses/opencv3"
)
ocv_update
(
OPENCV_TEST_DATA_INSTALL_PATH
"share/OpenCV/testdata"
)
ocv_update
(
OPENCV_DOC_INSTALL_PATH
"share/OpenCV/doc"
)
ocv_update
(
OPENCV_JAR_INSTALL_PATH
"share/OpenCV/java"
)
ocv_update
(
OPENCV_JNI_INSTALL_PATH
"
${
OPENCV_JAR_INSTALL_PATH
}
"
)
ocv_update
(
OPENCV_JNI_BIN_INSTALL_PATH
"
${
OPENCV_JNI_INSTALL_PATH
}
"
)
endif
()
ocv_update
(
CMAKE_INSTALL_RPATH
"
${
CMAKE_INSTALL_PREFIX
}
/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
set
(
CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE
)
if
(
INSTALL_TO_MANGLED_PATHS
)
set
(
OPENCV_INCLUDE_INSTALL_PATH
${
OPENCV_INCLUDE_INSTALL_PATH
}
/opencv-
${
OPENCV_VERSION
}
)
foreach
(
v
OPENCV_CONFIG_INSTALL_PATH
OPENCV_3P_LIB_INSTALL_PATH
OPENCV_SAMPLES_SRC_INSTALL_PATH
OPENCV_DOC_INSTALL_PATH
OPENCV_JAR_INSTALL_PATH
OPENCV_TEST_DATA_INSTALL_PATH
OPENCV_OTHER_INSTALL_PATH
)
string
(
REPLACE
"OpenCV"
"OpenCV-
${
OPENCV_VERSION
}
"
${
v
}
"
${${
v
}}
"
)
string
(
REPLACE
"opencv"
"opencv-
${
OPENCV_VERSION
}
"
${
v
}
"
${${
v
}}
"
)
endforeach
()
endif
()
# message(STATUS "Final install layout:")
# ocv_cmake_dump_vars("OPENCV_.*_INSTALL_PATH")
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment