diff options
author | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-01-13 22:19:42 +0000 |
---|---|---|
committer | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-01-13 22:19:42 +0000 |
commit | 891e17d811248c17d00a22772b6267cb73780ad2 (patch) | |
tree | 3cdc1856be4b606ebc10663b2325f6df06841ba8 /navit | |
parent | f484cef5f152fb969fc40079e9098bbb1c1e4fe3 (diff) | |
download | navit-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.txt | 28 | ||||
-rw-r--r-- | navit/android/AndroidManifest.xml.cmake | 26 | ||||
-rw-r--r-- | navit/android/CMakeLists.txt | 46 | ||||
-rw-r--r-- | navit/graphics/android/CMakeLists.txt | 1 | ||||
-rw-r--r-- | navit/speech/android/CMakeLists.txt | 1 | ||||
-rw-r--r-- | navit/vehicle/android/CMakeLists.txt | 1 | ||||
-rw-r--r-- | navit/xpm/CMakeLists.txt | 2 |
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} |