Initial commit of mpg123-1.29.3
This commit is contained in:
37
ports/cmake/src/libout123/CMakeLists.txt
Normal file
37
ports/cmake/src/libout123/CMakeLists.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/out123.h.in" out123.h)
|
||||
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/")
|
||||
add_subdirectory("modules")
|
||||
|
||||
set(TARGET libout123)
|
||||
add_library(${TARGET}
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/libout123.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/stringlists.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/wav.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/hextxt.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/$<$<NOT:$<BOOL:${NO_BUFFER}>>:buffer.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/$<$<NOT:$<BOOL:${NO_BUFFER}>>:xfermem.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/$<$<BOOL:${USE_MODULES}>:module.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libout123/$<$<NOT:$<BOOL:${USE_MODULES}>>:legacy_module.c>"
|
||||
$<TARGET_OBJECTS:compat>
|
||||
$<$<BOOL:${USE_MODULES}>:$<TARGET_OBJECTS:compat_dl>>)
|
||||
|
||||
set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123)
|
||||
|
||||
target_link_libraries(${TARGET} PRIVATE
|
||||
$<TARGET_NAME_IF_EXISTS:defaultmodule>
|
||||
$<$<BOOL:${HAVE_UNIX_DL}>:dl>
|
||||
$<$<BOOL:${WANT_WIN32_UNICODE}>:shlwapi>)
|
||||
|
||||
target_include_directories(${TARGET} INTERFACE
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
|
||||
install(TARGETS ${TARGET} EXPORT targets
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/out123.h"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
99
ports/cmake/src/libout123/modules/CMakeLists.txt
Normal file
99
ports/cmake/src/libout123/modules/CMakeLists.txt
Normal file
@@ -0,0 +1,99 @@
|
||||
if(NOT USE_MODULES)
|
||||
add_library(defaultmodule STATIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},dummy>:dummy.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},coreaudio>:coreaudio.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},alsa>:alsa.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},tinyalsa>:tinyalsa.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},pulse>:pulse.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},jack>:jack.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},win32>:win32.c>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},win32_wasapi>:win32_wasapi.c>")
|
||||
target_link_libraries(defaultmodule PUBLIC
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},alsa>:ALSA::ALSA>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},tinyalsa>:${TINYALSA_LIBRARIES}>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},coreaudio>:${AUDIO_TOOLBOX}>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},pulse>:${PULSE_LIBRARIES}>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},jack>:${JACK_LIBRARIES}>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},win32>:${WIN32_LIBRARIES}>
|
||||
$<$<STREQUAL:${DEFAULT_OUTPUT_MODULE},win32_wasapi>:${WIN32_WASAPI_LIBRARIES}>)
|
||||
if(DEFAULT_OUTPUT_MODULE STREQUAL "pulse")
|
||||
target_compile_definitions(defaultmodule PRIVATE ${PULSE_CFLAGS})
|
||||
elseif(DEFAULT_OUTPUT_MODULE STREQUAL "jack")
|
||||
target_compile_definitions(defaultmodule PRIVATE ${JACK_CFLAGS})
|
||||
elseif(DEFAULT_OUTPUT_MODULE STREQUAL "tinyalsa")
|
||||
target_compile_definitions(defaultmodule PRIVATE ${TINYALSA_CFLAGS})
|
||||
endif()
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(defaultmodule PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_SHARED_MODULE_PREFIX "")
|
||||
list(FIND OUTPUT_MODULES coreaudio INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_coreaudio MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/coreaudio.c")
|
||||
target_link_libraries(output_coreaudio PRIVATE ${AUDIO_TOOLBOX})
|
||||
install(TARGETS output_coreaudio
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES alsa INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_alsa MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/alsa.c")
|
||||
target_link_libraries(output_alsa PRIVATE ALSA::ALSA)
|
||||
install(TARGETS output_alsa
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES pulse INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_pulse MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/pulse.c")
|
||||
target_compile_options(output_pulse PRIVATE ${PULSE_CFLAGS})
|
||||
target_link_libraries(output_pulse PRIVATE ${PULSE_LIBRARIES})
|
||||
install(TARGETS output_pulse
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES jack INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_jack MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/jack.c"
|
||||
$<TARGET_OBJECTS:compat_str>)
|
||||
target_compile_options(output_jack PRIVATE ${JACK_CFLAGS})
|
||||
target_link_libraries(output_jack PRIVATE ${JACK_LIBRARIES})
|
||||
install(TARGETS output_jack
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES tinyalsa INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_tinyalsa MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/tinyalsa.c")
|
||||
target_compile_options(output_tinyalsa PRIVATE ${TINYALSA_CFLAGS})
|
||||
target_link_libraries(output_tinyalsa PRIVATE ${TINYALSA_LIBRARIES})
|
||||
install(TARGETS output_tinyalsa
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES win32 INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_win32 MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/win32.c")
|
||||
target_link_libraries(output_win32 PRIVATE ${WIN32_LIBRARIES})
|
||||
install(TARGETS output_win32
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
list(FIND OUTPUT_MODULES win32_wasapi INDEX)
|
||||
if(NOT INDEX EQUAL -1)
|
||||
add_library(output_win32_wasapi MODULE "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/libout123/modules/win32_wasapi.c"
|
||||
$<TARGET_OBJECTS:compat_str>)
|
||||
target_link_libraries(output_win32_wasapi PRIVATE ${WIN32_WASAPI_LIBRARIES})
|
||||
install(TARGETS output_win32_wasapi
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}")
|
||||
endif()
|
||||
endif()
|
||||
Reference in New Issue
Block a user