grim/guifications3

moved gflib-gtk to cmake
cmake
2010-12-13, Gary Kramlich
3fd0ef115d70
Parents dfc06b7b4484
Children 6bb904bfdb5d
moved gflib-gtk to cmake
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib-gtk/CMakeLists.txt Mon Dec 13 13:19:17 2010 -0600
@@ -0,0 +1,100 @@
+cmake_minimum_required(VERSION 2.8)
+
+###############################################################################
+# Project Info
+###############################################################################
+project(gflib-gtk C)
+
+set(GFLIB_GTK_MAJOR_VERSION 0)
+set(GFLIB_GTK_MINOR_VERSION 0)
+set(GFLIB_GTK_MICRO_VERSION 1)
+set(GFLIB_GTK_EXTRA_VERSION dev)
+
+set(VERSION ${GFLIB_GTK_MAJOR_VERSION}.${GFLIB_GTK_MINOR_VERSION}.${GFLIB_GTK_MICRO_VERSION}${GFLIB_GTK_EXTRA_VERSION})
+
+###############################################################################
+# Dependencies
+###############################################################################
+include(FindPkgConfig)
+
+# glib
+pkg_check_modules(GLIB REQUIRED
+ glib-2.0>=2.16.0
+ gobject-2.0>=2.16.0
+ gthread-2.0>=2.16.0
+)
+
+# gtk+
+pkg_check_modules(GTK REQUIRED gtk+-2.0>=2.16.0)
+
+# gflib
+pkg_check_modules(GFLIB REQUIRED gflib)
+
+find_program(GFLIB_GENHEADER
+ NAMES gflib-genheader
+ DOC "gflib-genheader executable"
+)
+mark_as_advanced(GFLIB_GENHEADER)
+
+# gflib-ui
+pkg_check_modules(GFLIB_UI REQUIRED gflib-ui)
+
+###############################################################################
+# Build Info
+###############################################################################
+include_directories(
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/gflib-gtk
+ ${GMAKE_BINARY_DIR}
+ ${GLIB_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+ ${GFLIB_INCLUDE_DIRS}
+ ${GFLIB_UI_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${GLIB_LIBRARY_DIRS}
+ ${GTK_LIBRARY_DIRS}
+ ${GFLIB_LIBRARY_DIRS}
+ ${GFLIB_UI_LIBRARY_DIRS}
+)
+
+add_definitions(
+ -DGETTEXT_PACKAGE="gflib-gtk"
+ -DDATADIR="${CMAKE_INSTALL_PREFIX}/share"
+ -DLIBDIR="${CMAKE_INSTALL_PREFIX}/lib"
+ -DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/locale"
+ -g -g3 -Wall
+)
+
+###############################################################################
+# Subdirectories
+###############################################################################
+add_subdirectory(gflib-gtk)
+add_subdirectory(tests)
+
+###############################################################################
+# Config Files
+###############################################################################
+configure_file(gflib-gtk.pc.in gflib-gtk.pc @ONLY)
+
+###############################################################################
+# Unit Testing
+###############################################################################
+enable_testing()
+
+###############################################################################
+# Install Stuff
+###############################################################################
+# documentation
+install(
+ FILES AUTHORS ChangeLog COPYING NEWS README
+ DESTINATION share/doc/gflib-gtk
+)
+
+# pkg-config files
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/gflib-gtk.pc
+ DESTINATION lib/pkgconfig
+)
+
--- a/gflib-gtk/Makefile.am Mon Dec 13 08:30:11 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-SUBDIRS = gflib-gtk doc po tests
-
-DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
-
-DISTCLEANFILES=
-
-EXTRA_DIST = \
- AUTHORS \
- NEWS \
- INSTALL \
- COPYING \
- README \
- ChangeLog \
- configure.ac \
- gflib-gtk.pc \
- gtk-doc.make
-
-pcdata_DATA=gflib-gtk.pc
-pcdatadir = $(libdir)/pkgconfig
-
-$(OBJECTS): libtool
-libtool: $(LIBTOOL_DEPS)
- $(SHELL) ./config.status --recheck
--- a/gflib-gtk/autogen.sh Mon Dec 13 08:30:11 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Guifications - The end-all, be-all notification framework
-# Copyright (C) 2003-2009 Gary Kramlich <grim@reaperworld.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-PACKAGE="gflib-gtk"
-
-which gflib-autogen.sh || {
- echo "You need to install gflib to run autogen"
- exit 1
-}
-
-. gflib-autogen.sh
-
-add_default_library_commands
-
-autogen
-
--- a/gflib-gtk/configure.ac Mon Dec 13 08:30:11 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-dnl Process this file with autoconf to create configure.
-
-dnl ################################################################
-dnl # Initialize autoconf
-dnl ################################################################
-AC_INIT(gflib-gtk, 0.0.1dev, guifications-devel@lists.guifications.org)
-AC_PREREQ(2.50)
-AC_CANONICAL_SYSTEM
-AC_CONFIG_SRCDIR(config.h.in)
-AC_COPYRIGHT([Copyright 2005-2009 Gary Kramlich])
-
-dnl ################################################################
-dnl # Version information
-dnl ################################################################
-GFLIB_GTK_MAJOR_VERSION=0
-GFLIB_GTK_MINOR_VERSION=0
-GFLIB_GTK_MICRO_VERSION=1
-GFLIB_GTK_DEVEL_VERSION=0
-
-GFLIB_GTK_VERSION=$GFLIB_GTK_MAJOR_VERSION.$GFLIB_GTK_MINOR_VERSION.$GFLIB_GTK_MICRO_VERSION
-
-if test "x$GFLIB_GTK_DEVEL_VERSION" != "x0"; then
- if test "x$GFLIB_GTK_MICRO_VERSION" = "x0"; then
- GFLIB_GTK_MICRO_VERSION=$GFLIB_GTK_DEVEL_VERSION
- GFLIB_GTK_VERSION=$GFLIB_GTK_MAJOR_VERSION.$GFLIB_GTK_MINOR_VERSION.$GFLIB_GTK_MICRO_VERSION
- else
- GFLIB_GTK_VERSION=$GFLIB_GTK_VERSION.$GFLIB_GTK_DEVEL_VERSION
- fi
-fi
-
-AC_DEFINE_UNQUOTED(GFLIB_GTK_MAJOR_VERSION, $GFLIB_GTK_MAJOR_VERSION, [gflib-gtk major version.])
-AC_DEFINE_UNQUOTED(GFLIB_GTK_MINOR_VERSION, $GFLIB_GTK_MINOR_VERSION, [gflib-gtk minor version.])
-AC_DEFINE_UNQUOTED(GFLIB_GTK_MICRO_VERSION, $GFLIB_GTK_MICRO_VERSION, [gflib-gtk micro version.])
-AC_DEFINE_UNQUOTED(GFLIB_GTK_VERSION, $GFLIB_GTK_VERSION, [gflib-gtk version])
-AC_DEFINE_UNQUOTED(GFLIB_GTK_VERSION_S, "$GFLIB_GTK_VERSION", [gflib-gtk version string])
-
-dnl ################################################################
-dnl # libtool versioning
-dnl ################################################################
-dnl #
-dnl # +1 : 0 : +1 == new interface that does not break old one.
-dnl # +1 : 0 : 0 == removed an interface. Breaks old apps.
-dnl # ? : +1 : ? == internal changes that doesn't break anything.
-dnl #
-dnl # CURRENT : REVISION : AGE
-dnl #
-LT_CURRENT=0
-LT_REVISION=0
-LT_AGE=0
-
-LT_RELEASE=$GFLIB_GTK_MAJOR_VERSION.$GFLIB_GTK_MINOR_VERSION.$GFLIB_GTK_MICRO_VERSION
-
-AC_SUBST(LT_RELEASE)
-AC_SUBST(LT_CURRENT)
-AC_SUBST(LT_REVISION)
-AC_SUBST(LT_AGE)
-
-dnl ################################################################
-dnl # Initialize automake
-dnl ################################################################
-AM_INIT_AUTOMAKE([gnu dist-bzip2])
-
-dnl ################################################################
-dnl # Configuration file
-dnl ################################################################
-AM_CONFIG_HEADER(config.h)
-
-dnl # Stash configure args
-AC_DEFINE_UNQUOTED(CONFIG_ARGS, "$ac_configure_args", [configure arguments])
-
-# set our language to C
-AC_LANG([C])
-
-dnl #######################################################################
-dnl # Make sure we have pkg-config
-dnl #######################################################################
-PKG_PROG_PKG_CONFIG
-
-dnl #######################################################################
-dnl # Setup libtool
-dnl #######################################################################
-LT_INIT
-LT_LANG([C])
-LIBTOOL="$LIBTOOL --silent"
-
-dnl #######################################################################
-dnl # Our header
-dnl #######################################################################
-AH_TOP([ /* our header */
-#ifndef CONFIG_H
-#define CONFIG_H
-])
-AH_BOTTOM([
-#endif /* CONFIG_H */
-])
-
-dnl #######################################################################
-dnl # INTLTOOL
-dnl #######################################################################
-AC_PROG_INTLTOOL
-
-GETTEXT_PACKAGE=gflib-gtk
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define the gettext package to be used])
-
-ALL_LINGUAS=""
-AM_GLIB_GNU_GETTEXT
-
-dnl #######################################################################
-dnl # Look for the C compiler
-dnl #######################################################################
-CFLAGS_save="$CFLAGS"
-AC_PROG_CC
-CFLAGS="$CFLAGS_save"
-
-AC_ARG_ENABLE(debug,
- AC_HELP_STRING([--enable-debug],[compile with debugging support])
- ,,enable_debug=no)
-
-if test x"$enable_debug" = x"yes" ; then
- AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
-fi
-
-AC_ARG_ENABLE(deprecated,
- AC_HELP_STRING([--disable-deprecated],[compile without deprecated API usage])
- ,,enable_deprecated=yes)
-
-if test "x$enable_deprecated" = no; then
- DEBUG_CFLAGS = "$DEBUG_CFLAGS -DG_DISABLE_DEPRECATED"
-fi
-AC_SUBST(DEBUG_CFLAGS)
-
-if test x"$GCC" = x"yes"; then
- CFLAGS="$CFLAGS -Wall -g3"
-fi
-AC_SUBST(CFLAGS)
-AC_SUBST(DEBUG_CFLAGS)
-
-dnl #######################################################################
-dnl # check for gflib
-dnl #######################################################################
-PKG_CHECK_MODULES(GFLIB, [gflib])
-AC_SUBST(GFLIB_LIBS)
-AC_SUBST(GFLIB_CFLAGS)
-
-GFLIB_GENHEADER=`pkg-config --variable=gflib_genheader gflib`
-AC_SUBST(GFLIB_GENHEADER)
-
-dnl #######################################################################
-dnl # check for gflib-ui
-dnl #######################################################################
-PKG_CHECK_MODULES(GFLIB_UI, [gflib-ui])
-AC_SUBST(GFLIB_UI_LIBS)
-AC_SUBST(GFLIB_UI_CFLAGS)
-
-dnl #######################################################################
-dnl # check for glib and other glib dependencies
-dnl #######################################################################
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.12.0 gobject-2.0 >= 2.12.0])
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
-
-GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
-AC_SUBST(GLIB_GENMARSHAL)
-
-dnl #######################################################################
-dnl # check for gtk
-dnl #######################################################################
-AC_MSG_CHECKING([golden ticket])
-AC_MSG_RESULT([no])
-PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.10.0])
-AC_SUBST(GTK_CFLAGS)
-AC_SUBST(GTK_LIBS)
-
-dnl #######################################################################
-dnl # do we want to build the tests?
-dnl #######################################################################
-AC_ARG_ENABLE(tests,
- AC_HELP_STRING([--enable-tests],[build test programs])
- ,,enable_tests=no)
-
-AM_CONDITIONAL(BUILD_TESTS, test x"$enable_tests" = x"yes")
-
-dnl #######################################################################
-dnl # gtk-doc Stuff
-dnl #######################################################################
-GTK_DOC_CHECK([1.0])
-
-dnl #######################################################################
-dnl # Finish up
-dnl #######################################################################
-AC_OUTPUT([Makefile
- gflib-gtk.pc
- doc/Makefile
- doc/gflib-gtk/Makefile
- gflib-gtk/Makefile
- po/Makefile.in
- tests/Makefile
- ])
-
-dnl #######################################################################
-dnl # Ouput!!
-dnl #######################################################################
-
-echo;
-echo AC_PACKAGE_NAME AC_PACKAGE_VERSION Configuration complete
-echo;
-echo Debugging enabled................: $enable_debug
-echo Build tests......................: $enable_tests
-echo;
-echo Type make to compile
-echo;
--- a/gflib-gtk/gflib-gtk.pc.in Mon Dec 13 08:30:11 2010 -0600
+++ b/gflib-gtk/gflib-gtk.pc.in Mon Dec 13 13:19:17 2010 -0600
@@ -1,11 +1,12 @@
-prefix=@prefix@
+prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
-includedir=${prefix}/include/gflib-gtk-1.0
+includedir=${prefix}/include/gflib-1.0/gflib-gtk
Name: libgflib-gtk
-Description: Guifications Gtk library
-Requires: gflib
+Description: Guifications Gtk+ UI Library
+Requires: gflib gflib-ui
Version: @VERSION@
Libs: -L${libdir} -lgflib-gtk
Cflags: -I${includedir}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib-gtk/gflib-gtk/CMakeLists.txt Mon Dec 13 13:19:17 2010 -0600
@@ -0,0 +1,80 @@
+###############################################################################
+# gflib-gtk sources
+###############################################################################
+set(GFLIB_GTK_HEADERS
+ gf_gtk_color.h
+ gf_gtk_core.h
+ gf_gtk_gc.h
+ gf_gtk_image.h
+ gf_gtk_intl.h
+)
+
+set(GFLIB_GTK_BUILD_HEADERS
+)
+
+set(GFLIB_GTK_SOURCES
+ gf_gtk_color.c
+ gf_gtk_core.c
+ gf_gtk_gc.c
+ gf_gtk_image.c
+)
+
+###############################################################################
+# gf_lib_gtk.h generation
+###############################################################################
+add_custom_command(
+ OUTPUT gf_lib_gtk.h
+ DEPENDS ${GFLIB_GENHEADER} ${GFLIB_GTK_HEADERS} ${GFLIB_GTK_BUILT_HEADERS}
+ COMMAND ${GFLIB_GENHEADER} -s GF_LIB_GTK -d gflib-gtk
+ ${GFLIB_GTK_HEADERS} ${GFLIB_GTK_BUILT_HEADERS} >
+ ${CMAKE_CURRENT_BINARY_DIR}/gf_lib_gtk.h
+)
+
+###############################################################################
+# gflib-gtk target
+###############################################################################
+add_library(gflib-gtk SHARED
+ ${GFLIB_GTK_HEADERS}
+ ${GFLIB_GTK_BUILT_HEADERS}
+ ${GFLIB_GTK_SOURCES}
+
+ # this is a hack to make sure this gets built
+ gf_lib_gtk.h
+)
+
+target_link_libraries(gflib-gtk
+ ${GLIB_LIBRARIES}
+ ${GTK_LIBRARIES}
+
+ ${GFLIB_LIBRARIES}
+ ${GFLIB_UI_LIBRARIES}
+)
+
+###############################################################################
+# Install Stuff
+###############################################################################
+# install the library
+install(TARGETS gflib-gtk LIBRARY DESTINATION lib)
+
+# install the single include into the main directory
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/gf_lib_gtk.h
+ DESTINATION include/gflib-1.0
+)
+
+# install the normal headers into the gflib-gtk directory
+foreach(HEADER ${GFLIB_GTK_HEADERS})
+ install(
+ FILES ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER}
+ DESTINATION include/gflib-1.0/gflib-gtk
+ )
+endforeach(HEADER)
+
+# install the built headers into the gflib-gtk directory
+foreach(HEADER ${GFLIB_GTK_BUILT_HEADERS})
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${HEADER}
+ DESTINATION include/gflib-1.0/gflib-gtk
+ )
+endforeach(HEADER)
+
--- a/gflib-gtk/gflib-gtk/Makefile.am Mon Dec 13 08:30:11 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-EXTRA_DIST=
-
-gfgtkincdir = $(includedir)/gflib-gtk-1.0/gflib-gtk
-
-lib_LTLIBRARIES = libgflib-gtk.la
-
-gfgtkinc_HEADERS = \
- gf_gtk_color.h \
- gf_gtk_core.h \
- gf_gtk_gc.h \
- gf_gtk_image.h \
- gf_gtk_intl.h
-
-gfgtkinc_DATA = gf_lib_gtk.h
-
-libgflib_gtk_la_SOURCES = \
- gf_gtk_color.c \
- gf_gtk_core.c \
- gf_gtk_gc.c \
- gf_gtk_image.c
-
-libgflib_gtk_la_LIBADD = \
- -lm \
- $(GFLIB_LIBS) \
- $(GFLIB_UI_LIBS) \
- $(GLIB_LIBS) \
- $(GTK_LIBS)
-
-libgflib_gtk_la_LDFLAGS = \
- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
-
-INCLUDES = -I$(top_srcdir)
-
-AM_CPPFLAGS = \
- -DDATADIR=\"$(datadir)\" \
- -DLIBDIR=\"$(libdir)\" \
- -DLOCALEDIR=\"$(datadir)/locale\" \
- $(GFLIB_CFLAGS) \
- $(GFLIB_UI_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(GTK_CFLAGS)
-
-gf_lib_gtk.h: $(gfgtkinc_HEADERS)
- @$(GFLIB_GENHEADER) --symbol=GF_LIB_GTK_H --directory=gflib-gtk $(gfgtkinc_HEADERS) > gf_lib_gtk.h
-
-dist-hook: gf_lib_gtk.h
-
-CLEANFILES=gf_lib_gtk.h
--- a/gflib-gtk/gflib-gtk/gf_gtk_image.h Mon Dec 13 08:30:11 2010 -0600
+++ b/gflib-gtk/gflib-gtk/gf_gtk_image.h Mon Dec 13 13:19:17 2010 -0600
@@ -18,7 +18,7 @@
#ifndef GF_GTK_IMAGE_H
#define GF_GTK_IMAGE_H
-#include <gflib/gf_lib.h>
+#include <gf_lib.h>
#include <gdk/gdk.h>
--- a/gflib-gtk/tests/Makefile.am Mon Dec 13 08:30:11 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXTRA_DIST=\
- logo.png
-
-INCLUDES=\
- -I$(top_srcdir) \
- -I$(top_builddir)/gflib-gtk/
-
-LDADDS=\
- $(top_builddir)/gflib-gtk/libgflib-gtk.la \
- $(GFLIB_LIBS) \
- $(GTK_LIBS) \
- $(GLIB_LIBS)
-
-if BUILD_TESTS
-
-noinst_PROGRAMS=\
- testimage
-
-testimage_DEPENDENCIES=$(TEST_DEPS)
-
-testimage_LDADD=$(LDADDS)
-
-testimage_SOURCES=testimage.c
-
-endif
-
-AM_CPPFLAGS=\
- $(GFLIB_CFLAGS) \
- $(GTK_CFLAGS) \
- $(GLIB_CFLAGS)