summaryrefslogtreecommitdiffstats
path: root/project/cmake/scripts/android
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2017-06-04 16:57:49 +0200
committermanuel <manuel@mausz.at>2017-06-04 16:57:49 +0200
commitf44ecaa4f27e7538ddcad66d40e543bffa2d2d86 (patch)
treed8de60fc7e17edeb6f0921726c038ee54b281445 /project/cmake/scripts/android
parentae08c8b7221bc965ac40d70e53fc8fcddb050c46 (diff)
downloadkodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.gz
kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.bz2
kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.zip
sync with upstream
Diffstat (limited to 'project/cmake/scripts/android')
-rw-r--r--project/cmake/scripts/android/ArchSetup.cmake35
-rw-r--r--project/cmake/scripts/android/Install.cmake122
l---------project/cmake/scripts/android/Macros.cmake1
-rw-r--r--project/cmake/scripts/android/PathSetup.cmake33
4 files changed, 0 insertions, 191 deletions
diff --git a/project/cmake/scripts/android/ArchSetup.cmake b/project/cmake/scripts/android/ArchSetup.cmake
deleted file mode 100644
index 281f94f..0000000
--- a/project/cmake/scripts/android/ArchSetup.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
1if(NOT CMAKE_TOOLCHAIN_FILE)
2 message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for android. See ${PROJECT_SOURCE_DIR}/README.md")
3elseif(NOT SDK_PLATFORM)
4 message(FATAL_ERROR "Toolchain did not define SDK_PLATFORM. Possibly outdated depends.")
5endif()
6
7set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID)
8set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED
9 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64)
10set(PLATFORM_DIR linux)
11if(WITH_ARCH)
12 set(ARCH ${WITH_ARCH})
13else()
14 if(CPU STREQUAL armeabi-v7a)
15 set(ARCH arm)
16 set(NEON True)
17 elseif(CPU STREQUAL arm64-v8a)
18 set(ARCH aarch64)
19 elseif(CPU STREQUAL i686)
20 set(ARCH i486-linux)
21 set(NEON False)
22 else()
23 message(SEND_ERROR "Unknown CPU: ${CPU}")
24 endif()
25endif()
26
27set(FFMPEG_OPTS --enable-cross-compile --cpu=cortex-a9 --arch=arm --target-os=linux --enable-neon
28 --disable-vdpau --cc=${CMAKE_C_COMPILER} --host-cc=${CMAKE_C_COMPILER}
29 --strip=${CMAKE_STRIP})
30set(ENABLE_SDL OFF CACHE BOOL "" FORCE)
31set(ENABLE_X11 OFF CACHE BOOL "" FORCE)
32set(ENABLE_AML OFF CACHE BOOL "" FORCE)
33set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE)
34
35list(APPEND DEPLIBS android log jnigraphics)
diff --git a/project/cmake/scripts/android/Install.cmake b/project/cmake/scripts/android/Install.cmake
deleted file mode 100644
index 025f194..0000000
--- a/project/cmake/scripts/android/Install.cmake
+++ /dev/null
@@ -1,122 +0,0 @@
1# Android packaging
2
3find_program(AAPT_EXECUTABLE aapt PATHS ${SDK_BUILDTOOLS_PATH})
4if(NOT AAPT_EXECUTABLE)
5 message(FATAL_ERROR "Could NOT find aapt executable")
6endif()
7find_program(DX_EXECUTABLE dx PATHS ${SDK_BUILDTOOLS_PATH})
8if(NOT DX_EXECUTABLE)
9 message(FATAL_ERROR "Could NOT find dx executable")
10endif()
11find_program(ZIPALIGN_EXECUTABLE zipalign PATHS ${SDK_BUILDTOOLS_PATH})
12if(NOT ZIPALIGN_EXECUTABLE)
13 message(FATAL_ERROR "Could NOT find zipalign executable")
14endif()
15
16# Configure files into packaging environment.
17configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/Makefile.in
18 ${CMAKE_BINARY_DIR}/tools/android/packaging/Makefile @ONLY)
19configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/apksign
20 ${CMAKE_BINARY_DIR}/tools/android/packaging/apksign COPYONLY)
21configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/make_symbols.sh
22 ${CMAKE_BINARY_DIR}/tools/android/packaging/make_symbols.sh COPYONLY)
23file(WRITE ${CMAKE_BINARY_DIR}/tools/depends/Makefile.include
24 "$(PREFIX)/lib/${APP_NAME_LC}/lib${APP_NAME_LC}.so: ;\n")
25
26set(package_files strings.xml
27 activity_main.xml
28 AndroidManifest.xml
29 src/org/xbmc/kodi/XBMCOnAudioFocusChangeListener.java
30 src/org/xbmc/kodi/XBMCInputDeviceListener.java
31 src/org/xbmc/kodi/Main.java
32 src/org/xbmc/kodi/XBMCSettingsContentObserver.java
33 src/org/xbmc/kodi/XBMCOnFrameAvailableListener.java
34 src/org/xbmc/kodi/XBMCVideoView.java
35 src/org/xbmc/kodi/Splash.java
36 src/org/xbmc/kodi/XBMCBroadcastReceiver.java)
37foreach(file IN LISTS package_files)
38 configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/xbmc/${file}.in
39 ${CMAKE_BINARY_DIR}/tools/android/packaging/xbmc/${file} @ONLY)
40endforeach()
41
42# Copy files to the location expected by the Android packaging scripts.
43add_custom_target(bundle
44 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/android/packaging/media
45 ${CMAKE_BINARY_DIR}/tools/android/packaging/media
46 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/android/packaging/xbmc/res
47 ${CMAKE_BINARY_DIR}/tools/android/packaging/xbmc/res
48 COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDS_PATH}/lib/python2.7 ${libdir}/python2.7
49 COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDS_PATH}/share/${APP_NAME_LC} ${datadir}/${APP_NAME_LC}
50 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}>
51 ${libdir}/${APP_NAME_LC}/$<TARGET_FILE_NAME:${APP_NAME_LC}>)
52add_dependencies(bundle ${APP_NAME_LC})
53
54# This function is used to prepare a prefix expected by the Android packaging
55# scripts. It creates a bundle_files command that is added to the bundle target.
56function(add_bundle_file file destination relative)
57 if(NOT TARGET bundle_files)
58 file(REMOVE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake)
59 add_custom_target(bundle_files COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake)
60 add_dependencies(bundle bundle_files)
61 endif()
62
63 string(REPLACE "${relative}/" "" outfile ${file})
64 get_filename_component(file ${file} REALPATH)
65 get_filename_component(outdir ${outfile} DIRECTORY)
66 file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake
67 "file(COPY \"${file}\" DESTINATION \"${destination}/${outdir}\")\n")
68 if(file MATCHES "\\.so\\..+$")
69 get_filename_component(srcfile "${file}" NAME)
70 string(REGEX REPLACE "\\.so\\..+$" "\.so" destfile ${srcfile})
71 file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake
72 "file(RENAME \"${destination}/${outdir}/${srcfile}\" \"${destination}/${outdir}/${destfile}\")\n")
73 endif()
74endfunction()
75
76# Copy files into prefix
77foreach(file IN LISTS XBT_FILES install_data)
78 string(REPLACE "${CMAKE_BINARY_DIR}/" "" file ${file})
79 add_bundle_file(${CMAKE_BINARY_DIR}/${file} ${datarootdir}/${APP_NAME_LC} ${CMAKE_BINARY_DIR})
80endforeach()
81
82foreach(library IN LISTS LIBRARY_FILES)
83 add_bundle_file(${library} ${libdir}/${APP_NAME_LC} ${CMAKE_BINARY_DIR})
84endforeach()
85
86foreach(lib IN LISTS required_dyload dyload_optional ITEMS Shairplay)
87 string(TOUPPER ${lib} lib_up)
88 set(lib_so ${${lib_up}_SONAME})
89 if(lib_so AND EXISTS ${DEPENDS_PATH}/lib/${lib_so})
90 add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "")
91 endif()
92endforeach()
93add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "")
94
95# Main targets from Makefile.in
96if(CPU MATCHES i686)
97 set(CPU x86)
98 set(ARCH x86)
99endif()
100foreach(target apk obb apk-unsigned apk-obb apk-obb-unsigned apk-noobb apk-clean apk-sign)
101 add_custom_target(${target}
102 COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} ${CMAKE_MAKE_PROGRAM}
103 -C ${CMAKE_BINARY_DIR}/tools/android/packaging
104 CORE_SOURCE_DIR=${CORE_SOURCE_DIR}
105 CC=${CMAKE_C_COMPILER}
106 CPU=${CPU}
107 ARCH=${ARCH}
108 PREFIX=${prefix}
109 NDKROOT=${NDKROOT}
110 SDKROOT=${SDKROOT}
111 SDK_PLATFORM=${SDK_PLATFORM}
112 STRIP=${CMAKE_STRIP}
113 AAPT=${AAPT_EXECUTABLE}
114 DX=${DX_EXECUTABLE}
115 ZIPALIGN=${ZIPALIGN_EXECUTABLE}
116 ${target}
117 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/android/packaging
118 )
119 if(NOT target STREQUAL apk-clean)
120 add_dependencies(${target} bundle)
121 endif()
122endforeach()
diff --git a/project/cmake/scripts/android/Macros.cmake b/project/cmake/scripts/android/Macros.cmake
deleted file mode 120000
index 2fdbb25..0000000
--- a/project/cmake/scripts/android/Macros.cmake
+++ /dev/null
@@ -1 +0,0 @@
1../linux/Macros.cmake \ No newline at end of file
diff --git a/project/cmake/scripts/android/PathSetup.cmake b/project/cmake/scripts/android/PathSetup.cmake
deleted file mode 100644
index 69de883..0000000
--- a/project/cmake/scripts/android/PathSetup.cmake
+++ /dev/null
@@ -1,33 +0,0 @@
1if(NOT prefix)
2 set(prefix ${CMAKE_BINARY_DIR}/install)
3endif()
4set(CMAKE_INSTALL_PREFIX ${prefix})
5if(NOT exec_prefix)
6 set(exec_prefix ${prefix})
7endif()
8if(NOT libdir)
9 set(libdir ${prefix}/lib)
10endif()
11if(NOT bindir)
12 set(bindir ${prefix}/bin)
13endif()
14if(NOT includedir)
15 set(includedir ${prefix}/include)
16endif()
17if(NOT datarootdir)
18 set(datarootdir ${prefix}/share)
19endif()
20if(NOT datadir)
21 set(datadir ${datarootdir})
22endif()
23
24list(APPEND final_message "-- PATH config --")
25list(APPEND final_message "Prefix: ${prefix}")
26list(APPEND final_message "Libdir: ${libdir}")
27list(APPEND final_message "Bindir: ${bindir}")
28list(APPEND final_message "Includedir: ${includedir}")
29list(APPEND final_message "Datarootdir: ${datarootdir}")
30list(APPEND final_message "Datadir: ${datadir}")
31
32set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\"
33 -DINSTALL_PATH=\"${datarootdir}/kodi\")