OpenCV C/C++/OCL/CUDA samples install path fixed. Install rools for tests added.
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Mon, 27 Jan 2014 10:20:30 +0000 (14:20 +0400)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Mon, 27 Jan 2014 11:49:24 +0000 (15:49 +0400)
CMakeLists.txt
cmake/OpenCVModule.cmake
cmake/OpenCVPackaging.cmake
cmake/templates/postinst [new file with mode: 0644]
data/CMakeLists.txt
samples/c/CMakeLists.txt
samples/cpp/CMakeLists.txt
samples/gpu/CMakeLists.txt
samples/gpu/performance/CMakeLists.txt
samples/ocl/CMakeLists.txt

index eb25cd3..2adc320 100644 (file)
@@ -197,7 +197,7 @@ OCV_OPTION(INSTALL_C_EXAMPLES       "Install C examples"        OFF )
 OCV_OPTION(INSTALL_PYTHON_EXAMPLES  "Install Python examples"   OFF )
 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 IOS AND BUILD_SHARED_LIBS) )
-
+OCV_OPTION(INSTALL_TESTS            "Install accuracy and performance test binaries and test data" OFF)
 
 # OpenCV build options
 # ===================================================
index 6734462..0e1ee25 100644 (file)
@@ -711,6 +711,13 @@ function(ocv_add_perf_tests)
     else(OCV_DEPENDENCIES_FOUND)
       # TODO: warn about unsatisfied dependencies
     endif(OCV_DEPENDENCIES_FOUND)
+    if(INSTALL_TESTS)
+      if(ANDROID)
+        install(TARGETS ${the_target} RUNTIME DESTINATION sdk/etc/bin COMPONENT tests)
+      elseif(NOT WIN32)
+        install(TARGETS ${the_target} RUNTIME DESTINATION share/OpenCV/bin COMPONENT tests)
+      endif()
+    endif()
   endif()
 endfunction()
 
@@ -764,6 +771,14 @@ function(ocv_add_accuracy_tests)
     else(OCV_DEPENDENCIES_FOUND)
       # TODO: warn about unsatisfied dependencies
     endif(OCV_DEPENDENCIES_FOUND)
+
+    if(INSTALL_TESTS)
+      if(ANDROID)
+        install(TARGETS ${the_target} RUNTIME DESTINATION sdk/etc/bin COMPONENT tests)
+      elseif(NOT WIN32)
+        install(TARGETS ${the_target} RUNTIME DESTINATION share/OpenCV/bin COMPONENT tests)
+      endif()
+    endif()
   endif()
 endfunction()
 
index 3b8d4db..32d5c5d 100644 (file)
@@ -56,6 +56,12 @@ set(CPACK_DEB_COMPONENT_INSTALL TRUE)
 set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
 set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
 set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://opencv.org")
+if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
+  set(prefix "${CMAKE_INSTALL_PREFIX}")
+  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/postinst"
+                 "${CMAKE_BINARY_DIR}/junk/postinst" @ONLY IMMEDIATE)
+  set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/junk/postinst")
+endif()
 
 #depencencies
 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE)
@@ -64,6 +70,9 @@ set(CPACK_COMPONENT_dev_DEPENDS libs)
 set(CPACK_COMPONENT_docs_DEPENDS libs)
 set(CPACK_COMPONENT_java_DEPENDS libs)
 set(CPACK_COMPONENT_python_DEPENDS libs)
+if(INSTALL_TESTS)
+set(CPACK_COMPONENT_tests_DEPENDS libs)
+endif()
 
 if(HAVE_CUDA)
   string(REPLACE "." "-" cuda_version_suffix ${CUDA_VERSION})
@@ -77,19 +86,22 @@ if(NOT OPENCV_CUSTOM_PACKAGE_INFO)
   set(CPACK_COMPONENT_libs_DESCRIPTION "Open Computer Vision Library")
 
   set(CPACK_COMPONENT_python_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-python")
-  set(CPACK_COMPONENT_python_DESCRIPTION "Python bindings for Open Computer Vision Library")
+  set(CPACK_COMPONENT_python_DESCRIPTION "Python bindings for Open Source Computer Vision Library")
 
   set(CPACK_COMPONENT_java_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-java")
-  set(CPACK_COMPONENT_java_DESCRIPTION "Java bindings for Open Computer Vision Library")
+  set(CPACK_COMPONENT_java_DESCRIPTION "Java bindings for Open Source Computer Vision Library")
 
   set(CPACK_COMPONENT_dev_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-dev")
-  set(CPACK_COMPONENT_dev_DESCRIPTION "Development files for Open Computer Vision Library")
+  set(CPACK_COMPONENT_dev_DESCRIPTION "Development files for Open Source Computer Vision Library")
 
   set(CPACK_COMPONENT_docs_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-docs")
-  set(CPACK_COMPONENT_docs_DESCRIPTION "Documentation for Open Computer Vision Library")
+  set(CPACK_COMPONENT_docs_DESCRIPTION "Documentation for Open Source Computer Vision Library")
 
   set(CPACK_COMPONENT_samples_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-samples")
-  set(CPACK_COMPONENT_samples_DESCRIPTION "Samples for Open Computer Vision Library")
+  set(CPACK_COMPONENT_samples_DESCRIPTION "Samples for Open Source Computer Vision Library")
+
+  set(CPACK_COMPONENT_tests_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-tests")
+  set(CPACK_COMPONENT_tests_DESCRIPTION "Accuracy and performance tests for Open Source Computer Vision Library")
 endif(NOT OPENCV_CUSTOM_PACKAGE_INFO)
 
 if(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
diff --git a/cmake/templates/postinst b/cmake/templates/postinst
new file mode 100644 (file)
index 0000000..f676378
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "export OPENCV_TEST_DATA_PATH=@prefix@/share/OpenCV/testdata" >> /etc/profile
\ No newline at end of file
index 48094df..726fc0d 100644 (file)
@@ -8,3 +8,11 @@ elseif(NOT WIN32)
   install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs)
   install(FILES ${LBP_CASCADES}  DESTINATION share/OpenCV/lbpcascades  COMPONENT libs)
 endif()
+
+if (OPENCV_TEST_DATA_PATH)
+  if(ANDROID)
+    install(FILES ${OPENCV_TEST_DATA_PATH} DESTINATION sdk/etc/testdata COMPONENT tests)
+  elseif(NOT WIN32)
+    install(FILES ${OPENCV_TEST_DATA_PATH} DESTINATION share/OpenCV/testdata COMPONENT tests)
+  endif()
+endif()
\ No newline at end of file
index ab6e15d..aca8886 100644 (file)
@@ -53,7 +53,13 @@ endif()
 
 if (INSTALL_C_EXAMPLES AND NOT WIN32)
   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
-  install(FILES ${C_SAMPLES}
-          DESTINATION share/OpenCV/samples/c
-          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  if (ANDROID)
+    install(FILES ${C_SAMPLES}
+            DESTINATION samples/native/c
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  else()
+    install(FILES ${C_SAMPLES}
+            DESTINATION share/OpenCV/samples/c
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  endif()
 endif ()
index e0842d9..6ccc75a 100644 (file)
@@ -90,7 +90,13 @@ endif()
 
 if (INSTALL_C_EXAMPLES AND NOT WIN32)
   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
-  install(FILES ${C_SAMPLES}
-          DESTINATION share/OpenCV/samples/cpp
-          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  if (ANDROID)
+    install(FILES ${C_SAMPLES}
+            DESTINATION samples/native/cpp
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  else()
+    install(FILES ${C_SAMPLES}
+            DESTINATION share/OpenCV/samples/cpp
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  endif()
 endif()
index 7093cf5..226869a 100644 (file)
@@ -82,7 +82,13 @@ endif()
 
 if (INSTALL_C_EXAMPLES AND NOT WIN32)
   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
-  install(FILES ${install_list}
-          DESTINATION share/OpenCV/samples/${project}
-          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  if(ANDROID)
+    install(FILES ${install_list}
+            DESTINATION samples/native/gpu
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  else()
+    install(FILES ${install_list}
+            DESTINATION share/OpenCV/samples/gpu
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  endif()
 endif()
index 0b2346f..32dc002 100644 (file)
@@ -30,5 +30,6 @@ if(INSTALL_C_EXAMPLES AND NOT WIN32)
   file(GLOB GPU_FILES performance/*.cpp performance/*.h)
   install(FILES ${GPU_FILES}
           DESTINATION share/OpenCV/samples/gpu/performance
-          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+          COMPONENT samples)
 endif()
index 4139211..8889452 100644 (file)
@@ -53,7 +53,13 @@ endif()
 
 if (INSTALL_C_EXAMPLES AND NOT WIN32)
   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
-  install(FILES ${install_list}
-          DESTINATION share/OpenCV/samples/${project}
-          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  if(ANDROID)
+    install(FILES ${install_list}
+            DESTINATION samples/native/ocl
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  else()
+    install(FILES ${install_list}
+            DESTINATION share/OpenCV/samples/ocl
+            PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
+  endif()
 endif()