mirror of
https://github.com/iCatButler/pcsxr.git
synced 2024-05-20 04:50:37 -04:00
a93c5c5420
Includes some small fixes on CMake, such as prettier status messages, host and target arch detection (taken from PCSX2), and various other small errors.
136 lines
3.9 KiB
CMake
136 lines
3.9 KiB
CMake
message(STATUS "* Configuring dfsound")
|
|
|
|
include(GlibCompileResourcesSupport)
|
|
|
|
set(SND_BACKEND "sdl" CACHE STRING "Sound backend to use.")
|
|
set_property(CACHE SND_BACKEND PROPERTY STRINGS oss alsa pulse sdl openal null)
|
|
|
|
#deps
|
|
|
|
find_package(GLib REQUIRED)
|
|
if(NOT GLib_FOUND)
|
|
message(FATAL_ERROR "GLIB2 library not found")
|
|
endif(NOT GLib_FOUND)
|
|
include_directories(${GLib_INCLUDE_DIRS})
|
|
|
|
find_package(GTK3 REQUIRED)
|
|
if(NOT GTK3_FOUND)
|
|
message(FATAL_ERROR "GTK3 library not found")
|
|
endif(NOT GTK3_FOUND)
|
|
include_directories(${GTK3_INCLUDE_DIRS})
|
|
set(GTK_LIBRARIES ${GTK3_LIBRARY} ${GDK3_LIBRARY} ${GDKPixbuf_LIBRARY} ${Pango_LIBRARY} ${Cairo_LIBRARY} ${GObject_LIBRARY} ${GLib_LIBRARY} ${GIO_LIBRARY})
|
|
|
|
|
|
if (${SND_BACKEND} STREQUAL "oss")
|
|
find_package(OSS REQUIRED)
|
|
include_directories(${OSS_INCLUDE_DIR})
|
|
add_definitions(-DUSEOSS=1)
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "alsa")
|
|
find_package(ALSA REQUIRED)
|
|
include_directories(${ALSA_INCLUDE_DIRS})
|
|
add_definitions(-DUSEALSA=1)
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "pulse")
|
|
find_package(PulseAudio REQUIRED)
|
|
include_directories(${PULSEAUDIO_INCLUDE_DIR})
|
|
add_definitions(-DUSEPULSEAUDIO=1)
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "sdl")
|
|
find_package(SDL2)
|
|
if(NOT SDL2_FOUND)
|
|
find_package(SDL)
|
|
if(NOT SDL_FOUND)
|
|
message(FATAL_ERROR "SDL or SDL2 library not found")
|
|
else(NOT SDL_FOUND)
|
|
message(STATUS "Using SDL")
|
|
include_directories(${SDL_INCLUDE_DIR})
|
|
endif(NOT SDL_FOUND)
|
|
else(NOT SDL2_FOUND)
|
|
set(USE_SDL2 1)
|
|
message(STATUS "Using SDL2")
|
|
include_directories(${SDL2_INCLUDE_DIR})
|
|
endif(NOT SDL2_FOUND)
|
|
add_definitions(-DUSESDL=1)
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "openal")
|
|
find_package(OpenAL REQUIRED)
|
|
include_directories(${OPENAL_INCLUDE_DIR})
|
|
add_definitions(-DUSEOPENAL=1)
|
|
elseif (${SND_BACKEND} STREQUAL "null")
|
|
add_definitions(-DUSENULL=1)
|
|
|
|
endif()
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
#defs
|
|
add_definitions(-DLOCALE_DIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}/locale/" -DPSEMU_DATA_DIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}/psemu" -DDEF_PLUGIN_DIR="${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu")
|
|
|
|
#sources
|
|
set(PLUGIN_SRCS
|
|
adsr.c
|
|
cfg.c
|
|
dma.c
|
|
externals.c
|
|
freeze.c
|
|
registers.c
|
|
reverb.c
|
|
spu.c
|
|
xa.c
|
|
)
|
|
|
|
set(GUI_SRCS
|
|
spucfg-0.1df/main.c
|
|
)
|
|
|
|
|
|
#resources
|
|
set(RESOURCE_LIST
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spucfg-0.1df/dfsound.ui
|
|
)
|
|
|
|
|
|
compile_gresources(RESOURCE_FILE
|
|
XML_OUT
|
|
TYPE EMBED_C
|
|
PREFIX /org/pcsxr/dfsound
|
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spucfg-0.1df
|
|
RESOURCES ${RESOURCE_LIST})
|
|
|
|
add_custom_target(dfsound_resource DEPENDS ${RESOURCE_FILE})
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/libpcsxcore)
|
|
|
|
if (${SND_BACKEND} STREQUAL "oss")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} oss.c)
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "alsa")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} alsa.c)
|
|
target_link_libraries(DFSound ${ALSA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "pulse")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} pulseaudio.c)
|
|
target_link_libraries(DFSound ${PULSEAUDIO_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "sdl")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} sdl.c)
|
|
target_link_libraries(DFSound ${SDL_LIBRARY} ${SDL2_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "openal")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} openal.c)
|
|
target_link_libraries(DFSound ${OPENAL_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
elseif (${SND_BACKEND} STREQUAL "null")
|
|
add_library(DFSound MODULE ${PLUGIN_SRCS} nullsnd.c)
|
|
|
|
endif()
|
|
|
|
|
|
add_executable(cfgDFSound ${GUI_SRCS} ${RESOURCE_FILE})
|
|
add_dependencies(cfgDFSound dfsound_resource)
|
|
target_link_libraries(cfgDFSound ${GTK_LIBRARIES})
|
|
|
|
install(TARGETS DFSound LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
|
|
install(TARGETS cfgDFSound RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
|