summaryrefslogtreecommitdiff
path: root/navit
diff options
context:
space:
mode:
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-01-13 22:19:42 +0000
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-01-13 22:19:42 +0000
commit891e17d811248c17d00a22772b6267cb73780ad2 (patch)
tree3cdc1856be4b606ebc10663b2325f6df06841ba8 /navit
parentf484cef5f152fb969fc40079e9098bbb1c1e4fe3 (diff)
downloadnavit-891e17d811248c17d00a22772b6267cb73780ad2.tar.gz
Add:Build/cmake:Added Android build support
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3915 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit')
-rw-r--r--navit/CMakeLists.txt28
-rw-r--r--navit/android/AndroidManifest.xml.cmake26
-rw-r--r--navit/android/CMakeLists.txt46
-rw-r--r--navit/graphics/android/CMakeLists.txt1
-rw-r--r--navit/speech/android/CMakeLists.txt1
-rw-r--r--navit/vehicle/android/CMakeLists.txt1
-rw-r--r--navit/xpm/CMakeLists.txt2
7 files changed, 94 insertions, 11 deletions
diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt
index 243c3faeb..b1b778ba8 100644
--- a/navit/CMakeLists.txt
+++ b/navit/CMakeLists.txt
@@ -57,15 +57,25 @@ if (${HAVE_GLIB})
list(APPEND NAVIT_SRC event_glib.c)
endif()
+if(ANDROID)
+ list(APPEND NAVIT_SRC android.c)
+ set(NAVIT_LIBNAME navit)
+else()
+ set(NAVIT_LIBNAME navit_core)
+ add_executable (navit start.c)
+ target_link_libraries (navit ${NAVIT_LIBNAME})
+ set_target_properties(navit PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}")
+endif()
+
if (SHARED_LIBNAVIT)
- add_library (navit_core SHARED ${NAVIT_SRC} )
+ add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} )
else(SHARED_LIBNAVIT)
- add_library (navit_core STATIC ${NAVIT_SRC} )
+ add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} )
endif(SHARED_LIBNAVIT)
-target_link_libraries(navit_core ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib ${NAVIT_LIBS} m) # support_glib support_zlib support_win32 support_libpng support_wordexp
-set_target_properties(navit_core PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+target_link_libraries(${NAVIT_LIBNAME} ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib ${NAVIT_LIBS} m)
+set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
if (DEFINED NAVIT_COMPILE_FLAGS)
- set_target_properties(navit_core PROPERTIES COMPILE_FLAGS ${NAVIT_COMPILE_FLAGS})
+ set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}")
endif()
# Subversion revision
@@ -97,20 +107,18 @@ ADD_CUSTOM_COMMAND(
${XSLT_COMMANDS}
)
+add_custom_target( navit_config_xml ALL DEPENDS navit.xml)
-#configure_file (${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
-ADD_DEPENDENCIES(navit_core version)
+ADD_DEPENDENCIES(${NAVIT_LIBNAME} version)
if (ENABLE_NLS)
ADD_DEPENDENCIES(support_glib intl_cmake)
endif()
-add_executable (navit start.c navit.xml)
-target_link_libraries (navit navit_core)
-set_target_properties(navit PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}")
add_subdirectory (maptool)
add_subdirectory (xpm)
add_subdirectory (maps)
+add_subdirectory (android)
install(TARGETS navit
DESTINATION ${BIN_DIR}
diff --git a/navit/android/AndroidManifest.xml.cmake b/navit/android/AndroidManifest.xml.cmake
new file mode 100644
index 000000000..38b32b8b9
--- /dev/null
+++ b/navit/android/AndroidManifest.xml.cmake
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.navitproject.navit"
+ android:sharedUserId="org.navitproject.navit"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="@ANDROID_API_VERSION@" />
+ <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" />
+ @ANDROID_PERMISSIONS@
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.INTERNET" />-->
+ <application android:label="@string/app_name">
+ <activity android:name="Navit"
+ android:label="@string/app_name"
+ android:icon="@drawable/icon"
+ android:theme="@android:style/Theme.NoTitleBar"
+ android:configChanges="locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|fontScale">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/navit/android/CMakeLists.txt b/navit/android/CMakeLists.txt
new file mode 100644
index 000000000..d26a97ec2
--- /dev/null
+++ b/navit/android/CMakeLists.txt
@@ -0,0 +1,46 @@
+if (ANDROID)
+
+ CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml)
+
+
+ add_custom_command (
+ OUTPUT build.xml
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml
+ COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND android update project -t android-${ANDROID_API_VERSION} -p ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND cmake -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res/raw/
+ COMMAND cmake -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/libs/armeabi
+ COMMAND cmake -E copy ${PROJECT_BINARY_DIR}/navit/navit.xml ${CMAKE_CURRENT_BINARY_DIR}/res/raw/
+ COMMAND cmake -E copy ${PROJECT_BINARY_DIR}/navit/libnavit.so ${CMAKE_CURRENT_BINARY_DIR}/libs/armeabi/
+ COMMAND ${CMAKE_COMMAND}
+ -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/xpm/*.png"
+ -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/drawable
+ -D LOWER=1
+ -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake
+ COMMAND ${CMAKE_COMMAND}
+ -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/*/*/.libs/*.so"
+ -D DST=${CMAKE_CURRENT_BINARY_DIR}/libs/armeabi
+ -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake
+ COMMAND ${CMAKE_COMMAND}
+ -D GLOB_EXP="${PROJECT_BINARY_DIR}/po/*.mo"
+ -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/raw
+ -D LOWER=1
+ -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake
+ )
+
+ add_custom_command (
+ OUTPUT Navit-debug.apk
+ DEPENDS build.xml
+ COMMAND ant debug
+ )
+
+ add_custom_command (
+ OUTPUT Navit-unsigned.apk
+ DEPENDS build.xml
+ COMMAND ant release
+ )
+
+ add_custom_target(apkg DEPENDS Navit-debug.apk)
+ add_custom_target(apkg-release DEPENDS Navit-unsigned.apk)
+
+endif(ANDROID)
diff --git a/navit/graphics/android/CMakeLists.txt b/navit/graphics/android/CMakeLists.txt
new file mode 100644
index 000000000..87aa37f20
--- /dev/null
+++ b/navit/graphics/android/CMakeLists.txt
@@ -0,0 +1 @@
+module_add_library(graphics_android graphics_android.c)
diff --git a/navit/speech/android/CMakeLists.txt b/navit/speech/android/CMakeLists.txt
new file mode 100644
index 000000000..73c426a3e
--- /dev/null
+++ b/navit/speech/android/CMakeLists.txt
@@ -0,0 +1 @@
+module_add_library(speech_android speech_android.c)
diff --git a/navit/vehicle/android/CMakeLists.txt b/navit/vehicle/android/CMakeLists.txt
new file mode 100644
index 000000000..e7b19ebba
--- /dev/null
+++ b/navit/vehicle/android/CMakeLists.txt
@@ -0,0 +1 @@
+module_add_library(vehicle_android vehicle_android.c)
diff --git a/navit/xpm/CMakeLists.txt b/navit/xpm/CMakeLists.txt
index 726fedb82..8bdf62c9a 100644
--- a/navit/xpm/CMakeLists.txt
+++ b/navit/xpm/CMakeLists.txt
@@ -98,7 +98,7 @@ foreach (IMAGE_SRC ${FILES_TO_PNG})
endforeach()
-add_custom_target(images DEPENDS ${IMAGE_TARGETS})
+add_custom_target(images ALL DEPENDS ${IMAGE_TARGETS})
install(
FILES ${IMAGE_TARGETS}