Add OpenCV source code
[platform/upstream/opencv.git] / cmake / OpenCVPackaging.cmake
1 if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
2 set(CPACK_set_DESTDIR "on")
3
4 if(NOT OPENCV_CUSTOM_PACKAGE_INFO)
5   set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Open Computer Vision Library")
6   set(CPACK_PACKAGE_DESCRIPTION
7 "OpenCV (Open Source Computer Vision Library) is an open source computer vision
8 and machine learning software library. OpenCV was built to provide a common
9 infrastructure for computer vision applications and to accelerate the use of
10 machine perception in the commercial products. Being a BSD-licensed product,
11 OpenCV makes it easy for businesses to utilize and modify the code.")
12   set(CPACK_PACKAGE_VENDOR "OpenCV Foundation")
13   set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
14   set(CPACK_PACKAGE_CONTACT "admin@opencv.org")
15   set(CPACK_PACKAGE_VERSION_MAJOR "${OPENCV_VERSION_MAJOR}")
16   set(CPACK_PACKAGE_VERSION_MINOR "${OPENCV_VERSION_MINOR}")
17   set(CPACK_PACKAGE_VERSION_PATCH "${OPENCV_VERSION_PATCH}")
18   set(CPACK_PACKAGE_VERSION "${OPENCV_VCSVERSION}")
19 endif(NOT OPENCV_CUSTOM_PACKAGE_INFO)
20
21 #arch
22 if(X86)
23   set(CPACK_DEBIAN_ARCHITECTURE "i386")
24   set(CPACK_RPM_PACKAGE_ARCHITECTURE "i686")
25 elseif(X86_64)
26   set(CPACK_DEBIAN_ARCHITECTURE "amd64")
27   set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
28 elseif(ARM)
29   set(CPACK_DEBIAN_ARCHITECTURE "armhf")
30   set(CPACK_RPM_PACKAGE_ARCHITECTURE "armhf")
31 else()
32   set(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
33   set(CPACK_RPM_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
34 endif()
35
36 if(CPACK_GENERATOR STREQUAL "DEB")
37   set(OPENCV_PACKAGE_ARCH_SUFFIX ${CPACK_DEBIAN_ARCHITECTURE})
38 elseif(CPACK_GENERATOR STREQUAL "RPM")
39   set(OPENCV_PACKAGE_ARCH_SUFFIX ${CPACK_RPM_PACKAGE_ARCHITECTURE})
40 else()
41   set(OPENCV_PACKAGE_ARCH_SUFFIX ${CMAKE_SYSTEM_PROCESSOR})
42 endif()
43
44 set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${OPENCV_VCSVERSION}-${OPENCV_PACKAGE_ARCH_SUFFIX}")
45 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${OPENCV_VCSVERSION}-${OPENCV_PACKAGE_ARCH_SUFFIX}")
46
47 #rpm options
48 set(CPACK_RPM_COMPONENT_INSTALL TRUE)
49 set(CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
50 set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
51 set(CPACK_RPM_PACKAGE_URL "http://opencv.org")
52 set(CPACK_RPM_PACKAGE_LICENSE "BSD")
53
54 #deb options
55 set(CPACK_DEB_COMPONENT_INSTALL TRUE)
56 set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
57 set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
58 set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://opencv.org")
59
60 #depencencies
61 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE)
62 set(CPACK_COMPONENT_samples_DEPENDS libs)
63 set(CPACK_COMPONENT_dev_DEPENDS libs)
64 set(CPACK_COMPONENT_docs_DEPENDS libs)
65 set(CPACK_COMPONENT_java_DEPENDS libs)
66 set(CPACK_COMPONENT_python_DEPENDS libs)
67 set(CPACK_COMPONENT_tests_DEPENDS libs)
68
69 if(HAVE_CUDA)
70   string(REPLACE "." "-" cuda_version_suffix ${CUDA_VERSION})
71   set(CPACK_DEB_libs_PACKAGE_DEPENDS "cuda-core-libs-${cuda_version_suffix}, cuda-extra-libs-${cuda_version_suffix}")
72   set(CPACK_COMPONENT_dev_DEPENDS libs)
73   set(CPACK_DEB_dev_PACKAGE_DEPENDS "cuda-headers-${cuda_version_suffix}")
74 endif()
75
76 if(NOT OPENCV_CUSTOM_PACKAGE_INFO)
77   set(CPACK_COMPONENT_libs_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}")
78   set(CPACK_COMPONENT_libs_DESCRIPTION "Open Computer Vision Library")
79
80   set(CPACK_COMPONENT_python_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-python")
81   set(CPACK_COMPONENT_python_DESCRIPTION "Python bindings for Open Source Computer Vision Library")
82
83   set(CPACK_COMPONENT_java_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-java")
84   set(CPACK_COMPONENT_java_DESCRIPTION "Java bindings for Open Source Computer Vision Library")
85
86   set(CPACK_COMPONENT_dev_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-dev")
87   set(CPACK_COMPONENT_dev_DESCRIPTION "Development files for Open Source Computer Vision Library")
88
89   set(CPACK_COMPONENT_docs_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-docs")
90   set(CPACK_COMPONENT_docs_DESCRIPTION "Documentation for Open Source Computer Vision Library")
91
92   set(CPACK_COMPONENT_samples_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-samples")
93   set(CPACK_COMPONENT_samples_DESCRIPTION "Samples for Open Source Computer Vision Library")
94
95   set(CPACK_COMPONENT_tests_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-tests")
96   set(CPACK_COMPONENT_tests_DESCRIPTION "Accuracy and performance tests for Open Source Computer Vision Library")
97 endif(NOT OPENCV_CUSTOM_PACKAGE_INFO)
98
99 if(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
100   set(CPACK_libs_COMPONENT_INSTALL TRUE)
101   set(CPACK_dev_COMPONENT_INSTALL TRUE)
102   set(CPACK_docs_COMPONENT_INSTALL TRUE)
103   set(CPACK_python_COMPONENT_INSTALL TRUE)
104   set(CPACK_java_COMPONENT_INSTALL TRUE)
105   set(CPACK_samples_COMPONENT_INSTALL TRUE)
106 endif(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
107
108 include(CPack)
109
110 ENDif(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")