2020-10-07 16:41:31 +02:00
|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
|
project(st_audiofile)
|
|
|
|
|
|
|
|
|
|
option(ST_AUDIO_FILE_USE_SNDFILE "Use sndfile" OFF)
|
|
|
|
|
set(ST_AUDIO_FILE_EXTERNAL_SNDFILE "" CACHE STRING "Name of external sndfile target")
|
|
|
|
|
|
2021-03-23 12:54:59 +01:00
|
|
|
add_library(st_audiofile STATIC EXCLUDE_FROM_ALL
|
2020-10-07 16:41:31 +02:00
|
|
|
"src/st_audiofile.c"
|
|
|
|
|
"src/st_audiofile_common.c"
|
|
|
|
|
"src/st_audiofile_sndfile.c")
|
|
|
|
|
target_include_directories(st_audiofile
|
2021-03-23 12:54:59 +01:00
|
|
|
PUBLIC "src")
|
|
|
|
|
|
|
|
|
|
###
|
|
|
|
|
add_library(st_audiofile_formats STATIC EXCLUDE_FROM_ALL
|
|
|
|
|
"src/st_audiofile_libs.c")
|
|
|
|
|
target_include_directories(st_audiofile_formats
|
2020-10-07 16:41:31 +02:00
|
|
|
PUBLIC "src"
|
2020-10-09 17:29:53 +02:00
|
|
|
PUBLIC "thirdparty/dr_libs"
|
|
|
|
|
PUBLIC "thirdparty/stb_vorbis")
|
2020-10-07 16:41:31 +02:00
|
|
|
|
2021-03-23 12:54:59 +01:00
|
|
|
add_subdirectory("thirdparty/libaiff" EXCLUDE_FROM_ALL)
|
|
|
|
|
target_link_libraries(st_audiofile_formats PUBLIC aiff::aiff)
|
2020-10-07 16:41:31 +02:00
|
|
|
|
2023-08-29 22:31:01 +02:00
|
|
|
set(WAVPACK_BUILD_COOLEDIT_PLUGIN OFF)
|
|
|
|
|
set(WAVPACK_BUILD_PROGRAMS OFF)
|
|
|
|
|
set(WAVPACK_BUILD_WINAMP_PLUGIN OFF)
|
|
|
|
|
set(WAVPACK_ENABLE_LIBCRYPTO OFF)
|
|
|
|
|
set(WAVPACK_INSTALL_CMAKE_MODULE OFF)
|
|
|
|
|
set(WAVPACK_INSTALL_DOCS OFF)
|
|
|
|
|
set(WAVPACK_INSTALL_PKGCONFIG_MODULE OFF)
|
2023-09-29 14:19:40 +02:00
|
|
|
# FIXME: remove when WavPack updates their build script
|
2023-10-21 11:56:15 +02:00
|
|
|
# see https://github.com/dbry/WavPack/issues/93
|
2023-09-29 14:19:40 +02:00
|
|
|
if(APPLE AND PROJECT_SYSTEM_PROCESSOR MATCHES "(arm.*)")
|
2023-09-29 10:02:06 +02:00
|
|
|
SET(WAVPACK_ENABLE_ASM OFF)
|
|
|
|
|
endif()
|
2023-08-29 22:31:01 +02:00
|
|
|
|
2022-09-28 13:22:35 +02:00
|
|
|
add_subdirectory("thirdparty/wavpack" EXCLUDE_FROM_ALL)
|
|
|
|
|
target_link_libraries(st_audiofile_formats PUBLIC wavpack)
|
|
|
|
|
|
2021-03-23 12:54:59 +01:00
|
|
|
###
|
2020-10-31 11:59:45 +01:00
|
|
|
if(NOT ST_AUDIO_FILE_USE_SNDFILE)
|
2021-03-23 12:54:59 +01:00
|
|
|
target_link_libraries(st_audiofile PRIVATE st_audiofile_formats)
|
2020-10-31 11:59:45 +01:00
|
|
|
else()
|
2020-10-07 16:41:31 +02:00
|
|
|
target_compile_definitions(st_audiofile
|
|
|
|
|
PUBLIC "ST_AUDIO_FILE_USE_SNDFILE=1")
|
|
|
|
|
if(ST_AUDIO_FILE_EXTERNAL_SNDFILE)
|
|
|
|
|
target_link_libraries(st_audiofile
|
2020-10-09 13:48:03 +02:00
|
|
|
PUBLIC "${ST_AUDIO_FILE_EXTERNAL_SNDFILE}")
|
2020-10-07 16:41:31 +02:00
|
|
|
else()
|
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
|
pkg_check_modules(Sndfile "sndfile" REQUIRED)
|
2021-03-23 12:54:59 +01:00
|
|
|
target_include_directories(st_audiofile PUBLIC ${Sndfile_INCLUDE_DIRS})
|
|
|
|
|
target_link_libraries(st_audiofile PUBLIC ${Sndfile_LIBRARIES})
|
|
|
|
|
link_directories(${Sndfile_LIBRARY_DIRS})
|
2020-10-07 16:41:31 +02:00
|
|
|
endif()
|
|
|
|
|
endif()
|
2021-03-23 12:54:59 +01:00
|
|
|
|
|
|
|
|
###
|
|
|
|
|
add_executable(st_info "src/st_info.c")
|
|
|
|
|
target_link_libraries(st_info PRIVATE st_audiofile)
|