Skip to content

Commit

Permalink
Seriously incomplete first shot at GTK+ gui.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed May 10, 2007
1 parent 4a92264 commit 6e9b481
Show file tree
Hide file tree
Showing 4 changed files with 405 additions and 40 deletions.
54 changes: 23 additions & 31 deletions CMakeLists.txt
Expand Up @@ -288,37 +288,29 @@ IF(MACOSX)
ENDIF(MOJOSETUP_GUI_MACOSX)
ENDIF(MACOSX)

IF(WINDOWS)
OPTION(MOJOSETUP_GUI_WINDOWS "Enable Windows GUI" TRUE)
IF(MOJOSETUP_GUI_WINDOWS)
ADD_DEFINITIONS(-DSUPPORT_GUI_WINDOWS=1)
OPTION(MOJOSETUP_GUI_WINDOWS_STATIC "Statically link Windows GUI" TRUE)
IF(MOJOSETUP_GUI_WINDOWS_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_WINDOWS=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_windows.c)
ELSE(MOJOSETUP_GUI_WINDOWS_STATIC)
ADD_LIBRARY(windows SHARED gui_windows.c)
ENDIF(MOJOSETUP_GUI_WINDOWS_STATIC)
ENDIF(MOJOSETUP_GUI_WINDOWS)
ENDIF(WINDOWS)

FIND_PACKAGE(GTK)
IF(GTK_FOUND)
OPTION(MOJOSETUP_GUI_GTKPLUS "Enable GTK+ GUI" TRUE)
IF(MOJOSETUP_GUI_GTKPLUS)
ADD_DEFINITIONS(-DSUPPORT_GUI_GTKPLUS=1)
INCLUDE_DIRECTORIES(GTK_INCLUDE_DIR)
OPTION(MOJOSETUP_GUI_GTKPLUS_STATIC "Statically link GTK+ GUI" FALSE)
IF(MOJOSETUP_GUI_GTKPLUS_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_GTKPLUS=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_gtkplus.c)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${GTK_LIBRARIES})
ELSE(MOJOSETUP_GUI_GTKPLUS_STATIC)
ADD_LIBRARY(gtkplus SHARED gui_gtkplus.c)
TARGET_LINK_LIBRARIES(gtkplus ${GTK_LIBRARIES})
ENDIF(MOJOSETUP_GUI_GTKPLUS_STATIC)
ENDIF(MOJOSETUP_GUI_GTKPLUS)
ENDIF(GTK_FOUND)
#FIND_PACKAGE(PkgConfig)
#PKGCONFIG(libgtk-2.0 LIBGTK_INCLUDE_DIR LIBGTK_LINK_DIR LIBGTK_LINK_FLAGS LIBGTK_CFLAGS)
# !!! FIXME
SET(LIBGTK_LINK_FLAGS "-lgtk-x11-2.0")
SET(LIBGTK_CFLAGS "-DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12")
IF(NOT LIBGTK_LINK_FLAGS)
MESSAGE(STATUS "Can't find GTK+v2 headers/libraries. Can't build GTK+ GUI.")
ELSE(NOT LIBGTK_LINK_FLAGS)
OPTION(MOJOSETUP_GUI_GTKPLUS2 "Enable GTK+ 2.0 GUI" TRUE)
IF(MOJOSETUP_GUI_GTKPLUS2)
ADD_DEFINITIONS(-DSUPPORT_GUI_GTKPLUS2=1)
#INCLUDE_DIRECTORIES(${LIBGTK_INCLUDE_DIR})
OPTION(MOJOSETUP_GUI_GTKPLUS2_STATIC "Statically link GTK+ GUI" FALSE)
IF(MOJOSETUP_GUI_GTKPLUS2_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_GTKPLUS2=1 ${LIBGTK_CFLAGS})
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_gtkplus2.c)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${LIBGTK_LINK_FLAGS})
ELSE(MOJOSETUP_GUI_GTKPLUS2_STATIC)
ADD_LIBRARY(gtkplus2 SHARED gui_gtkplus2.c)
TARGET_LINK_LIBRARIES(gtkplus2 ${LIBGTK_LINK_FLAGS})
ENDIF(MOJOSETUP_GUI_GTKPLUS2_STATIC)
ENDIF(MOJOSETUP_GUI_GTKPLUS2)
ENDIF(NOT LIBGTK_LINK_FLAGS)


# Archivers...
Expand Down
7 changes: 2 additions & 5 deletions gui.c
Expand Up @@ -18,14 +18,11 @@ static const MojoGuiEntryPoint staticGui[] =
#if GUI_STATIC_LINK_STDIO
MojoGuiPlugin_stdio,
#endif
#if GUI_STATIC_LINK_WINDOWS
MojoGuiPlugin_windows,
#endif
#if GUI_STATIC_LINK_MACOSX
MojoGuiPlugin_macosx,
#endif
#if GUI_STATIC_LINK_GTK_PLUS
MojoGuiPlugin_gtkplus,
#if GUI_STATIC_LINK_GTKPLUS2
MojoGuiPlugin_gtkplus2,
#endif
NULL
};
Expand Down
5 changes: 1 addition & 4 deletions gui.h
Expand Up @@ -140,10 +140,7 @@ const MojoGui *MOJOGUI_ENTRY_POINT(int rev, const MojoSetupEntryPoints *e) \

// Probably want to support this always, unless explicitly overridden.
const MojoGui *MojoGuiPlugin_stdio(int rev, const MojoSetupEntryPoints *e);
// !!! FIXME (Windows code isn't actually written yet...)
const MojoGui *MojoGuiPlugin_windows(int rev, const MojoSetupEntryPoints *e);
// !!! FIXME (GTK+ code isn't actually written yet...)
const MojoGui *MojoGuiPlugin_gtkplus(int rev, const MojoSetupEntryPoints *e);
const MojoGui *MojoGuiPlugin_gtkplus2(int rev, const MojoSetupEntryPoints *e);
const MojoGui *MojoGuiPlugin_macosx(int rev, const MojoSetupEntryPoints *e);

// !!! FIXME: Qt? KDE? Gnome? Console? Cocoa?
Expand Down

0 comments on commit 6e9b481

Please sign in to comment.