Merge pull request #2262 from SpecLad:merge-2.4
This commit is contained in:
commit
652a0bd5ce
@ -191,7 +191,7 @@ OCV_OPTION(INSTALL_C_EXAMPLES "Install C examples" OFF )
|
|||||||
OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python 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_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_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
|
# OpenCV build options
|
||||||
# ===================================================
|
# ===================================================
|
||||||
@ -260,6 +260,9 @@ endif()
|
|||||||
set(OPENCV_SAMPLES_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}samples")
|
set(OPENCV_SAMPLES_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}samples")
|
||||||
|
|
||||||
set(OPENCV_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}bin")
|
set(OPENCV_BIN_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}bin")
|
||||||
|
if(NOT OPENCV_TEST_INSTALL_PATH)
|
||||||
|
set(OPENCV_TEST_INSTALL_PATH "${OPENCV_BIN_INSTALL_PATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib/${ANDROID_NDK_ABI_NAME}")
|
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib/${ANDROID_NDK_ABI_NAME}")
|
||||||
@ -268,6 +271,7 @@ if(ANDROID)
|
|||||||
set(OPENCV_3P_LIB_INSTALL_PATH sdk/native/3rdparty/libs/${ANDROID_NDK_ABI_NAME})
|
set(OPENCV_3P_LIB_INSTALL_PATH sdk/native/3rdparty/libs/${ANDROID_NDK_ABI_NAME})
|
||||||
set(OPENCV_CONFIG_INSTALL_PATH sdk/native/jni)
|
set(OPENCV_CONFIG_INSTALL_PATH sdk/native/jni)
|
||||||
set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include)
|
set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include)
|
||||||
|
set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
|
||||||
else()
|
else()
|
||||||
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib")
|
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib")
|
||||||
set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
|
set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
|
||||||
@ -278,9 +282,11 @@ else()
|
|||||||
set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
|
set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
|
||||||
endif()
|
endif()
|
||||||
set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
|
set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
|
||||||
|
set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
|
||||||
else()
|
else()
|
||||||
set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
|
set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
|
||||||
set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
|
set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
|
||||||
|
set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples)
|
||||||
endif()
|
endif()
|
||||||
set(OPENCV_INCLUDE_INSTALL_PATH "include")
|
set(OPENCV_INCLUDE_INSTALL_PATH "include")
|
||||||
|
|
||||||
@ -535,6 +541,19 @@ include(cmake/OpenCVGenConfig.cmake)
|
|||||||
# Generate Info.plist for the IOS framework
|
# Generate Info.plist for the IOS framework
|
||||||
include(cmake/OpenCVGenInfoPlist.cmake)
|
include(cmake/OpenCVGenInfoPlist.cmake)
|
||||||
|
|
||||||
|
# Generate environment setup file
|
||||||
|
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH AND UNIX AND NOT ANDROID)
|
||||||
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_testing.sh.in"
|
||||||
|
"${CMAKE_BINARY_DIR}/unix-install/opencv_testing.sh" @ONLY)
|
||||||
|
install(FILES "${CMAKE_BINARY_DIR}/unix-install/opencv_testing.sh"
|
||||||
|
DESTINATION /etc/profile.d/ COMPONENT tests)
|
||||||
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests.sh.in"
|
||||||
|
"${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh" @ONLY)
|
||||||
|
install(FILES "${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
|
||||||
|
DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
|
||||||
|
endif()
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Summary:
|
# Summary:
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
CONFIGURE_FILE(
|
CONFIGURE_FILE(
|
||||||
"${OpenCV_SOURCE_DIR}/cmake/templates/cmake_uninstall.cmake.in"
|
"${OpenCV_SOURCE_DIR}/cmake/templates/cmake_uninstall.cmake.in"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||||
IMMEDIATE @ONLY)
|
@ONLY)
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||||
if(ENABLE_SOLUTION_FOLDERS)
|
if(ENABLE_SOLUTION_FOLDERS)
|
||||||
|
@ -91,7 +91,7 @@ if(ANDROID)
|
|||||||
set(OPENCV_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/lib/\$(OPENCV_TARGET_ARCH_ABI)")
|
set(OPENCV_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/lib/\$(OPENCV_TARGET_ARCH_ABI)")
|
||||||
set(OPENCV_3RDPARTY_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/3rdparty/lib/\$(OPENCV_TARGET_ARCH_ABI)")
|
set(OPENCV_3RDPARTY_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/3rdparty/lib/\$(OPENCV_TARGET_ARCH_ABI)")
|
||||||
|
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/OpenCV.mk" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/OpenCV.mk" @ONLY)
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------
|
||||||
# Part 2/2: ${BIN_DIR}/unix-install/OpenCV.mk -> For use with "make install"
|
# Part 2/2: ${BIN_DIR}/unix-install/OpenCV.mk -> For use with "make install"
|
||||||
@ -101,6 +101,6 @@ if(ANDROID)
|
|||||||
set(OPENCV_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/../libs/\$(OPENCV_TARGET_ARCH_ABI)")
|
set(OPENCV_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/../libs/\$(OPENCV_TARGET_ARCH_ABI)")
|
||||||
set(OPENCV_3RDPARTY_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/../3rdparty/libs/\$(OPENCV_TARGET_ARCH_ABI)")
|
set(OPENCV_3RDPARTY_LIBS_DIR_CONFIGCMAKE "\$(OPENCV_THIS_DIR)/../3rdparty/libs/\$(OPENCV_TARGET_ARCH_ABI)")
|
||||||
|
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk" @ONLY)
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev)
|
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev)
|
||||||
endif(ANDROID)
|
endif(ANDROID)
|
||||||
|
@ -83,9 +83,9 @@ endif()
|
|||||||
|
|
||||||
export(TARGETS ${OpenCVModules_TARGETS} FILE "${CMAKE_BINARY_DIR}/OpenCVModules${modules_file_suffix}.cmake")
|
export(TARGETS ${OpenCVModules_TARGETS} FILE "${CMAKE_BINARY_DIR}/OpenCVModules${modules_file_suffix}.cmake")
|
||||||
|
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" @ONLY)
|
||||||
#support for version checking when finding opencv. find_package(OpenCV 2.3.1 EXACT) should now work.
|
#support for version checking when finding opencv. find_package(OpenCV 2.3.1 EXACT) should now work.
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig-version.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig-version.cmake" @ONLY)
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
# Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
|
# Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
|
||||||
@ -98,8 +98,8 @@ if(INSTALL_TO_MANGLED_PATHS)
|
|||||||
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE}\"")
|
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE}\"")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY)
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY)
|
||||||
|
|
||||||
if(UNIX) # ANDROID configuration is created here also
|
if(UNIX) # ANDROID configuration is created here also
|
||||||
#http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
|
#http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
|
||||||
@ -131,8 +131,8 @@ if(WIN32)
|
|||||||
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
|
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
|
||||||
|
|
||||||
exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"" OUTPUT_VARIABLE RET_VAL)
|
exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"" OUTPUT_VARIABLE RET_VAL)
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" @ONLY)
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" IMMEDIATE @ONLY)
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" @ONLY)
|
||||||
if(BUILD_SHARED_LIBS)
|
if(BUILD_SHARED_LIBS)
|
||||||
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
|
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
|
||||||
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
|
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
|
||||||
|
@ -78,7 +78,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv-XXX.pc.in"
|
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv-XXX.pc.in"
|
||||||
"${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}"
|
"${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}"
|
||||||
@ONLY IMMEDIATE)
|
@ONLY)
|
||||||
|
|
||||||
if(UNIX AND NOT ANDROID)
|
if(UNIX AND NOT ANDROID)
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME} DESTINATION ${OPENCV_LIB_INSTALL_PATH}/pkgconfig COMPONENT dev)
|
install(FILES ${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME} DESTINATION ${OPENCV_LIB_INSTALL_PATH}/pkgconfig COMPONENT dev)
|
||||||
|
@ -717,6 +717,9 @@ function(ocv_add_perf_tests)
|
|||||||
else(OCV_DEPENDENCIES_FOUND)
|
else(OCV_DEPENDENCIES_FOUND)
|
||||||
# TODO: warn about unsatisfied dependencies
|
# TODO: warn about unsatisfied dependencies
|
||||||
endif(OCV_DEPENDENCIES_FOUND)
|
endif(OCV_DEPENDENCIES_FOUND)
|
||||||
|
if(INSTALL_TESTS)
|
||||||
|
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -770,6 +773,10 @@ function(ocv_add_accuracy_tests)
|
|||||||
else(OCV_DEPENDENCIES_FOUND)
|
else(OCV_DEPENDENCIES_FOUND)
|
||||||
# TODO: warn about unsatisfied dependencies
|
# TODO: warn about unsatisfied dependencies
|
||||||
endif(OCV_DEPENDENCIES_FOUND)
|
endif(OCV_DEPENDENCIES_FOUND)
|
||||||
|
|
||||||
|
if(INSTALL_TESTS)
|
||||||
|
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -810,7 +817,7 @@ function(ocv_add_samples)
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32 AND EXISTS "${samples_path}")
|
if(INSTALL_C_EXAMPLES AND NOT WIN32 AND EXISTS "${samples_path}")
|
||||||
file(GLOB sample_files "${samples_path}/*")
|
file(GLOB sample_files "${samples_path}/*")
|
||||||
install(FILES ${sample_files}
|
install(FILES ${sample_files}
|
||||||
DESTINATION share/OpenCV/samples/${module_id}
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/${module_id}
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -64,6 +64,7 @@ set(CPACK_COMPONENT_dev_DEPENDS libs)
|
|||||||
set(CPACK_COMPONENT_docs_DEPENDS libs)
|
set(CPACK_COMPONENT_docs_DEPENDS libs)
|
||||||
set(CPACK_COMPONENT_java_DEPENDS libs)
|
set(CPACK_COMPONENT_java_DEPENDS libs)
|
||||||
set(CPACK_COMPONENT_python_DEPENDS libs)
|
set(CPACK_COMPONENT_python_DEPENDS libs)
|
||||||
|
set(CPACK_COMPONENT_tests_DEPENDS libs)
|
||||||
|
|
||||||
if(HAVE_CUDA)
|
if(HAVE_CUDA)
|
||||||
string(REPLACE "." "-" cuda_version_suffix ${CUDA_VERSION})
|
string(REPLACE "." "-" cuda_version_suffix ${CUDA_VERSION})
|
||||||
@ -77,19 +78,22 @@ if(NOT OPENCV_CUSTOM_PACKAGE_INFO)
|
|||||||
set(CPACK_COMPONENT_libs_DESCRIPTION "Open Computer Vision Library")
|
set(CPACK_COMPONENT_libs_DESCRIPTION "Open Computer Vision Library")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_python_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-python")
|
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_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_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_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_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)
|
endif(NOT OPENCV_CUSTOM_PACKAGE_INFO)
|
||||||
|
|
||||||
if(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
|
if(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
|
||||||
|
25
cmake/templates/opencv_run_all_tests.sh.in
Normal file
25
cmake/templates/opencv_run_all_tests.sh.in
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
OPENCV_TEST_PATH=@OPENCV_TEST_INSTALL_PATH@
|
||||||
|
export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/OpenCV/testdata
|
||||||
|
|
||||||
|
SUMMARY_STATUS=0
|
||||||
|
for t in "$OPENCV_TEST_PATH/"opencv_test_* "$OPENCV_TEST_PATH/"opencv_perf_*;
|
||||||
|
do
|
||||||
|
report="`basename "$t"`-`date --rfc-3339=date`.xml"
|
||||||
|
"$t" --perf_min_samples=1 --perf_force_samples=1 --gtest_output=xml:"$report"
|
||||||
|
TEST_STATUS=$?
|
||||||
|
if [ $TEST_STATUS -ne 0 ]; then
|
||||||
|
SUMMARY_STATUS=$TEST_STATUS
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f /tmp/__opencv_temp.*
|
||||||
|
|
||||||
|
if [ $SUMMARY_STATUS -eq 0 ]; then
|
||||||
|
echo "All OpenCV tests finished successfully"
|
||||||
|
else
|
||||||
|
echo "OpenCV tests finished with status $SUMMARY_STATUS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
return $SUMMARY_STATUS
|
2
cmake/templates/opencv_testing.sh.in
Normal file
2
cmake/templates/opencv_testing.sh.in
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Environment setup for OpenCV testing
|
||||||
|
export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/OpenCV/testdata
|
@ -8,3 +8,11 @@ elseif(NOT WIN32)
|
|||||||
install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs)
|
install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs)
|
||||||
install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs)
|
install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
|
||||||
|
if(ANDROID)
|
||||||
|
install(DIRECTORY ${OPENCV_TEST_DATA_PATH} DESTINATION sdk/etc/testdata COMPONENT tests)
|
||||||
|
elseif(NOT WIN32)
|
||||||
|
install(DIRECTORY ${OPENCV_TEST_DATA_PATH} DESTINATION share/OpenCV/testdata COMPONENT tests)
|
||||||
|
endif()
|
||||||
|
endif()
|
@ -2485,16 +2485,14 @@ TYPED_TEST_P(Core_CheckRange, Negative)
|
|||||||
double min_bound = 4.5;
|
double min_bound = 4.5;
|
||||||
double max_bound = 16.0;
|
double max_bound = 16.0;
|
||||||
|
|
||||||
TypeParam data[] = {5, 10, 15, 4, 10 ,2, 8, 12, 14};
|
TypeParam data[] = {5, 10, 15, 4, 10, 2, 8, 12, 14};
|
||||||
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
||||||
|
|
||||||
cv::Point* bad_pt = new cv::Point(0, 0);
|
cv::Point bad_pt(0, 0);
|
||||||
|
|
||||||
ASSERT_FALSE(checkRange(src, true, bad_pt, min_bound, max_bound));
|
ASSERT_FALSE(checkRange(src, true, &bad_pt, min_bound, max_bound));
|
||||||
ASSERT_EQ(bad_pt->x,0);
|
ASSERT_EQ(bad_pt.x, 0);
|
||||||
ASSERT_EQ(bad_pt->y,1);
|
ASSERT_EQ(bad_pt.y, 1);
|
||||||
|
|
||||||
delete bad_pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TYPED_TEST_P(Core_CheckRange, Positive)
|
TYPED_TEST_P(Core_CheckRange, Positive)
|
||||||
@ -2502,16 +2500,14 @@ TYPED_TEST_P(Core_CheckRange, Positive)
|
|||||||
double min_bound = -1;
|
double min_bound = -1;
|
||||||
double max_bound = 16.0;
|
double max_bound = 16.0;
|
||||||
|
|
||||||
TypeParam data[] = {5, 10, 15, 4, 10 ,2, 8, 12, 14};
|
TypeParam data[] = {5, 10, 15, 4, 10, 2, 8, 12, 14};
|
||||||
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
||||||
|
|
||||||
cv::Point* bad_pt = new cv::Point(0, 0);
|
cv::Point bad_pt(0, 0);
|
||||||
|
|
||||||
ASSERT_TRUE(checkRange(src, true, bad_pt, min_bound, max_bound));
|
ASSERT_TRUE(checkRange(src, true, &bad_pt, min_bound, max_bound));
|
||||||
ASSERT_EQ(bad_pt->x,0);
|
ASSERT_EQ(bad_pt.x, 0);
|
||||||
ASSERT_EQ(bad_pt->y,0);
|
ASSERT_EQ(bad_pt.y, 0);
|
||||||
|
|
||||||
delete bad_pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TYPED_TEST_P(Core_CheckRange, Bounds)
|
TYPED_TEST_P(Core_CheckRange, Bounds)
|
||||||
@ -2519,16 +2515,14 @@ TYPED_TEST_P(Core_CheckRange, Bounds)
|
|||||||
double min_bound = 24.5;
|
double min_bound = 24.5;
|
||||||
double max_bound = 1.0;
|
double max_bound = 1.0;
|
||||||
|
|
||||||
TypeParam data[] = {5, 10, 15, 4, 10 ,2, 8, 12, 14};
|
TypeParam data[] = {5, 10, 15, 4, 10, 2, 8, 12, 14};
|
||||||
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
cv::Mat src = cv::Mat(3,3, cv::DataDepth<TypeParam>::value, data);
|
||||||
|
|
||||||
cv::Point* bad_pt = new cv::Point(0, 0);
|
cv::Point bad_pt(0, 0);
|
||||||
|
|
||||||
ASSERT_FALSE(checkRange(src, true, bad_pt, min_bound, max_bound));
|
ASSERT_FALSE(checkRange(src, true, &bad_pt, min_bound, max_bound));
|
||||||
ASSERT_EQ(bad_pt->x,0);
|
ASSERT_EQ(bad_pt.x, 0);
|
||||||
ASSERT_EQ(bad_pt->y,0);
|
ASSERT_EQ(bad_pt.y, 0);
|
||||||
|
|
||||||
delete bad_pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TYPED_TEST_P(Core_CheckRange, Zero)
|
TYPED_TEST_P(Core_CheckRange, Zero)
|
||||||
|
@ -95,7 +95,7 @@ bool TestHaarCascadeLoader::process()
|
|||||||
NCV_SET_SKIP_COND(this->allocatorGPU.get()->isCounting());
|
NCV_SET_SKIP_COND(this->allocatorGPU.get()->isCounting());
|
||||||
NCV_SKIP_COND_BEGIN
|
NCV_SKIP_COND_BEGIN
|
||||||
|
|
||||||
const std::string testNvbinName = "test.nvbin";
|
const std::string testNvbinName = cv::tempfile("test.nvbin");
|
||||||
ncvStat = ncvHaarLoadFromFile_host(this->cascadeName, haar, h_HaarStages, h_HaarNodes, h_HaarFeatures);
|
ncvStat = ncvHaarLoadFromFile_host(this->cascadeName, haar, h_HaarStages, h_HaarNodes, h_HaarFeatures);
|
||||||
ncvAssertReturn(ncvStat == NCV_SUCCESS, false);
|
ncvAssertReturn(ncvStat == NCV_SUCCESS, false);
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ public:
|
|||||||
stringstream s;
|
stringstream s;
|
||||||
s << tag;
|
s << tag;
|
||||||
|
|
||||||
const string filename = "output_"+s.str()+".avi";
|
const string filename = tempfile((s.str()+".avi").c_str());
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -332,9 +332,7 @@ void CV_HighGuiTest::VideoTest(const string& dir, const cvtest::VideoFormat& fmt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Before saved release for %s\n", tmp_name.c_str());
|
|
||||||
cvReleaseCapture( &saved );
|
cvReleaseCapture( &saved );
|
||||||
printf("After release\n");
|
|
||||||
|
|
||||||
ts->printf(ts->LOG, "end test function : ImagesVideo \n");
|
ts->printf(ts->LOG, "end test function : ImagesVideo \n");
|
||||||
}
|
}
|
||||||
|
@ -829,7 +829,7 @@ void cv::boxFilter( InputArray _src, OutputArray _dst, int ddepth,
|
|||||||
ddepth = sdepth;
|
ddepth = sdepth;
|
||||||
_dst.create( src.size(), CV_MAKETYPE(ddepth, cn) );
|
_dst.create( src.size(), CV_MAKETYPE(ddepth, cn) );
|
||||||
Mat dst = _dst.getMat();
|
Mat dst = _dst.getMat();
|
||||||
if( borderType != BORDER_CONSTANT && normalize )
|
if( borderType != BORDER_CONSTANT && normalize && (borderType & BORDER_ISOLATED) != 0 )
|
||||||
{
|
{
|
||||||
if( src.rows == 1 )
|
if( src.rows == 1 )
|
||||||
ksize.height = 1;
|
ksize.height = 1;
|
||||||
|
@ -1886,3 +1886,35 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
TEST(Imgproc_Filtering, supportedFormats) { CV_FilterSupportedFormatsTest test; test.safe_run(); }
|
TEST(Imgproc_Filtering, supportedFormats) { CV_FilterSupportedFormatsTest test; test.safe_run(); }
|
||||||
|
|
||||||
|
TEST(Imgproc_Blur, borderTypes)
|
||||||
|
{
|
||||||
|
Size kernelSize(3, 3);
|
||||||
|
|
||||||
|
/// ksize > src_roi.size()
|
||||||
|
Mat src(3, 3, CV_8UC1, cv::Scalar::all(255)), dst;
|
||||||
|
Mat src_roi = src(Rect(1, 1, 1, 1));
|
||||||
|
src_roi.setTo(cv::Scalar::all(0));
|
||||||
|
|
||||||
|
// should work like !BORDER_ISOLATED
|
||||||
|
blur(src_roi, dst, kernelSize, Point(-1, -1), BORDER_REPLICATE);
|
||||||
|
EXPECT_EQ(227, dst.at<uchar>(0, 0));
|
||||||
|
|
||||||
|
// should work like BORDER_ISOLATED
|
||||||
|
blur(src_roi, dst, kernelSize, Point(-1, -1), BORDER_REPLICATE | BORDER_ISOLATED);
|
||||||
|
EXPECT_EQ(0, dst.at<uchar>(0, 0));
|
||||||
|
|
||||||
|
/// ksize <= src_roi.size()
|
||||||
|
src = Mat(5, 5, CV_8UC1, cv::Scalar(255));
|
||||||
|
src_roi = src(Rect(1, 1, 3, 3));
|
||||||
|
src_roi.setTo(0);
|
||||||
|
src.at<uchar>(2, 2) = 255;
|
||||||
|
|
||||||
|
// should work like !BORDER_ISOLATED
|
||||||
|
blur(src_roi, dst, kernelSize, Point(-1, -1), BORDER_REPLICATE);
|
||||||
|
Mat expected_dst =
|
||||||
|
(Mat_<uchar>(3, 3) << 170, 113, 170, 113, 28, 113, 170, 113, 170);
|
||||||
|
EXPECT_EQ(expected_dst.type(), dst.type());
|
||||||
|
EXPECT_EQ(expected_dst.size(), dst.size());
|
||||||
|
EXPECT_DOUBLE_EQ(0.0, cvtest::norm(expected_dst, dst, NORM_INF));
|
||||||
|
}
|
||||||
|
@ -250,7 +250,7 @@ if(ANDROID)
|
|||||||
else(ANDROID)
|
else(ANDROID)
|
||||||
set(JAR_NAME opencv-${LIB_NAME_SUFIX}.jar)
|
set(JAR_NAME opencv-${LIB_NAME_SUFIX}.jar)
|
||||||
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/${JAR_NAME}")
|
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/${JAR_NAME}")
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OpenCV_BINARY_DIR}/build.xml" IMMEDIATE @ONLY)
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OpenCV_BINARY_DIR}/build.xml" @ONLY)
|
||||||
list(APPEND step3_depends "${OpenCV_BINARY_DIR}/build.xml")
|
list(APPEND step3_depends "${OpenCV_BINARY_DIR}/build.xml")
|
||||||
|
|
||||||
add_custom_command(OUTPUT "${JAR_FILE}" "${JAR_FILE}.dephelper"
|
add_custom_command(OUTPUT "${JAR_FILE}" "${JAR_FILE}.dephelper"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Copyright (c) 2010-2011, Ethan Rublee
|
# Copyright (c) 2010-2011, Ethan Rublee
|
||||||
# Copyright (c) 2011-2013, Andrey Kamaev
|
# Copyright (c) 2011-2014, Andrey Kamaev
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
@ -12,9 +12,9 @@
|
|||||||
# this list of conditions and the following disclaimer in the documentation
|
# this list of conditions and the following disclaimer in the documentation
|
||||||
# and/or other materials provided with the distribution.
|
# and/or other materials provided with the distribution.
|
||||||
#
|
#
|
||||||
# 3. The name of the copyright holders may be used to endorse or promote
|
# 3. Neither the name of the copyright holder nor the names of its
|
||||||
# products derived from this software without specific prior written
|
# contributors may be used to endorse or promote products derived from this
|
||||||
# permission.
|
# software without specific prior written permission.
|
||||||
#
|
#
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
@ -29,12 +29,12 @@
|
|||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Android CMake toolchain file, for use with the Android NDK r5-r8
|
# Android CMake toolchain file, for use with the Android NDK r5-r9
|
||||||
# Requires cmake 2.6.3 or newer (2.8.5 or newer is recommended).
|
# Requires cmake 2.6.3 or newer (2.8.5 or newer is recommended).
|
||||||
# See home page: https://github.com/taka-no-me/android-cmake
|
# See home page: https://github.com/taka-no-me/android-cmake
|
||||||
#
|
#
|
||||||
# The file is mantained by the OpenCV project. The latest version can be get at
|
# The file is mantained by the OpenCV project. The latest version can be get at
|
||||||
# https://github.com/Itseez/opencv/tree/master/platforms/android/android.toolchain.cmake
|
# http://code.opencv.org/projects/opencv/repository/revisions/master/changes/android/android.toolchain.cmake
|
||||||
#
|
#
|
||||||
# Usage Linux:
|
# Usage Linux:
|
||||||
# $ export ANDROID_NDK=/absolute/path/to/the/android-ndk
|
# $ export ANDROID_NDK=/absolute/path/to/the/android-ndk
|
||||||
@ -87,8 +87,7 @@
|
|||||||
# "armeabi-v6 with VFP" - tuned for ARMv6 processors having VFP.
|
# "armeabi-v6 with VFP" - tuned for ARMv6 processors having VFP.
|
||||||
# "x86" - matches to the NDK ABI with the same name.
|
# "x86" - matches to the NDK ABI with the same name.
|
||||||
# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
|
# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
|
||||||
# "mips" - matches to the NDK ABI with the same name
|
# "mips" - matches to the NDK ABI with the same name.
|
||||||
# (It is not tested on real devices by the authos of this toolchain)
|
|
||||||
# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
|
# See ${ANDROID_NDK}/docs/CPU-ARCH-ABIS.html for the documentation.
|
||||||
#
|
#
|
||||||
# ANDROID_NATIVE_API_LEVEL=android-8 - level of Android API compile for.
|
# ANDROID_NATIVE_API_LEVEL=android-8 - level of Android API compile for.
|
||||||
@ -292,6 +291,16 @@
|
|||||||
# - April 2013
|
# - April 2013
|
||||||
# [+] support non-release NDK layouts (from Linaro git and Android git)
|
# [+] support non-release NDK layouts (from Linaro git and Android git)
|
||||||
# [~] automatically detect if explicit link to crtbegin_*.o is needed
|
# [~] automatically detect if explicit link to crtbegin_*.o is needed
|
||||||
|
# - June 2013
|
||||||
|
# [~] fixed stl include path for standalone toolchain made by NDK >= r8c
|
||||||
|
# - July 2013
|
||||||
|
# [+] updated for NDK r9
|
||||||
|
# - November 2013
|
||||||
|
# [+] updated for NDK r9b
|
||||||
|
# - December 2013
|
||||||
|
# [+] updated for NDK r9c
|
||||||
|
# - January 2014
|
||||||
|
# [~] fix copying of shared STL
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
cmake_minimum_required( VERSION 2.6.3 )
|
cmake_minimum_required( VERSION 2.6.3 )
|
||||||
@ -318,7 +327,7 @@ set( CMAKE_SYSTEM_VERSION 1 )
|
|||||||
# rpath makes low sence for Android
|
# rpath makes low sence for Android
|
||||||
set( CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries." )
|
set( CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries." )
|
||||||
|
|
||||||
set( ANDROID_SUPPORTED_NDK_VERSIONS ${ANDROID_EXTRA_NDK_VERSIONS} -r9b -r9 -r8e -r8d -r8c -r8b -r8 -r7c -r7b -r7 -r6b -r6 -r5c -r5b -r5 "" )
|
set( ANDROID_SUPPORTED_NDK_VERSIONS ${ANDROID_EXTRA_NDK_VERSIONS} -r9c -r9b -r9 -r8e -r8d -r8c -r8b -r8 -r7c -r7b -r7 -r6b -r6 -r5c -r5b -r5 "" )
|
||||||
if(NOT DEFINED ANDROID_NDK_SEARCH_PATHS)
|
if(NOT DEFINED ANDROID_NDK_SEARCH_PATHS)
|
||||||
if( CMAKE_HOST_WIN32 )
|
if( CMAKE_HOST_WIN32 )
|
||||||
file( TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ANDROID_NDK_SEARCH_PATHS )
|
file( TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ANDROID_NDK_SEARCH_PATHS )
|
||||||
@ -464,7 +473,7 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
# detect current host platform
|
# detect current host platform
|
||||||
if( NOT DEFINED ANDROID_NDK_HOST_X64 AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
|
if( NOT DEFINED ANDROID_NDK_HOST_X64 AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64" OR CMAKE_HOST_APPLE) )
|
||||||
set( ANDROID_NDK_HOST_X64 1 CACHE BOOL "Try to use 64-bit compiler toolchain" )
|
set( ANDROID_NDK_HOST_X64 1 CACHE BOOL "Try to use 64-bit compiler toolchain" )
|
||||||
mark_as_advanced( ANDROID_NDK_HOST_X64 )
|
mark_as_advanced( ANDROID_NDK_HOST_X64 )
|
||||||
endif()
|
endif()
|
||||||
@ -484,9 +493,7 @@ else()
|
|||||||
message( FATAL_ERROR "Cross-compilation on your platform is not supported by this cmake toolchain" )
|
message( FATAL_ERROR "Cross-compilation on your platform is not supported by this cmake toolchain" )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# CMAKE_HOST_SYSTEM_PROCESSOR on MacOS X always says i386 on Intel platform
|
if( NOT ANDROID_NDK_HOST_X64 )
|
||||||
# So we do not trust ANDROID_NDK_HOST_X64 on Apple hosts
|
|
||||||
if( NOT ANDROID_NDK_HOST_X64 AND NOT CMAKE_HOST_APPLE)
|
|
||||||
set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} )
|
set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -634,30 +641,27 @@ endif()
|
|||||||
|
|
||||||
macro( __GLOB_NDK_TOOLCHAINS __availableToolchainsVar __availableToolchainsLst __toolchain_subpath )
|
macro( __GLOB_NDK_TOOLCHAINS __availableToolchainsVar __availableToolchainsLst __toolchain_subpath )
|
||||||
foreach( __toolchain ${${__availableToolchainsLst}} )
|
foreach( __toolchain ${${__availableToolchainsLst}} )
|
||||||
# Skip renderscript folder. It's not C++ toolchain
|
if( "${__toolchain}" MATCHES "-clang3[.][0-9]$" AND NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${__toolchain}${__toolchain_subpath}" )
|
||||||
if (NOT ${__toolchain} STREQUAL "renderscript")
|
string( REGEX REPLACE "-clang3[.][0-9]$" "-4.6" __gcc_toolchain "${__toolchain}" )
|
||||||
if( "${__toolchain}" MATCHES "-clang3[.][0-9]$" AND NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${__toolchain}${__toolchain_subpath}" )
|
else()
|
||||||
string( REGEX REPLACE "-clang3[.][0-9]$" "-4.6" __gcc_toolchain "${__toolchain}" )
|
set( __gcc_toolchain "${__toolchain}" )
|
||||||
else()
|
|
||||||
set( __gcc_toolchain "${__toolchain}" )
|
|
||||||
endif()
|
|
||||||
__DETECT_TOOLCHAIN_MACHINE_NAME( __machine "${ANDROID_NDK_TOOLCHAINS_PATH}/${__gcc_toolchain}${__toolchain_subpath}" )
|
|
||||||
if( __machine )
|
|
||||||
string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9x]+)?$" __version "${__gcc_toolchain}" )
|
|
||||||
if( __machine MATCHES i686 )
|
|
||||||
set( __arch "x86" )
|
|
||||||
elseif( __machine MATCHES arm )
|
|
||||||
set( __arch "arm" )
|
|
||||||
elseif( __machine MATCHES mipsel )
|
|
||||||
set( __arch "mipsel" )
|
|
||||||
endif()
|
|
||||||
list( APPEND __availableToolchainMachines "${__machine}" )
|
|
||||||
list( APPEND __availableToolchainArchs "${__arch}" )
|
|
||||||
list( APPEND __availableToolchainCompilerVersions "${__version}" )
|
|
||||||
list( APPEND ${__availableToolchainsVar} "${__toolchain}" )
|
|
||||||
endif()
|
|
||||||
unset( __gcc_toolchain )
|
|
||||||
endif()
|
endif()
|
||||||
|
__DETECT_TOOLCHAIN_MACHINE_NAME( __machine "${ANDROID_NDK_TOOLCHAINS_PATH}/${__gcc_toolchain}${__toolchain_subpath}" )
|
||||||
|
if( __machine )
|
||||||
|
string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9x]+)?$" __version "${__gcc_toolchain}" )
|
||||||
|
if( __machine MATCHES i686 )
|
||||||
|
set( __arch "x86" )
|
||||||
|
elseif( __machine MATCHES arm )
|
||||||
|
set( __arch "arm" )
|
||||||
|
elseif( __machine MATCHES mipsel )
|
||||||
|
set( __arch "mipsel" )
|
||||||
|
endif()
|
||||||
|
list( APPEND __availableToolchainMachines "${__machine}" )
|
||||||
|
list( APPEND __availableToolchainArchs "${__arch}" )
|
||||||
|
list( APPEND __availableToolchainCompilerVersions "${__version}" )
|
||||||
|
list( APPEND ${__availableToolchainsVar} "${__toolchain}" )
|
||||||
|
endif()
|
||||||
|
unset( __gcc_toolchain )
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@ -687,6 +691,7 @@ if( BUILD_WITH_ANDROID_NDK )
|
|||||||
endif()
|
endif()
|
||||||
__LIST_FILTER( __availableToolchainsLst "^[.]" )
|
__LIST_FILTER( __availableToolchainsLst "^[.]" )
|
||||||
__LIST_FILTER( __availableToolchainsLst "llvm" )
|
__LIST_FILTER( __availableToolchainsLst "llvm" )
|
||||||
|
__LIST_FILTER( __availableToolchainsLst "renderscript" )
|
||||||
__GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
|
__GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
|
||||||
if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 )
|
if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 )
|
||||||
__GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" )
|
__GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" )
|
||||||
@ -975,7 +980,11 @@ if( BUILD_WITH_STANDALONE_TOOLCHAIN )
|
|||||||
set( ANDROID_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot" )
|
set( ANDROID_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot" )
|
||||||
|
|
||||||
if( NOT ANDROID_STL STREQUAL "none" )
|
if( NOT ANDROID_STL STREQUAL "none" )
|
||||||
set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/include/c++/${ANDROID_COMPILER_VERSION}" )
|
set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/include/c++/${ANDROID_COMPILER_VERSION}" )
|
||||||
|
if( NOT EXISTS "${ANDROID_STL_INCLUDE_DIRS}" )
|
||||||
|
# old location ( pre r8c )
|
||||||
|
set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/include/c++/${ANDROID_COMPILER_VERSION}" )
|
||||||
|
endif()
|
||||||
if( ARMEABI_V7A AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}/bits" )
|
if( ARMEABI_V7A AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}/bits" )
|
||||||
list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}" )
|
list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}" )
|
||||||
elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb/bits" )
|
elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb/bits" )
|
||||||
@ -1130,15 +1139,7 @@ endif()
|
|||||||
# case of shared STL linkage
|
# case of shared STL linkage
|
||||||
if( ANDROID_STL MATCHES "shared" AND DEFINED __libstl )
|
if( ANDROID_STL MATCHES "shared" AND DEFINED __libstl )
|
||||||
string( REPLACE "_static.a" "_shared.so" __libstl "${__libstl}" )
|
string( REPLACE "_static.a" "_shared.so" __libstl "${__libstl}" )
|
||||||
if( NOT _CMAKE_IN_TRY_COMPILE AND __libstl MATCHES "[.]so$" )
|
# TODO: check if .so file exists before the renaming
|
||||||
get_filename_component( __libstlname "${__libstl}" NAME )
|
|
||||||
execute_process( COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${__libstl}" "${LIBRARY_OUTPUT_PATH}/${__libstlname}" RESULT_VARIABLE __fileCopyProcess )
|
|
||||||
if( NOT __fileCopyProcess EQUAL 0 OR NOT EXISTS "${LIBRARY_OUTPUT_PATH}/${__libstlname}")
|
|
||||||
message( SEND_ERROR "Failed copying of ${__libstl} to the ${LIBRARY_OUTPUT_PATH}/${__libstlname}" )
|
|
||||||
endif()
|
|
||||||
unset( __fileCopyProcess )
|
|
||||||
unset( __libstlname )
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -1503,7 +1504,8 @@ endif()
|
|||||||
|
|
||||||
# global includes and link directories
|
# global includes and link directories
|
||||||
include_directories( SYSTEM "${ANDROID_SYSROOT}/usr/include" ${ANDROID_STL_INCLUDE_DIRS} )
|
include_directories( SYSTEM "${ANDROID_SYSROOT}/usr/include" ${ANDROID_STL_INCLUDE_DIRS} )
|
||||||
link_directories( "${CMAKE_INSTALL_PREFIX}/libs/${ANDROID_NDK_ABI_NAME}" )
|
get_filename_component(__android_install_path "${CMAKE_INSTALL_PREFIX}/libs/${ANDROID_NDK_ABI_NAME}" ABSOLUTE) # avoid CMP0015 policy warning
|
||||||
|
link_directories( "${__android_install_path}" )
|
||||||
|
|
||||||
# detect if need link crtbegin_so.o explicitly
|
# detect if need link crtbegin_so.o explicitly
|
||||||
if( NOT DEFINED ANDROID_EXPLICIT_CRT_LINK )
|
if( NOT DEFINED ANDROID_EXPLICIT_CRT_LINK )
|
||||||
@ -1555,6 +1557,18 @@ if(NOT _CMAKE_IN_TRY_COMPILE)
|
|||||||
set( LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}" CACHE PATH "path for android libs" )
|
set( LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}" CACHE PATH "path for android libs" )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# copy shaed stl library to build directory
|
||||||
|
if( NOT _CMAKE_IN_TRY_COMPILE AND __libstl MATCHES "[.]so$" )
|
||||||
|
get_filename_component( __libstlname "${__libstl}" NAME )
|
||||||
|
execute_process( COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${__libstl}" "${LIBRARY_OUTPUT_PATH}/${__libstlname}" RESULT_VARIABLE __fileCopyProcess )
|
||||||
|
if( NOT __fileCopyProcess EQUAL 0 OR NOT EXISTS "${LIBRARY_OUTPUT_PATH}/${__libstlname}")
|
||||||
|
message( SEND_ERROR "Failed copying of ${__libstl} to the ${LIBRARY_OUTPUT_PATH}/${__libstlname}" )
|
||||||
|
endif()
|
||||||
|
unset( __fileCopyProcess )
|
||||||
|
unset( __libstlname )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# set these global flags for cmake client scripts to change behavior
|
# set these global flags for cmake client scripts to change behavior
|
||||||
set( ANDROID True )
|
set( ANDROID True )
|
||||||
set( BUILD_ANDROID True )
|
set( BUILD_ANDROID True )
|
||||||
@ -1663,6 +1677,19 @@ if( NOT PROJECT_NAME STREQUAL "CMAKE_TRY_COMPILE" )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# force cmake to produce / instead of \ in build commands for Ninja generator
|
||||||
|
if( CMAKE_GENERATOR MATCHES "Ninja" AND CMAKE_HOST_WIN32 )
|
||||||
|
# it is a bad hack after all
|
||||||
|
# CMake generates Ninja makefiles with UNIX paths only if it thinks that we are going to build with MinGW
|
||||||
|
set( CMAKE_COMPILER_IS_MINGW TRUE ) # tell CMake that we are MinGW
|
||||||
|
set( CMAKE_CROSSCOMPILING TRUE ) # stop recursion
|
||||||
|
enable_language( C )
|
||||||
|
enable_language( CXX )
|
||||||
|
# unset( CMAKE_COMPILER_IS_MINGW ) # can't unset because CMake does not convert back-slashes in response files without it
|
||||||
|
unset( MINGW )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# set some obsolete variables for backward compatibility
|
# set some obsolete variables for backward compatibility
|
||||||
set( ANDROID_SET_OBSOLETE_VARIABLES ON CACHE BOOL "Define obsolete Andrid-specific cmake variables" )
|
set( ANDROID_SET_OBSOLETE_VARIABLES ON CACHE BOOL "Define obsolete Andrid-specific cmake variables" )
|
||||||
mark_as_advanced( ANDROID_SET_OBSOLETE_VARIABLES )
|
mark_as_advanced( ANDROID_SET_OBSOLETE_VARIABLES )
|
||||||
@ -1717,7 +1744,7 @@ endif()
|
|||||||
# BUILD_WITH_STANDALONE_TOOLCHAIN : TRUE if standalone toolchain is used
|
# BUILD_WITH_STANDALONE_TOOLCHAIN : TRUE if standalone toolchain is used
|
||||||
# ANDROID_NDK_HOST_SYSTEM_NAME : "windows", "linux-x86" or "darwin-x86" depending on host platform
|
# ANDROID_NDK_HOST_SYSTEM_NAME : "windows", "linux-x86" or "darwin-x86" depending on host platform
|
||||||
# ANDROID_NDK_ABI_NAME : "armeabi", "armeabi-v7a", "x86" or "mips" depending on ANDROID_ABI
|
# ANDROID_NDK_ABI_NAME : "armeabi", "armeabi-v7a", "x86" or "mips" depending on ANDROID_ABI
|
||||||
# ANDROID_NDK_RELEASE : one of r5, r5b, r5c, r6, r6b, r7, r7b, r7c, r8, r8b, r8c, r8d, r8e; set only for NDK
|
# ANDROID_NDK_RELEASE : one of r5, r5b, r5c, r6, r6b, r7, r7b, r7c, r8, r8b, r8c, r8d, r8e, r9, r9b, r9c; set only for NDK
|
||||||
# ANDROID_ARCH_NAME : "arm" or "x86" or "mips" depending on ANDROID_ABI
|
# ANDROID_ARCH_NAME : "arm" or "x86" or "mips" depending on ANDROID_ABI
|
||||||
# ANDROID_SYSROOT : path to the compiler sysroot
|
# ANDROID_SYSROOT : path to the compiler sysroot
|
||||||
# TOOL_OS_SUFFIX : "" or ".exe" depending on host platform
|
# TOOL_OS_SUFFIX : "" or ".exe" depending on host platform
|
||||||
|
@ -54,6 +54,6 @@ endif()
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
||||||
file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
||||||
install(FILES ${C_SAMPLES}
|
install(FILES ${C_SAMPLES}
|
||||||
DESTINATION share/OpenCV/samples/c
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/c
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -102,6 +102,6 @@ endif()
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
||||||
file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
||||||
install(FILES ${C_SAMPLES}
|
install(FILES ${C_SAMPLES}
|
||||||
DESTINATION share/OpenCV/samples/cpp
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/cpp
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
||||||
endif()
|
endif()
|
||||||
|
@ -94,6 +94,6 @@ endif()
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
||||||
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
||||||
install(FILES ${install_list}
|
install(FILES ${install_list}
|
||||||
DESTINATION share/OpenCV/samples/${project}
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/gpu
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
||||||
endif()
|
endif()
|
||||||
|
@ -29,6 +29,7 @@ endif()
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
||||||
file(GLOB CUDA_FILES performance/*.cpp performance/*.h)
|
file(GLOB CUDA_FILES performance/*.cpp performance/*.h)
|
||||||
install(FILES ${CUDA_FILES}
|
install(FILES ${CUDA_FILES}
|
||||||
DESTINATION share/OpenCV/samples/gpu/performance
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/gpu/performance
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
|
||||||
|
COMPONENT samples)
|
||||||
endif()
|
endif()
|
||||||
|
@ -47,6 +47,6 @@ endif()
|
|||||||
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
if(INSTALL_C_EXAMPLES AND NOT WIN32)
|
||||||
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
|
||||||
install(FILES ${install_list}
|
install(FILES ${install_list}
|
||||||
DESTINATION share/OpenCV/samples/${project}
|
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/tapi
|
||||||
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
|
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user