summaryrefslogtreecommitdiff
path: root/plugins/dfcdrom
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2018-03-19 07:39:08 +0000
committerGitHub <noreply@github.com>2018-03-19 07:39:08 +0000
commit6f76041029393c6823973a29426b28c8c2d0b064 (patch)
tree13c1bb5215c2510a7c430b59bc22df666cd2fbf3 /plugins/dfcdrom
parent768332417644451d38ce1a737465656c7cc75de3 (diff)
parent128d6afb179756513860187cf5e31d84d6d8cac4 (diff)
downloadpcsxr-6f76041029393c6823973a29426b28c8c2d0b064.tar.gz
Merge pull request #7 from loathingKernel/sync-with-codeplex
Sync with codeplex
Diffstat (limited to 'plugins/dfcdrom')
-rw-r--r--plugins/dfcdrom/CMakeLists.txt72
-rw-r--r--plugins/dfcdrom/Makefile.am58
-rwxr-xr-xplugins/dfcdrom/cdr.c4
3 files changed, 76 insertions, 58 deletions
diff --git a/plugins/dfcdrom/CMakeLists.txt b/plugins/dfcdrom/CMakeLists.txt
new file mode 100644
index 00000000..7860e414
--- /dev/null
+++ b/plugins/dfcdrom/CMakeLists.txt
@@ -0,0 +1,72 @@
+message(STATUS "* Configuring dfcdrom")
+
+include(GlibCompileResourcesSupport)
+
+option(USE_LIBCDIO "Use GNU libcdio for CD-ROM support." OFF)
+
+if (USE_LIBCDIO)
+ find_package(Cdio REQUIRED)
+ include_directories(${CDIO_INCLUDE_DIR})
+ add_definitions(-DUSE_LIBCDIO)
+endif()
+
+#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})
+
+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
+ cdr.c
+ cdr-libcdio.c
+ cdr-linux.c
+ cdr-null.c
+ cfg.c
+ util.c
+)
+
+set(GUI_SRCS
+ cdrcfg-0.1df/main.c
+)
+
+
+#resources
+set(RESOURCE_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/cdrcfg-0.1df/dfcdrom.ui
+)
+
+
+compile_gresources(RESOURCE_FILE
+ XML_OUT
+ TYPE EMBED_C
+ PREFIX /org/pcsxr/dfcdrom
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cdrcfg-0.1df
+ RESOURCES ${RESOURCE_LIST})
+
+add_custom_target(dfcdrom_resource DEPENDS ${RESOURCE_FILE})
+
+include_directories(${CMAKE_SOURCE_DIR}/libpcsxcore)
+add_library(DFCdrom MODULE ${PLUGIN_SRCS})
+target_link_libraries(DFCdrom ${CDIO_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+
+add_executable(cfgDFCdrom ${GUI_SRCS} ${RESOURCE_FILE})
+add_dependencies(cfgDFCdrom dfcdrom_resource)
+target_link_libraries(cfgDFCdrom ${GTK_LIBRARIES})
+
+install(TARGETS DFCdrom LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
+install(TARGETS cfgDFCdrom RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
diff --git a/plugins/dfcdrom/Makefile.am b/plugins/dfcdrom/Makefile.am
deleted file mode 100644
index 1f87998b..00000000
--- a/plugins/dfcdrom/Makefile.am
+++ /dev/null
@@ -1,58 +0,0 @@
-bindir = @libdir@/games/psemu/
-libdir = @libdir@/games/psemu/
-
-lib_LTLIBRARIES = libDFCdrom.la
-
-libDFCdrom_la_SOURCES = \
- cdr.c \
- cdr.h \
- cfg.c \
- cdr-linux.c \
- cdr-null.c \
- cdr-libcdio.c \
- util.c
-
-libDFCdrom_la_CFLAGS =
-libDFCdrom_la_LDFLAGS = -module -avoid-version
-libDFCdrom_la_LIBADD = -lpthread
-
-if USE_LIBCDIO
-libDFCdrom_la_CFLAGS += -DUSE_LIBCDIO=1 $(LIBCDIO_CFLAGS)
-libDFCdrom_la_LIBADD += $(LIBCDIO_LIBS)
-endif
-
-AM_CPPFLAGS = -DLOCALE_DIR=\"${datadir}/locale/\" \
- -DDATADIR=\"${datadir}/psemu/\" \
- $(GTK3_CFLAGS) \
- -I$(top_srcdir)/libpcsxcore -I../../include
-
-bin_PROGRAMS = cfgDFCdrom
-cfgDFCdrom_SOURCES = cdrcfg-0.1df/main.c GtkResources.c GtkResources.h
-cfgDFCdrom_LDADD = $(GTK3_LIBS)
-
-# gresource.xml is dynamically generated in CMake. Mirror that here in a static way.
-define gresource_xml =
-<?xml version="1.0" encoding="UTF-8"?>
-<gresources>
- <gresource prefix="/org/pcsxr/dfcdrom">
- <file>dfcdrom.ui</file>
- </gresource>
-</gresources>
-endef
-
-dfcdrom.gresource.xml:
- $(file >$@,$(gresource_xml))
-dfcdrom_gresource: dfcdrom.gresource.xml
- $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/cdrcfg-0.1df --generate-dependencies $(srcdir)/$<)
-GtkResources.c: dfcdrom.gresource.xml $(dfcdrom_gresource)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/cdrcfg-0.1df --generate-source --c-name dfcdrom $<
-GtkResources.h: dfcdrom.gresource.xml $(dfcdrom_gresource)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/cdrcfg-0.1df --generate-header --c-name dfcdrom $<
-
-
-#glade_DATA = cdrcfg-0.1df/dfcdrom.ui
-#gladedir = $(datadir)/psemu/
-EXTRA_DIST = $(glade_DATA)
-
-CLEANFILES = dfcdrom.gresource.xml GtkResources.c GtkResources.h
-
diff --git a/plugins/dfcdrom/cdr.c b/plugins/dfcdrom/cdr.c
index ecd0d9a4..97a2735d 100755
--- a/plugins/dfcdrom/cdr.c
+++ b/plugins/dfcdrom/cdr.c
@@ -20,6 +20,10 @@
*/
#include "cdr.h"
+#if defined(__linux__)
+#include <sys/types.h>
+#include <sys/wait.h>
+#endif
#ifndef USE_NULL
static char *LibName = N_("CD-ROM Drive Reader");