mirror of
https://github.com/AndroidAudioMods/ViPERFX_RE.git
synced 2025-06-08 02:29:40 +08:00
147 lines
5.5 KiB
CMake
147 lines
5.5 KiB
CMake
cmake_minimum_required(VERSION 3.16.3)
|
|
|
|
set(CMAKE_CXX_COMPILER_VERSION 20)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
# NDK Settings
|
|
#add_compile_definitions(ANDROID_ABI=arm64-v8a)
|
|
#add_compile_definitions(ANDROID_ABI=armeabi-v7a)
|
|
#add_compile_definitions(ANDROID_ARM_NEON=true)
|
|
#add_compile_definitions(ANDROID_PLATFORM=android-24)
|
|
|
|
project("ViPER4Android")
|
|
add_compile_definitions(VIPER_VERSION=20240314)
|
|
add_compile_definitions(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__)
|
|
|
|
## Find AIDL compiler
|
|
#find_program(AIDL_COMPILER aidl
|
|
# PATHS ${ANDROID_SDK}/build-tools/*/
|
|
# NO_DEFAULT_PATH)
|
|
#if(NOT AIDL_COMPILER)
|
|
# message(FATAL_ERROR "Could not find AIDL compiler in Android SDK build tools")
|
|
#endif()
|
|
#
|
|
## Set up AIDL file generation
|
|
#set(AIDL_FILE "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl")
|
|
#set(AIDL_INCLUDE_DIRS
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/common/aidl/aidl_api/android.hardware.common/current/"
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/common/fmq/aidl/aidl_api/android.hardware.common.fmq/current/"
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.common/current/"
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.effect/current/"
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main (1)/media/aidl_api/android.media.audio.common.types/current/"
|
|
# "/home/iscle/Downloads/interfaces-refs_heads_main (1)/media/aidl_api/android.media.audio.eraser.types/current/"
|
|
#)
|
|
#
|
|
#set(AIDL_OUTPUT_DIR ${CMAKE_BINARY_DIR}/generated/aidl)
|
|
#set(AIDL_HEADER_OUTPUT_DIR ${CMAKE_BINARY_DIR}/generated/aidl/include)
|
|
#
|
|
#file(MAKE_DIRECTORY ${AIDL_OUTPUT_DIR})
|
|
#file(MAKE_DIRECTORY ${AIDL_HEADER_OUTPUT_DIR})
|
|
#
|
|
## Generate AIDL command
|
|
#set(AIDL_GENERATED_SRC ${AIDL_OUTPUT_DIR}/android/hardware/audio/effect/IEffect.cpp)
|
|
#set(AIDL_GENERATED_HEADER ${AIDL_HEADER_OUTPUT_DIR}/android/hardware/audio/effect/IEffect.h)
|
|
#
|
|
#add_custom_command(
|
|
# OUTPUT ${AIDL_GENERATED_SRC} ${AIDL_GENERATED_HEADER}
|
|
# COMMAND ${AIDL_COMPILER}
|
|
# --lang=ndk
|
|
# -o ${AIDL_OUTPUT_DIR}
|
|
# -h ${AIDL_HEADER_OUTPUT_DIR}
|
|
# --structured
|
|
# --stability=vintf
|
|
# ${AIDL_INCLUDE_DIRS_FLAGS}
|
|
# ${AIDL_FILE}
|
|
# DEPENDS ${AIDL_FILE}
|
|
# COMMENT "Generating AIDL C++ bindings for IEffect"
|
|
#)
|
|
#
|
|
## Convert include dirs to -I flags
|
|
#set(AIDL_INCLUDE_DIRS_FLAGS "")
|
|
#foreach(dir ${AIDL_INCLUDE_DIRS})
|
|
# set(AIDL_INCLUDE_DIRS_FLAGS "${AIDL_INCLUDE_DIRS_FLAGS} -I \"${dir}\"")
|
|
#endforeach()
|
|
|
|
set(AIDL_GENERATED_SRC
|
|
src/generated/android/hardware/audio/effect/IEffect.cpp
|
|
)
|
|
|
|
# FFTS
|
|
#add_subdirectory(src/viper/ffts)
|
|
|
|
# ViPERFX
|
|
include_directories(src/include)
|
|
include_directories(src/generated/include) # Add generated headers to include path
|
|
|
|
set(FILES
|
|
# Add generated AIDL source
|
|
${AIDL_GENERATED_SRC}
|
|
|
|
# Main
|
|
src/cpp/viper/ViPER.cpp
|
|
src/cpp/ViPER4Android.cpp
|
|
src/cpp/ViperContext.cpp
|
|
src/cpp/viper_aidl.cpp
|
|
|
|
# Effects
|
|
src/cpp/viper/effects/AnalogX.cpp
|
|
src/cpp/viper/effects/ColorfulMusic.cpp
|
|
src/cpp/viper/effects/Convolver.cpp
|
|
src/cpp/viper/effects/Cure.cpp
|
|
src/cpp/viper/effects/DiffSurround.cpp
|
|
src/cpp/viper/effects/DynamicSystem.cpp
|
|
src/cpp/viper/effects/FETCompressor.cpp
|
|
src/cpp/viper/effects/IIRFilter.cpp
|
|
src/cpp/viper/effects/PlaybackGain.cpp
|
|
src/cpp/viper/effects/Reverberation.cpp
|
|
src/cpp/viper/effects/SoftwareLimiter.cpp
|
|
src/cpp/viper/effects/SpeakerCorrection.cpp
|
|
src/cpp/viper/effects/SpectrumExtend.cpp
|
|
src/cpp/viper/effects/TubeSimulator.cpp
|
|
src/cpp/viper/effects/VHE.cpp
|
|
src/cpp/viper/effects/ViPERBass.cpp
|
|
src/cpp/viper/effects/ViPERClarity.cpp
|
|
src/cpp/viper/effects/ViPERDDC.cpp
|
|
|
|
# Utils
|
|
src/cpp/viper/utils/AdaptiveBuffer.cpp
|
|
src/cpp/viper/utils/Biquad.cpp
|
|
src/cpp/viper/utils/CAllpassFilter.cpp
|
|
src/cpp/viper/utils/CCombFilter.cpp
|
|
src/cpp/viper/utils/CRevModel.cpp
|
|
src/cpp/viper/utils/Crossfeed.cpp
|
|
src/cpp/viper/utils/DepthSurround.cpp
|
|
src/cpp/viper/utils/DynamicBass.cpp
|
|
src/cpp/viper/utils/FIR.cpp
|
|
src/cpp/viper/utils/Harmonic.cpp
|
|
src/cpp/viper/utils/HiFi.cpp
|
|
src/cpp/viper/utils/HighShelf.cpp
|
|
src/cpp/viper/utils/IIR_1st.cpp
|
|
src/cpp/viper/utils/IIR_NOrder_BW_BP.cpp
|
|
src/cpp/viper/utils/IIR_NOrder_BW_LH.cpp
|
|
src/cpp/viper/utils/MinPhaseIIRCoeffs.cpp
|
|
src/cpp/viper/utils/MultiBiquad.cpp
|
|
src/cpp/viper/utils/NoiseSharpening.cpp
|
|
src/cpp/viper/utils/PassFilter.cpp
|
|
src/cpp/viper/utils/PConvSingle.cpp
|
|
src/cpp/viper/utils/PolesFilter.cpp
|
|
src/cpp/viper/utils/Polyphase.cpp
|
|
src/cpp/viper/utils/Stereo3DSurround.cpp
|
|
src/cpp/viper/utils/Subwoofer.cpp
|
|
src/cpp/viper/utils/TimeConstDelay.cpp
|
|
src/cpp/viper/utils/WaveBuffer.cpp)
|
|
|
|
add_library(
|
|
# Sets the name of the library.
|
|
v4a_re
|
|
|
|
# Sets the library as a shared library.
|
|
SHARED
|
|
|
|
# Provides a relative path to your source file(s).
|
|
${FILES})
|
|
|
|
target_link_libraries(v4a_re log) # kissfft)
|
|
target_compile_options(v4a_re PRIVATE -flto -O3 -DNDEBUG)
|
|
#target_compile_options(v4afx_r PRIVATE -O2 -DNDEBUG -Wall -Wsign-conversion -Wno-unused-result -Wno-unneeded-internal-declaration -fstrict-aliasing -fvisibility=hidden -Wextra -Wno-unused-parameter)
|