modding the 3rdparty CMakeLists.txt to allow for android compilation using cmake
authorEthan Rublee <no@email>
Wed, 22 Sep 2010 02:01:54 +0000 (02:01 +0000)
committerEthan Rublee <no@email>
Wed, 22 Sep 2010 02:01:54 +0000 (02:01 +0000)
Basically just adding lines at top of CMakeLists that alter behavior if ANDROID is set to
true.

3rdparty/CMakeLists.txt
3rdparty/flann/CMakeLists.txt
3rdparty/lapack/CMakeLists.txt
3rdparty/libjasper/CMakeLists.txt
3rdparty/libjpeg/CMakeLists.txt
3rdparty/libpng/CMakeLists.txt
3rdparty/zlib/CMakeLists.txt

index ab705238188f5516533e9c2265661de3187119a9..d06040d9e779e5d5a891f0ce59db0fe51424aea1 100644 (file)
@@ -1,3 +1,7 @@
+if(ANDROID)
+ configure_file("${CMAKE_SOURCE_DIR}/Android.mk.modules.in" "${CMAKE_CURRENT_BINARY_DIR}/Android.mk")
+endif()
+
 add_subdirectory(flann)
 add_subdirectory(lapack)
 add_subdirectory(zlib)
@@ -13,4 +17,7 @@ endif()
 if(WITH_TIFF AND NOT TIFF_FOUND)
        add_subdirectory(libtiff)
 endif()
+
+if(NOT ANDROID)
 add_subdirectory(gtest)
+endif()
index 8e41fd4d46756e290c2b2901312dc1a64953d762..f4bb6889c7bb4fa5dac8abd9fe3444ae65319d3e 100644 (file)
@@ -1,3 +1,7 @@
+if(ANDROID)
+file(GLOB_RECURSE flann_sources_cpp *.cpp)
+define_android_manual(flann "${flann_sources_cpp}" "$(LOCAL_PATH)/../include $(LOCAL_PATH)/../include/flann")          
+else(ANDROID)
 if (DEFINED OPENCV_VERSION)
 
 # ----------------------------------------------------------------------------
@@ -100,3 +104,4 @@ INSTALL (
 )
 
 ENDIF()
+endif(ANDROID)#android
index 933e7cab4656502a7338d56839f5a38824ad285f..6f498bd9ecfaeee9f9e3e0d4838688042a181623 100644 (file)
@@ -2,6 +2,10 @@
 #  CMake file for opencv_lapack. See root CMakeLists.txt
 #
 # ----------------------------------------------------------------------------
+if(ANDROID)
+define_3rdparty_module(opencv_lapack)
+else()
+
 project(opencv_lapack)
 
 # List of C++ files:
@@ -56,3 +60,4 @@ set_target_properties(${the_target}
        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
        ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty/lib
        )
+endif() #android
index 0564cae95dd5d7e639b513ab53d6953f53c17467..72f0d297e1bfafd79024ff61c897db7a8710b5b9 100644 (file)
@@ -1,9 +1,17 @@
+if(ANDROID)
+set(android_defs "-DEXCLUDE_MIF_SUPPORT -DEXCLUDE_PNM_SUPPORT -DEXCLUDE_BMP_SUPPORT -DEXCLUDE_RAS_SUPPORT  -DEXCLUDE_JPG_SUPPORT -DEXCLUDE_PGX_SUPPORT")
+define_3rdparty_module(jasper)
+set(android_defs "")
+else(ANDROID)
+
+
 # ----------------------------------------------------------------------------
 #  CMake file for libjasper. See root CMakeLists.txt
 #
 # ----------------------------------------------------------------------------
 project(libjasper)
 
+
 add_definitions(-DEXCLUDE_MIF_SUPPORT -DEXCLUDE_PNM_SUPPORT -DEXCLUDE_BMP_SUPPORT -DEXCLUDE_RAS_SUPPORT  -DEXCLUDE_JPG_SUPPORT -DEXCLUDE_PGX_SUPPORT)
 
 # List of C++ files:
@@ -41,9 +49,12 @@ if(CMAKE_COMPILER_IS_GNUCXX)
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-function-declaration -Wno-unused")
 endif()
 
+
+
 set_target_properties(${the_target}
        PROPERTIES
        OUTPUT_NAME "${the_target}"
        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
        ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/lib"
        )
+endif(ANDROID)#!android
index fabfa8fb8b3a281fa1e944e12714fd6d8132c118..952a2121764f86d4387ac39036521a88fdddd1fe 100644 (file)
@@ -1,3 +1,7 @@
+if(ANDROID)
+define_3rdparty_module(jpeg)
+else()
+#endif()#android
 # ----------------------------------------------------------------------------
 #  CMake file for libjpeg. See root CMakeLists.txt
 #
@@ -39,3 +43,4 @@ set_target_properties(${the_target}
        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
        ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty/lib
        )
+endif()#android
index 4fb7e6ade5f091d5027dfd2e8e7aac8f99b13a32..85d314e9002c7a0e106869dadd6f61fbeba3d6c5 100644 (file)
@@ -1,3 +1,6 @@
+if(ANDROID)
+define_3rdparty_module(png)
+else()
 # ----------------------------------------------------------------------------
 #  CMake file for libpng. See root CMakeLists.txt
 #
@@ -38,3 +41,4 @@ set_target_properties(${the_target}
        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
        ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/lib"
        )
+endif()#android
index 1594f5e97a0f7e2369c2ac2d8605bc6d45a0c9e4..67b1f34f8740feecaab5a74d0e5b481ccd57c04c 100644 (file)
@@ -1,3 +1,6 @@
+if(ANDROID)
+define_3rdparty_module(zlib)
+else()
 # ----------------------------------------------------------------------------
 #  CMake file for zlib. See root CMakeLists.txt
 #
@@ -35,3 +38,5 @@ set_target_properties(${the_target}
         DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
         ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/lib"
     )
+
+endif(ANDROID)