2016-09-19 11:50:08 +08:00
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
2018-11-05 03:24:45 +08:00
@@ -312,6 +312,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
2016-09-19 11:50:08 +08:00
OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
+OCV_OPTION(INSTALL_HEADERS "Install header files" ON)
2016-09-28 06:49:41 +08:00
+OCV_OPTION(INSTALL_LICENSE "Install license file" ON)
2016-09-19 11:50:08 +08:00
+OCV_OPTION(INSTALL_OTHER "Install other files" ON)
2016-09-28 06:49:41 +08:00
+OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF)
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
# OpenCV build options
# ===================================================
2018-11-05 03:24:45 +08:00
@@ -378,7 +382,9 @@ else()
2016-09-19 11:50:08 +08:00
endif()
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
2017-02-09 15:46:46 +08:00
+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
2016-09-19 11:50:08 +08:00
+ elseif(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
2017-02-09 15:46:46 +08:00
ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
2016-09-19 11:50:08 +08:00
else()
message(STATUS "Can't detect runtime and/or arch")
2018-11-05 03:24:45 +08:00
@@ -433,12 +439,8 @@ else()
2018-02-22 08:47:42 +08:00
ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
2018-11-05 03:24:45 +08:00
2018-02-22 08:47:42 +08:00
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_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
+ ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
2018-03-04 18:31:06 +08:00
ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples)
2018-02-22 08:47:42 +08:00
ocv_update(OPENCV_JAR_INSTALL_PATH java)
ocv_update(OPENCV_OTHER_INSTALL_PATH etc)
2018-11-05 03:24:45 +08:00
@@ -901,7 +903,7 @@ if(NOT OPENCV_LICENSE_FILE)
2016-09-28 06:49:41 +08:00
endif()
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
# for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
2016-09-28 06:49:41 +08:00
-if(ANDROID OR NOT UNIX)
+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
2016-09-19 11:50:08 +08:00
install(FILES ${OPENCV_LICENSE_FILE}
2016-09-28 06:49:41 +08:00
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
2017-02-09 15:46:46 +08:00
DESTINATION ./ COMPONENT libs)
2016-09-19 11:50:08 +08:00
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
2018-03-04 18:31:06 +08:00
@@ -105,7 +105,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
2017-02-09 15:46:46 +08:00
endif()
endfunction()
2018-11-05 03:24:45 +08:00
2018-02-22 08:47:42 +08:00
-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID)
+if(((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
2017-02-09 15:46:46 +08:00
ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
endif()
2018-11-05 03:24:45 +08:00
2018-03-04 18:31:06 +08:00
@@ -117,7 +117,7 @@ endif()
2016-09-28 06:49:41 +08:00
# --------------------------------------------------------------------------------------------
# Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
# --------------------------------------------------------------------------------------------
-if(WIN32)
+if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS)
2017-02-09 15:46:46 +08:00
if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
set(_lib_suffix "lib")
2016-09-19 11:50:08 +08:00
--- a/cmake/OpenCVGenHeaders.cmake
+++ b/cmake/OpenCVGenHeaders.cmake
@@ -1,7 +1,9 @@
# platform-specific config file
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/cvconfig.h")
-install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+if(INSTALL_HEADERS)
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
2018-11-05 03:24:45 +08:00
2018-02-22 08:47:42 +08:00
# platform-specific config file
ocv_compiler_optimization_fill_cpu_config()
@@ -29,4 +31,6 @@ set(OPENCV_MODULE_DEFINITIONS_CONFIGMAKE "${OPENCV_MODULE_DEFINITIONS_CONFIGMAKE
2016-09-19 11:50:08 +08:00
#endforeach()
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv_modules.hpp.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp")
-install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+if(INSTALL_HEADERS)
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
2018-11-05 03:24:45 +08:00
\ No newline at end of file
2016-09-19 11:50:08 +08:00
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
2018-11-05 03:24:45 +08:00
@@ -1000,7 +1000,9 @@ macro(_ocv_create_module)
2018-02-22 08:47:42 +08:00
foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
- install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
+ if(INSTALL_HEADERS)
+ install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
+ endif()
endif()
endforeach()
endif()
2016-09-19 11:50:08 +08:00
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,8 +1,10 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
+if(INSTALL_OTHER)
+ install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
+ install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
+endif()
2018-11-05 03:24:45 +08:00
2016-09-19 11:50:08 +08:00
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -1,7 +1,9 @@
2016-09-28 06:49:41 +08:00
-file(GLOB old_hdrs "opencv/*.h*")
2016-09-19 11:50:08 +08:00
-install(FILES ${old_hdrs}
2017-02-09 15:46:46 +08:00
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
- COMPONENT dev)
2016-09-19 11:50:08 +08:00
-install(FILES "opencv2/opencv.hpp"
2017-02-09 15:46:46 +08:00
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
- COMPONENT dev)
+if(INSTALL_HEADERS)
+ file(GLOB old_hdrs "opencv/*.h*")
+ install(FILES ${old_hdrs}
+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
+ COMPONENT dev)
+ install(FILES "opencv2/opencv.hpp"
+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
+ COMPONENT dev)
2016-09-19 11:50:08 +08:00
+endif()