4995120fdb36e4ff4e759cd4471fd10fa5d6d11c
[platform/upstream/opencv.git] / cmake / OpenCVInstallLayout.cmake
1 # message(STATUS "Initial install layout:")
2 # ocv_cmake_dump_vars("OPENCV_.*_INSTALL_PATH")
3
4 if(ANDROID)
5
6   ocv_update(OPENCV_BIN_INSTALL_PATH            "sdk/native/bin/${ANDROID_NDK_ABI_NAME}")
7   ocv_update(OPENCV_TEST_INSTALL_PATH           "${OPENCV_BIN_INSTALL_PATH}")
8   ocv_update(OPENCV_SAMPLES_BIN_INSTALL_PATH    "sdk/native/samples/${ANDROID_NDK_ABI_NAME}")
9   ocv_update(OPENCV_LIB_INSTALL_PATH            "sdk/native/libs/${ANDROID_NDK_ABI_NAME}")
10   ocv_update(OPENCV_LIB_ARCHIVE_INSTALL_PATH    "sdk/native/staticlibs/${ANDROID_NDK_ABI_NAME}")
11   ocv_update(OPENCV_3P_LIB_INSTALL_PATH         "sdk/native/3rdparty/libs/${ANDROID_NDK_ABI_NAME}")
12   ocv_update(OPENCV_CONFIG_INSTALL_PATH         "sdk/native/jni")
13   ocv_update(OPENCV_INCLUDE_INSTALL_PATH        "sdk/native/jni/include")
14   ocv_update(OPENCV_OTHER_INSTALL_PATH          "sdk/etc")
15   ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH    "samples/native")
16   ocv_update(OPENCV_LICENSES_INSTALL_PATH       "${OPENCV_OTHER_INSTALL_PATH}/licenses")
17   ocv_update(OPENCV_TEST_DATA_INSTALL_PATH      "sdk/etc/testdata")
18   ocv_update(OPENCV_DOC_INSTALL_PATH            "doc")
19   ocv_update(OPENCV_JAR_INSTALL_PATH            ".")
20   ocv_update(OPENCV_JNI_INSTALL_PATH            "${OPENCV_LIB_INSTALL_PATH}")
21   ocv_update(OPENCV_JNI_BIN_INSTALL_PATH        "${OPENCV_JNI_INSTALL_PATH}")
22
23 elseif(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
24
25   if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
26     ocv_update(OPENCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
27   else()
28     message(STATUS "Can't detect runtime and/or arch")
29     ocv_update(OPENCV_INSTALL_BINARIES_PREFIX "")
30   endif()
31   if(OpenCV_STATIC)
32     ocv_update(OPENCV_INSTALL_BINARIES_SUFFIX "staticlib")
33   else()
34     ocv_update(OPENCV_INSTALL_BINARIES_SUFFIX "lib")
35   endif()
36   if(INSTALL_CREATE_DISTRIB)
37     set(_jni_suffix "/${OpenCV_ARCH}")
38   else()
39     set(_jni_suffix "")
40   endif()
41
42   ocv_update(OPENCV_BIN_INSTALL_PATH           "${OPENCV_INSTALL_BINARIES_PREFIX}bin")
43   ocv_update(OPENCV_TEST_INSTALL_PATH          "${OPENCV_BIN_INSTALL_PATH}")
44   ocv_update(OPENCV_SAMPLES_BIN_INSTALL_PATH   "${OPENCV_INSTALL_BINARIES_PREFIX}samples")
45   ocv_update(OPENCV_LIB_INSTALL_PATH           "${OPENCV_INSTALL_BINARIES_PREFIX}${OPENCV_INSTALL_BINARIES_SUFFIX}")
46   ocv_update(OPENCV_LIB_ARCHIVE_INSTALL_PATH   "${OPENCV_LIB_INSTALL_PATH}")
47   ocv_update(OPENCV_3P_LIB_INSTALL_PATH        "${OPENCV_INSTALL_BINARIES_PREFIX}staticlib")
48   ocv_update(OPENCV_CONFIG_INSTALL_PATH        ".")
49   ocv_update(OPENCV_INCLUDE_INSTALL_PATH       "include")
50   ocv_update(OPENCV_OTHER_INSTALL_PATH         "etc")
51   ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH   "samples")
52   ocv_update(OPENCV_LICENSES_INSTALL_PATH      "${OPENCV_OTHER_INSTALL_PATH}/licenses")
53   ocv_update(OPENCV_TEST_DATA_INSTALL_PATH     "testdata")
54   ocv_update(OPENCV_DOC_INSTALL_PATH           "doc")
55   ocv_update(OPENCV_JAR_INSTALL_PATH           "java")
56   ocv_update(OPENCV_JNI_INSTALL_PATH           "${OPENCV_JAR_INSTALL_PATH}${_jni_suffix}")
57   ocv_update(OPENCV_JNI_BIN_INSTALL_PATH       "${OPENCV_JNI_INSTALL_PATH}")
58
59 else() # UNIX
60
61   include(GNUInstallDirs)
62   ocv_update(OPENCV_BIN_INSTALL_PATH           "bin")
63   ocv_update(OPENCV_TEST_INSTALL_PATH          "${OPENCV_BIN_INSTALL_PATH}")
64   ocv_update(OPENCV_SAMPLES_BIN_INSTALL_PATH   "${OPENCV_BIN_INSTALL_PATH}")
65   ocv_update(OPENCV_LIB_INSTALL_PATH           "${CMAKE_INSTALL_LIBDIR}")
66   ocv_update(OPENCV_LIB_ARCHIVE_INSTALL_PATH   "${OPENCV_LIB_INSTALL_PATH}")
67   ocv_update(OPENCV_3P_LIB_INSTALL_PATH        "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
68   ocv_update(OPENCV_CONFIG_INSTALL_PATH        "share/OpenCV")
69   ocv_update(OPENCV_INCLUDE_INSTALL_PATH       "include")
70   ocv_update(OPENCV_OTHER_INSTALL_PATH         "share/OpenCV")
71   ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH   "share/OpenCV/samples")
72   ocv_update(OPENCV_LICENSES_INSTALL_PATH      "${CMAKE_INSTALL_DATAROOTDIR}/licenses/opencv3")
73   ocv_update(OPENCV_TEST_DATA_INSTALL_PATH     "share/OpenCV/testdata")
74   ocv_update(OPENCV_DOC_INSTALL_PATH           "share/OpenCV/doc")
75   ocv_update(OPENCV_JAR_INSTALL_PATH           "share/OpenCV/java")
76   ocv_update(OPENCV_JNI_INSTALL_PATH           "${OPENCV_JAR_INSTALL_PATH}")
77   ocv_update(OPENCV_JNI_BIN_INSTALL_PATH       "${OPENCV_JNI_INSTALL_PATH}")
78
79 endif()
80
81 ocv_update(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}")
82 set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
83
84 if(INSTALL_TO_MANGLED_PATHS)
85   set(OPENCV_INCLUDE_INSTALL_PATH ${OPENCV_INCLUDE_INSTALL_PATH}/opencv-${OPENCV_VERSION})
86   foreach(v
87       OPENCV_CONFIG_INSTALL_PATH
88       OPENCV_3P_LIB_INSTALL_PATH
89       OPENCV_SAMPLES_SRC_INSTALL_PATH
90       OPENCV_DOC_INSTALL_PATH
91       OPENCV_JAR_INSTALL_PATH
92       OPENCV_TEST_DATA_INSTALL_PATH
93       OPENCV_OTHER_INSTALL_PATH
94     )
95     string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" ${v} "${${v}}")
96     string(REPLACE "opencv" "opencv-${OPENCV_VERSION}" ${v} "${${v}}")
97   endforeach()
98 endif()
99
100 # message(STATUS "Final install layout:")
101 # ocv_cmake_dump_vars("OPENCV_.*_INSTALL_PATH")