@@ -498,136 +498,28 @@ ocv_cmake_hook(POST_OPTIONS)
498498# Build & install layouts
499499# ----------------------------------------------------------------------------
500500
501- # Save libs and executables in the same place
502- set (EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR} /bin" CACHE PATH "Output directory for applications" )
503-
504- if (ANDROID )
505- if (ANDROID_ABI MATCHES "NEON" )
506- set (ENABLE_NEON ON )
507- endif ()
508- if (ANDROID_ABI MATCHES "VFPV3" )
509- set (ENABLE_VFPV3 ON )
510- endif ()
511- endif ()
512-
513- if (ANDROID OR WIN32 )
514- ocv_update (OPENCV_DOC_INSTALL_PATH doc )
515- endif ()
516-
517- if (WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
518- if (DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
519- ocv_update (OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH} /${OpenCV_RUNTIME} /" )
520- else ()
521- message (STATUS "Can't detect runtime and/or arch" )
522- ocv_update (OpenCV_INSTALL_BINARIES_PREFIX "" )
523- endif ()
524- elseif (ANDROID )
525- ocv_update (OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/" )
526- else ()
527- ocv_update (OpenCV_INSTALL_BINARIES_PREFIX "" )
528- endif ()
529-
530- if (ANDROID )
531- ocv_update (OPENCV_SAMPLES_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} samples/${ANDROID_NDK_ABI_NAME} " )
532- else ()
533- ocv_update (OPENCV_SAMPLES_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} samples" )
534- endif ()
535-
536- if (ANDROID )
537- ocv_update (OPENCV_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} bin/${ANDROID_NDK_ABI_NAME} " )
538- else ()
539- ocv_update (OPENCV_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} bin" )
540- endif ()
541-
542- if (NOT OPENCV_TEST_INSTALL_PATH)
543- ocv_update (OPENCV_TEST_INSTALL_PATH "${OPENCV_BIN_INSTALL_PATH} " )
544- endif ()
545-
546- if (OPENCV_TEST_DATA_PATH)
501+ if (OPENCV_TEST_DATA_PATH)
547502 get_filename_component (OPENCV_TEST_DATA_PATH ${OPENCV_TEST_DATA_PATH} ABSOLUTE )
548503endif ()
549504
550- if (ANDROID )
551- ocv_update (OPENCV_TEST_DATA_INSTALL_PATH "sdk/etc/testdata" )
552- elseif (WIN32 )
553- ocv_update (OPENCV_TEST_DATA_INSTALL_PATH "testdata" )
554- endif ()
505+ # Save libs and executables in the same place
506+ set (EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR} /bin" CACHE PATH "Output directory for applications" )
555507
556508if (ANDROID )
557509 set (LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR} /lib/${ANDROID_NDK_ABI_NAME} " )
558510 ocv_update (3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR} /3rdparty/lib/${ANDROID_NDK_ABI_NAME} " )
559- ocv_update (OPENCV_LIB_INSTALL_PATH sdk/native/libs/${ANDROID_NDK_ABI_NAME} )
560- ocv_update (OPENCV_LIB_ARCHIVE_INSTALL_PATH sdk/native/staticlibs/${ANDROID_NDK_ABI_NAME} )
561- ocv_update (OPENCV_3P_LIB_INSTALL_PATH sdk/native/3rdparty/libs/${ANDROID_NDK_ABI_NAME} )
562- ocv_update (OPENCV_CONFIG_INSTALL_PATH sdk/native/jni )
563- ocv_update (OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include )
564- ocv_update (OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native )
565- ocv_update (OPENCV_OTHER_INSTALL_PATH sdk/etc )
566- ocv_update (OPENCV_LICENSES_INSTALL_PATH "${OPENCV_OTHER_INSTALL_PATH} /licenses" )
567511else ()
568512 set (LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR} /lib" )
569- ocv_update (3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR} /3rdparty/lib${LIB_SUFFIX} " )
570-
571- if (WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
572- if (OpenCV_STATIC)
573- ocv_update (OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} staticlib${LIB_SUFFIX} " )
574- else ()
575- ocv_update (OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} lib${LIB_SUFFIX} " )
576- endif ()
577- ocv_update (OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX} staticlib${LIB_SUFFIX} " )
578- ocv_update (OPENCV_SAMPLES_SRC_INSTALL_PATH samples )
579- ocv_update (OPENCV_JAR_INSTALL_PATH java )
580- ocv_update (OPENCV_OTHER_INSTALL_PATH etc )
581- ocv_update (OPENCV_CONFIG_INSTALL_PATH "." )
582- ocv_update (OPENCV_INCLUDE_INSTALL_PATH "include" )
583- ocv_update (OPENCV_LICENSES_INSTALL_PATH "${OPENCV_OTHER_INSTALL_PATH} /licenses" )
584- else ()
585- # Note: layout differs from OpenCV 3.4
586- include (GNUInstallDirs )
587- ocv_update (OPENCV_INCLUDE_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR} /opencv4" )
588- ocv_update (OPENCV_LIB_INSTALL_PATH "${CMAKE_INSTALL_LIBDIR} " )
589- ocv_update (OPENCV_CONFIG_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH} /cmake/opencv4" )
590- ocv_update (OPENCV_3P_LIB_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH} /opencv4/3rdparty" )
591- ocv_update (OPENCV_SAMPLES_SRC_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /opencv4/samples" )
592- ocv_update (OPENCV_DOC_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /doc/opencv4" )
593- ocv_update (OPENCV_JAR_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /java/opencv4" )
594- ocv_update (OPENCV_TEST_DATA_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /opencv4/testdata" )
595- ocv_update (OPENCV_OTHER_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /opencv4" )
596- ocv_update (OPENCV_LICENSES_INSTALL_PATH "${CMAKE_INSTALL_DATAROOTDIR} /licenses/opencv4" )
597- endif ()
598- #ocv_update(OPENCV_PYTHON_INSTALL_PATH "python") # no default value, see https://github.com/opencv/opencv/issues/13202
599- endif ()
600-
601- ocv_update (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX} /${OPENCV_LIB_INSTALL_PATH} " )
602- set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
603-
604- if (INSTALL_TO_MANGLED_PATHS)
605- foreach (v
606- OPENCV_INCLUDE_INSTALL_PATH
607- # file names include version (.so/.dll): OPENCV_LIB_INSTALL_PATH
608- OPENCV_CONFIG_INSTALL_PATH
609- OPENCV_3P_LIB_INSTALL_PATH
610- OPENCV_SAMPLES_SRC_INSTALL_PATH
611- OPENCV_DOC_INSTALL_PATH
612- # JAR file name includes version: OPENCV_JAR_INSTALL_PATH
613- OPENCV_TEST_DATA_INSTALL_PATH
614- OPENCV_OTHER_INSTALL_PATH
615- )
616- string (REGEX REPLACE "opencv[0-9]*" "opencv-${OPENCV_VERSION} " ${v} "${${v} }" )
617- endforeach ()
513+ ocv_update (3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR} /3rdparty/lib" )
618514endif ()
619515
620516if (ANDROID )
621- ocv_update (OPENCV_JNI_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH} " )
622- elseif (INSTALL_CREATE_DISTRIB)
623- ocv_update (OPENCV_JNI_INSTALL_PATH "${OPENCV_JAR_INSTALL_PATH} /${OpenCV_ARCH} " )
624- else ()
625- ocv_update (OPENCV_JNI_INSTALL_PATH "${OPENCV_JAR_INSTALL_PATH} " )
626- endif ()
627- ocv_update (OPENCV_JNI_BIN_INSTALL_PATH "${OPENCV_JNI_INSTALL_PATH} " )
628-
629- if (NOT OPENCV_LIB_ARCHIVE_INSTALL_PATH)
630- set (OPENCV_LIB_ARCHIVE_INSTALL_PATH ${OPENCV_LIB_INSTALL_PATH} )
517+ if (ANDROID_ABI MATCHES "NEON" )
518+ set (ENABLE_NEON ON )
519+ endif ()
520+ if (ANDROID_ABI MATCHES "VFPV3" )
521+ set (ENABLE_VFPV3 ON )
522+ endif ()
631523endif ()
632524
633525if (WIN32 )
@@ -648,6 +540,8 @@ if((INSTALL_CREATE_DISTRIB AND BUILD_SHARED_LIBS AND NOT DEFINED BUILD_opencv_wo
648540 set (BUILD_opencv_world ON CACHE INTERNAL "" )
649541endif ()
650542
543+ include (cmake/OpenCVInstallLayout.cmake )
544+
651545# ----------------------------------------------------------------------------
652546# Path for build/platform -specific headers
653547# ----------------------------------------------------------------------------
0 commit comments