diff options
Diffstat (limited to 'plugins/dfsound/CMakeLists.txt')
| -rw-r--r-- | plugins/dfsound/CMakeLists.txt | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/plugins/dfsound/CMakeLists.txt b/plugins/dfsound/CMakeLists.txt new file mode 100644 index 00000000..865ddc13 --- /dev/null +++ b/plugins/dfsound/CMakeLists.txt @@ -0,0 +1,135 @@ +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) |
