Build libplugins_libhifiCodec.so

This commit is contained in:
Gabriel Calero 2018-10-05 23:49:06 -03:00
parent 4d4a67cba0
commit 1719f4a474
5 changed files with 49 additions and 10 deletions

View file

@ -7,6 +7,8 @@ target_bullet()
set(INTERFACE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../interface") set(INTERFACE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../interface")
add_subdirectory("${INTERFACE_DIR}" "libraries/interface") add_subdirectory("${INTERFACE_DIR}" "libraries/interface")
include_directories("${INTERFACE_DIR}/src") include_directories("${INTERFACE_DIR}/src")
set(HIFI_CODEC_PLUGIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../plugins/hifiCodec")
add_subdirectory("${HIFI_CODEC_PLUGIN_DIR}" "libraries/hifiCodecPlugin")
target_link_libraries(native-lib android log m interface) target_link_libraries(native-lib android log m interface)

View file

@ -80,8 +80,10 @@ android {
if (Os.isFamily(Os.FAMILY_UNIX)) { if (Os.isFamily(Os.FAMILY_UNIX)) {
def uploadDumpSymsTask = rootProject.getTasksByName("uploadBreakpadDumpSyms${variant.name.capitalize()}", false).first() def uploadDumpSymsTask = rootProject.getTasksByName("uploadBreakpadDumpSyms${variant.name.capitalize()}", false).first()
def runDumpSymsTask = rootProject.getTasksByName("runBreakpadDumpSyms${variant.name.capitalize()}", false).first() def runDumpSymsTask = rootProject.getTasksByName("runBreakpadDumpSyms${variant.name.capitalize()}", false).first()
def renameHifiACTask = rootProject.getTasksByName("renameHifiACTask${variant.name.capitalize()}", false).first()
runDumpSymsTask.dependsOn(task) runDumpSymsTask.dependsOn(task)
variant.assemble.dependsOn(uploadDumpSymsTask) variant.assemble.dependsOn(uploadDumpSymsTask)
variant.assemble.dependsOn(renameHifiACTask)
} }
} }

View file

@ -143,11 +143,9 @@ def packages = [
includeLibs: ['libtbb.so', 'libtbbmalloc.so'], includeLibs: ['libtbb.so', 'libtbbmalloc.so'],
], ],
hifiAC: [ hifiAC: [
file: 'libplugins_libhifiCodec.zip', baseUrl: 'http://s3.amazonaws.com/hifi-public/dependencies/',
versionId: 'i31pW.qNbvFOXRxbyiJUxg3sphaFNmZU', file: 'codecSDK-android_armv8-2.0.zip',
checksum: '9412a8e12c88a4096c1fc843bb9fe52d', checksum: '1cbef929675818fc64c4101b72f84a6a'
sharedLibFolder: '',
includeLibs: ['libplugins_libhifiCodec.so']
], ],
etc2comp: [ etc2comp: [
file: 'etc2comp-patched-armv8-libcpp.tgz', file: 'etc2comp-patched-armv8-libcpp.tgz',
@ -367,7 +365,8 @@ task downloadDependencies {
doLast { doLast {
packages.each { entry -> packages.each { entry ->
def filename = entry.value['file']; def filename = entry.value['file'];
def url = baseUrl + filename; def dependencyBaseUrl = entry.value['baseUrl']
def url = (dependencyBaseUrl?.trim() ? dependencyBaseUrl : baseUrl) + filename;
if (entry.value.containsKey('versionId')) { if (entry.value.containsKey('versionId')) {
url = url + '?versionId=' + entry.value['versionId'] url = url + '?versionId=' + entry.value['versionId']
} }
@ -668,6 +667,23 @@ task uploadBreakpadDumpSymsRelease(type:io.github.httpbuilderng.http.HttpTask, d
} }
} }
task renameHifiACTaskDebug() {
doLast {
def sourceFile = new File("${appDir}/build/intermediates/cmake/debug/obj/arm64-v8a/","libhifiCodec.so")
def destinationFile = new File("${appDir}/src/main/jniLibs/", "libplugins_libhifiCodec.so)")
copy { from sourceFile; into destinationFile.parent; rename(sourceFile.name, destinationFile.name) }
}
}
task renameHifiACTaskRelease(type: Copy) {
doLast {
doLast {
def sourceFile = new File("${appDir}/build/intermediates/cmake/release/obj/arm64-v8a/","libhifiCodec.so")
def destinationFile = new File("${appDir}/src/main/jniLibs/arm64-v8a", "libplugins_libhifiCodec.so")
copy { from sourceFile; into destinationFile.parent; rename(sourceFile.name, destinationFile.name) }
}
}
}
// FIXME this code is prototyping the desired functionality for doing build time binary dependency resolution. // FIXME this code is prototyping the desired functionality for doing build time binary dependency resolution.
// See the comment on the qtBundle task above // See the comment on the qtBundle task above
/* /*

View file

@ -0,0 +1,22 @@
#
# Copyright 2018 High Fidelity, Inc.
# Created by Gabriel Calero and Cristian Duarte on 2018/10/05
#
# Distributed under the Apache License, Version 2.0.
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#
macro(TARGET_HIFIAUDIOCODEC)
if (ANDROID)
set(HIFIAC_INSTALL_DIR ${HIFI_ANDROID_PRECOMPILED}/hifiAC/codecSDK)
set(HIFIAC_LIB_DIR "${HIFIAC_INSTALL_DIR}/Release")
set(HIFIAC_INCLUDE_DIRS "${HIFIAC_INSTALL_DIR}/include" CACHE TYPE INTERNAL)
list(APPEND HIFIAC_LIBS "${HIFIAC_LIB_DIR}/libaudio.a")
set(HIFIAC_LIBRARIES ${HIFIAC_LIBS} CACHE TYPE INTERNAL)
else()
add_dependency_external_projects(hifiAudioCodec)
target_include_directories(${TARGET_NAME} PRIVATE ${HIFIAUDIOCODEC_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${HIFIAUDIOCODEC_LIBRARIES})
endif()
target_include_directories(${TARGET_NAME} PRIVATE ${HIFIAC_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${HIFIAC_LIBRARIES})
endmacro()

View file

@ -9,10 +9,7 @@
set(TARGET_NAME hifiCodec) set(TARGET_NAME hifiCodec)
setup_hifi_client_server_plugin() setup_hifi_client_server_plugin()
link_hifi_libraries(audio plugins) link_hifi_libraries(audio plugins)
add_dependency_external_projects(hifiAudioCodec) target_hifiAudioCodec()
target_include_directories(${TARGET_NAME} PRIVATE ${HIFIAUDIOCODEC_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${HIFIAUDIOCODEC_LIBRARIES})
if (BUILD_SERVER) if (BUILD_SERVER)
install_beside_console() install_beside_console()
endif () endif ()