From 7bbe002a2f60d7865467e920e59b6d134e1cf9fd Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Mon, 26 Feb 2018 21:10:21 +0300 Subject: [PATCH] Add install component for 3rdparty libraries licenses --- 3rdparty/cpufeatures/CMakeLists.txt | 2 ++ 3rdparty/include/opencl/LICENSE.txt | 25 ++++++++++++++++++++ 3rdparty/ittnotify/CMakeLists.txt | 2 ++ 3rdparty/libjasper/CMakeLists.txt | 2 ++ 3rdparty/libjpeg/CMakeLists.txt | 2 ++ 3rdparty/libpng/CMakeLists.txt | 4 +++- 3rdparty/libtiff/CMakeLists.txt | 2 ++ 3rdparty/openexr/CMakeLists.txt | 2 ++ 3rdparty/protobuf/CMakeLists.txt | 2 ++ 3rdparty/tbb/CMakeLists.txt | 2 ++ 3rdparty/zlib/CMakeLists.txt | 2 ++ cmake/OpenCVDetectOpenCL.cmake | 1 + cmake/OpenCVFindIPP.cmake | 1 + cmake/OpenCVFindIPPIW.cmake | 15 +++++++++++- cmake/OpenCVUtils.cmake | 12 ++++++++++ modules/core/3rdparty/SoftFloat/COPYING.txt | 36 +++++++++++++++++++++++++++++ modules/core/CMakeLists.txt | 2 ++ 17 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 3rdparty/include/opencl/LICENSE.txt create mode 100644 modules/core/3rdparty/SoftFloat/COPYING.txt diff --git a/3rdparty/cpufeatures/CMakeLists.txt b/3rdparty/cpufeatures/CMakeLists.txt index 6b19574..92bce6a 100644 --- a/3rdparty/cpufeatures/CMakeLists.txt +++ b/3rdparty/cpufeatures/CMakeLists.txt @@ -31,3 +31,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${OPENCV_CPUFEATURES_TARGET_NAME} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(cpufeatures LICENSE README.md) diff --git a/3rdparty/include/opencl/LICENSE.txt b/3rdparty/include/opencl/LICENSE.txt new file mode 100644 index 0000000..020ce65 --- /dev/null +++ b/3rdparty/include/opencl/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (c) 2008-2015 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. diff --git a/3rdparty/ittnotify/CMakeLists.txt b/3rdparty/ittnotify/CMakeLists.txt index e8b2d28..2acb534 100644 --- a/3rdparty/ittnotify/CMakeLists.txt +++ b/3rdparty/ittnotify/CMakeLists.txt @@ -60,3 +60,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${ITT_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(ittnotify src/ittnotify/LICENSE.BSD src/ittnotify/LICENSE.GPL) diff --git a/3rdparty/libjasper/CMakeLists.txt b/3rdparty/libjasper/CMakeLists.txt index 13200eb..29349e0 100644 --- a/3rdparty/libjasper/CMakeLists.txt +++ b/3rdparty/libjasper/CMakeLists.txt @@ -47,3 +47,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${JASPER_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(jasper LICENSE README copyright) diff --git a/3rdparty/libjpeg/CMakeLists.txt b/3rdparty/libjpeg/CMakeLists.txt index c5509ca..f686baf 100644 --- a/3rdparty/libjpeg/CMakeLists.txt +++ b/3rdparty/libjpeg/CMakeLists.txt @@ -51,3 +51,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${JPEG_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(libjpeg README) diff --git a/3rdparty/libpng/CMakeLists.txt b/3rdparty/libpng/CMakeLists.txt index b5f36a1..01ac496 100644 --- a/3rdparty/libpng/CMakeLists.txt +++ b/3rdparty/libpng/CMakeLists.txt @@ -48,7 +48,7 @@ if(PPC64LE OR PPC64) list(APPEND lib_srcs powerpc/powerpc_init.c powerpc/filter_vsx_intrinsics.c) add_definitions(-DPNG_POWERPC_VSX_OPT=2) else() - add_definitions(-DPNG_POWERPC_VSX_OPT=0) + add_definitions(-DPNG_POWERPC_VSX_OPT=0) endif() endif() @@ -80,3 +80,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${PNG_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(libpng LICENSE README opencv-libpng.patch) diff --git a/3rdparty/libtiff/CMakeLists.txt b/3rdparty/libtiff/CMakeLists.txt index 73717e2..9d575bc 100644 --- a/3rdparty/libtiff/CMakeLists.txt +++ b/3rdparty/libtiff/CMakeLists.txt @@ -470,3 +470,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${TIFF_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(libtiff COPYRIGHT) diff --git a/3rdparty/openexr/CMakeLists.txt b/3rdparty/openexr/CMakeLists.txt index 7302441..730b9a0 100644 --- a/3rdparty/openexr/CMakeLists.txt +++ b/3rdparty/openexr/CMakeLists.txt @@ -76,5 +76,7 @@ if(NOT BUILD_SHARED_LIBS) ocv_install_target(IlmImf EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() +ocv_install_3rdparty_licenses(openexr LICENSE AUTHORS.ilmbase AUTHORS.openexr fix_msvc2013_errors.patch) + set(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATHS} PARENT_SCOPE) set(OPENEXR_VERSION "1.7.1" PARENT_SCOPE) diff --git a/3rdparty/protobuf/CMakeLists.txt b/3rdparty/protobuf/CMakeLists.txt index a10e20b..f5ca6f1 100644 --- a/3rdparty/protobuf/CMakeLists.txt +++ b/3rdparty/protobuf/CMakeLists.txt @@ -150,3 +150,5 @@ set(Protobuf_VERSION ${Protobuf_VERSION} CACHE INTERNAL "" FORCE) if(NOT BUILD_SHARED_LIBS) ocv_install_target(libprotobuf EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(protobuf LICENSE README.md) diff --git a/3rdparty/tbb/CMakeLists.txt b/3rdparty/tbb/CMakeLists.txt index f2b7b28..5fe6086 100644 --- a/3rdparty/tbb/CMakeLists.txt +++ b/3rdparty/tbb/CMakeLists.txt @@ -156,4 +156,6 @@ ocv_install_target(tbb EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev ) +ocv_install_3rdparty_licenses(tbb "${tbb_src_dir}/LICENSE" "${tbb_src_dir}/README") + ocv_tbb_read_version("${tbb_src_dir}/include") diff --git a/3rdparty/zlib/CMakeLists.txt b/3rdparty/zlib/CMakeLists.txt index cd1da16..8525a11 100644 --- a/3rdparty/zlib/CMakeLists.txt +++ b/3rdparty/zlib/CMakeLists.txt @@ -99,3 +99,5 @@ endif() if(NOT BUILD_SHARED_LIBS) ocv_install_target(${ZLIB_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) endif() + +ocv_install_3rdparty_licenses(zlib README) diff --git a/cmake/OpenCVDetectOpenCL.cmake b/cmake/OpenCVDetectOpenCL.cmake index 433f244..629d44a 100644 --- a/cmake/OpenCVDetectOpenCL.cmake +++ b/cmake/OpenCVDetectOpenCL.cmake @@ -5,6 +5,7 @@ if(APPLE) else(APPLE) set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library") set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory") + ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt") endif(APPLE) mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY) diff --git a/cmake/OpenCVFindIPP.cmake b/cmake/OpenCVFindIPP.cmake index 068cef7..52c8d50 100644 --- a/cmake/OpenCVFindIPP.cmake +++ b/cmake/OpenCVFindIPP.cmake @@ -244,6 +244,7 @@ if(NOT DEFINED IPPROOT) if(NOT IPPROOT) return() endif() + ocv_install_3rdparty_licenses(ippicv "${IPPROOT}/readme.htm" "${IPPROOT}/license/ippEULA.txt") endif() file(TO_CMAKE_PATH "${IPPROOT}" __IPPROOT) diff --git a/cmake/OpenCVFindIPPIW.cmake b/cmake/OpenCVFindIPPIW.cmake index dcc546f..3b63aa1 100644 --- a/cmake/OpenCVFindIPPIW.cmake +++ b/cmake/OpenCVFindIPPIW.cmake @@ -136,6 +136,13 @@ if(BUILD_IPP_IW) # local sources ippiw_setup("${OpenCV_SOURCE_DIR}/3rdparty/ippiw" 1) + set(IPPIW_ROOT "${IPPROOT}/../${IW_PACKAGE_SUBDIR}") + ocv_install_3rdparty_licenses(ippiw + "${IPPIW_ROOT}/EULA.txt" + "${IPPIW_ROOT}/redist.txt" + "${IPPIW_ROOT}/support.txt" + "${IPPIW_ROOT}/third-party-programs.txt") + # Package sources get_filename_component(__PATH "${IPPROOT}/../${IW_PACKAGE_SUBDIR}/" ABSOLUTE) ippiw_setup("${__PATH}" 1) @@ -161,9 +168,15 @@ if(NOT HAVE_IPP_ICV AND BUILD_IPP_IW) set(TEMP_ROOT 0) include("${OpenCV_SOURCE_DIR}/3rdparty/ippicv/ippicv.cmake") download_ippicv(TEMP_ROOT) + set(IPPIW_ROOT "${TEMP_ROOT}/../${IW_PACKAGE_SUBDIR}") + ocv_install_3rdparty_licenses(ippiw + "${IPPIW_ROOT}/EULA.txt" + "${IPPIW_ROOT}/redist.txt" + "${IPPIW_ROOT}/support.txt" + "${IPPIW_ROOT}/third-party-programs.txt") # Package sources. Only sources are compatible with regular Intel IPP - ippiw_setup("${TEMP_ROOT}/../${IW_PACKAGE_SUBDIR}/" 1) + ippiw_setup("${IPPIW_ROOT}" 1) endif() diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake index ae367d7..30f36ac 100644 --- a/cmake/OpenCVUtils.cmake +++ b/cmake/OpenCVUtils.cmake @@ -1002,6 +1002,18 @@ function(ocv_install_target) endif() endfunction() +# ocv_install_3rdparty_licenses( [ ..]) +function(ocv_install_3rdparty_licenses library) + foreach(filename ${ARGN}) + get_filename_component(name "${filename}" NAME) + install( + FILES "${filename}" + DESTINATION "${OPENCV_OTHER_INSTALL_PATH}/licenses" + COMPONENT licenses + RENAME "${library}-${name}" + OPTIONAL) + endforeach() +endfunction() # read set of version defines from the header file macro(ocv_parse_header FILENAME FILE_VAR) diff --git a/modules/core/3rdparty/SoftFloat/COPYING.txt b/modules/core/3rdparty/SoftFloat/COPYING.txt new file mode 100644 index 0000000..e16aa0f --- /dev/null +++ b/modules/core/3rdparty/SoftFloat/COPYING.txt @@ -0,0 +1,36 @@ + +License for Berkeley SoftFloat Release 3c + +John R. Hauser +2017 February 10 + +The following applies to the whole of SoftFloat Release 3c as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt index 4fb12f3..2ce93d3 100644 --- a/modules/core/CMakeLists.txt +++ b/modules/core/CMakeLists.txt @@ -70,3 +70,5 @@ endif() ocv_add_accuracy_tests() ocv_add_perf_tests() + +ocv_install_3rdparty_licenses(SoftFloat "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SoftFloat/COPYING.txt") -- 2.7.4