Instroduced separate option for Android examples - BUILD_ANDROID_EXAMPLES
authorAndrey Kamaev <no@email>
Mon, 4 Jul 2011 08:18:02 +0000 (08:18 +0000)
committerAndrey Kamaev <no@email>
Mon, 4 Jul 2011 08:18:02 +0000 (08:18 +0000)
CMakeLists.txt
modules/java/CMakeLists.txt
samples/CMakeLists.txt
samples/android/CMakeLists.txt

index f14dfe4..d725c2c 100644 (file)
@@ -668,7 +668,7 @@ if (PYTHON_EXECUTABLE AND ANDROID)
     option(BUILD_JAVA_SUPPORT "Build with Java support" TRUE)
 endif()
 
-if (BUILD_JAVA_SUPPORT AND (BUILD_EXAMPLES OR BUILD_TESTS))
+if (BUILD_JAVA_SUPPORT)
     file(TO_CMAKE_PATH "$ENV{ANT_DIR}" ANT_DIR_ENV_PATH)
     file(TO_CMAKE_PATH "$ENV{ProgramFiles}" ProgramFiles_ENV_PATH)
 
@@ -713,6 +713,10 @@ if (BUILD_JAVA_SUPPORT AND (BUILD_EXAMPLES OR BUILD_TESTS))
     endif()
 endif()
 
+if(CAN_BUILD_ANDROID_PROJECTS)
+    option(BUILD_ANDROID_EXAMPLES "Build examples for Android platform" TRUE)
+endif()
+
 #YV
 ############################### QT ################################
 
@@ -1441,7 +1445,7 @@ add_subdirectory(doc)
 add_subdirectory(data)
 add_subdirectory(3rdparty)
 
-if(BUILD_EXAMPLES OR INSTALL_PYTHON_EXAMPLES)
+if(BUILD_EXAMPLES OR BUILD_ANDROID_EXAMPLES OR INSTALL_PYTHON_EXAMPLES)
     add_subdirectory(samples)
 endif()
 
@@ -1509,6 +1513,11 @@ else()
     status("    Linker flags (Debug):"   ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
 endif()
 
+if(ANDROID)
+    status("    Floating point type:" ${ARM_TARGET})
+    status("    Native API level:" android-${ANDROID_API_LEVEL})
+endif()
+
 #YV
 status("")
 status("  GUI: ")
@@ -1626,7 +1635,7 @@ status("    Examples:" BUILD_EXAMPLES  THEN YES ELSE NO)
 
 if(ANDROID)
    status("    Android tests:" BUILD_TESTS AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
-   status("    Android examples:" BUILD_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
+   status("    Android examples:" BUILD_ANDROID_EXAMPLES THEN YES ELSE NO)
 endif()
 
 # auxiliary
@@ -1640,4 +1649,4 @@ status("")
 # warn in the case of in-source build
 if("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
     message(WARNING "The source directory is the same as binary directory. \"make clean\" may damage the source tree")
-endif()
\ No newline at end of file
+endif()
index bd4cab8..19c988f 100644 (file)
@@ -64,8 +64,17 @@ FILE(GLOB handwrittren_cpp_sources "${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/*.cpp")
 
 add_library(${target} SHARED ${handwrittren_cpp_sources} ${generated_cpp_sources})
 target_link_libraries(${target} ${dependent_libs} ${dependent_extra_libs} ${OPENCV_LINKER_LIBS})
+
 if(ANDROID)
     target_link_libraries(${target} jnigraphics)
+
+    # force strip library before install/strip command
+    # because samples and tests will make a copy of library before install
+    ADD_CUSTOM_COMMAND(
+        TARGET ${target}
+        POST_BUILD
+        COMMAND ${CMAKE_STRIP} "${LIBRARY_OUTPUT_PATH}/lib${target}.so"
+        )
 endif()
 
 #add_dependencies(${the_target} ${dependent_extra_libs} ${dependent_libs})
index 7a7fe68..3bd7b32 100644 (file)
@@ -10,7 +10,7 @@ if(NOT ANDROID)
     add_subdirectory(gpu)
 endif()
 
-if(ANDROID AND CAN_BUILD_ANDROID_PROJECTS)
+if(BUILD_ANDROID_EXAMPLES)
    add_subdirectory(android)
 endif()
 
index 6e2a4ae..7c524b9 100644 (file)
@@ -3,7 +3,7 @@
 #
 # ----------------------------------------------------------------------------
 
-if (BUILD_EXAMPLES)
+if (BUILD_ANDROID_EXAMPLES)
     project(android_samples)
 
     include_directories(
@@ -98,7 +98,7 @@ if (BUILD_EXAMPLES)
     endforeach()
 
     #hello-android sample
-    ADD_EXECUTABLE( hello-android hello-android/main.cpp )
+    ADD_EXECUTABLE(hello-android hello-android/main.cpp)
     ADD_DEPENDENCIES(hello-android ${sample_dependencies})
     TARGET_LINK_LIBRARIES(hello-android ${OPENCV_LINKER_LIBS} ${sample_dependencies})
     set_target_properties(hello-android PROPERTIES OUTPUT_NAME hello-android RUNTIME_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}")