Skip to content

Issue while linking(Android) #238

@maciejmakowski2003

Description

@maciejmakowski2003

CMakeList.txt:

cmake_minimum_required(VERSION 3.12.0)
project(react-native-audio-api)

set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_STANDARD 20)

# Detect the operating system
if(APPLE)
    set(HAVE_ACCELERATE TRUE)
endif()

# Detect the processor and SIMD support
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
    set(HAVE_ARM_NEON_INTRINSICS TRUE)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64")
    set(HAVE_X86_SSE2 TRUE)
endif()

include("${REACT_NATIVE_DIR}/ReactAndroid/cmake-utils/folly-flags.cmake")
add_compile_options(${folly_FLAGS})

set(KFR_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/main/lib/cmake/kfr")

file(GLOB_RECURSE SOURCE_FILES
  "src/main/cpp/*.cpp"
  "src/main/cpp/*.h"
  "../common/cpp/*.cpp"
  "../common/cpp/*.h"
  "../common/cpp/core/*.cpp"
  "../common/cpp/core/*.h"
  "../common/cpp/wrappers/*.cpp"
  "../common/cpp/wrappers/*.h"
  "../common/cpp/HostObjects/*.cpp"
  "../common/cpp/HostObjects/*.h"
  "../common/cpp/utils/*.cpp"
  "../common/cpp/utils/*.h"
  "../common/cpp/types/*.h"
)

add_library(react-native-audio-api SHARED ${SOURCE_FILES})

file(GLOB DIRS CONFIGURE_DEPENDS "src/main/cpp/**" "../common/cpp/**")

target_include_directories(
  react-native-audio-api
  PRIVATE
  ${DIRS}
  "${REACT_NATIVE_DIR}/ReactCommon/jsi"
  "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/jni"
  "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/third-party/folly"
)

find_package(ReactAndroid REQUIRED CONFIG)
find_package(fbjni REQUIRED CONFIG)
find_package(oboe REQUIRED CONFIG)
find_package(KFR REQUIRED CONFIG)

set(LINK_LIBRARIES
  ReactAndroid::jsi
  fbjni::fbjni
  android
  log
  oboe::oboe
  KFR::kfr
  KFR::kfr_dsp
  KFR::kfr_dft
)

if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
  set(RN_VERSION_LINK_LIBRARIES
    ReactAndroid::reactnative
  )
else()
  set(RN_VERSION_LINK_LIBRARIES
    ReactAndroid::folly_runtime
    ReactAndroid::glog
    ReactAndroid::reactnativejni
  )
endif()

target_link_libraries(react-native-audio-api ${LINK_LIBRARIES} ${RN_VERSION_LINK_LIBRARIES})

Error:

> Task :prepareKotlinBuildScriptModel UP-TO-DATE
C/C++: CMake Error at CMakeLists.txt:56 (find_package):
C/C++:   Could not find a configuration file for package "KFR" that is compatible
C/C++:   with requested version "".
C/C++:   The following configuration files were considered but not accepted:
C/C++:     /Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/src/main/lib/cmake/kfr/KFRConfig.cmake, version: 6.1.0 (64bit)
[CXX1429] error when building with cmake using /Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/CMakeLists.txt: -- The C compiler identification is Clang 17.0.2
-- The CXX compiler identification is Clang 17.0.2
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/maciejmakowski/Library/Android/sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/maciejmakowski/Library/Android/sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!
See also "/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/.cxx/Debug/u41w4e24/x86/CMakeFiles/CMakeOutput.log".

C++ build system [configure] failed while executing:
    /Users/maciejmakowski/Library/Android/sdk/cmake/3.22.1/bin/cmake \
      -H/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android \
      -DCMAKE_SYSTEM_NAME=Android \
      -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
      -DCMAKE_SYSTEM_VERSION=24 \
      -DANDROID_PLATFORM=android-24 \
      -DANDROID_ABI=x86 \
      -DCMAKE_ANDROID_ARCH_ABI=x86 \
      -DANDROID_NDK=/Users/maciejmakowski/Library/Android/sdk/ndk/26.1.10909125 \
      -DCMAKE_ANDROID_NDK=/Users/maciejmakowski/Library/Android/sdk/ndk/26.1.10909125 \
      -DCMAKE_TOOLCHAIN_FILE=/Users/maciejmakowski/Library/Android/sdk/ndk/26.1.10909125/build/cmake/android.toolchain.cmake \
      -DCMAKE_MAKE_PROGRAM=/Users/maciejmakowski/Library/Android/sdk/cmake/3.22.1/bin/ninja \
      "-DCMAKE_CXX_FLAGS=-O2 -frtti -fexceptions -Wall -fstack-protector-all" \
      -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/build/intermediates/cxx/Debug/u41w4e24/obj/x86 \
      -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/build/intermediates/cxx/Debug/u41w4e24/obj/x86 \
      -DCMAKE_BUILD_TYPE=Debug \
      -DCMAKE_FIND_ROOT_PATH=/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/.cxx/Debug/u41w4e24/prefab/x86/prefab \
      -B/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android/.cxx/Debug/u41w4e24/x86 \
      -GNinja \
      -DANDROID_STL=c++_shared \
      -DREACT_NATIVE_DIR=/Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native
  from /Users/maciejmakowski/projects/react-native-audio-api/apps/fabric-example/node_modules/react-native-audio-api/android
CMake Error at CMakeLists.txt:56 (find_package):
  Could not find a configuration file for package "KFR" that is compatible
  with requested version "".

I have got binaries for all archs in ${CMAKE_CURRENT_SOURCE_DIR}/src/main/lib}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions