grim/guifications3

start of installing with cmake
cmake
2010-12-12, Gary Kramlich
b77f237d3176
Parents 6fbae9e97b9e
Children 233e037167c1
start of installing with cmake
removed the cmake modules since the findglib stuff is easy enough to add as necessary and since gtk-doc won't work under cmake
--- a/gflib/CMakeLists.txt Sun Dec 12 23:25:55 2010 -0600
+++ b/gflib/CMakeLists.txt Sun Dec 12 23:39:00 2010 -0600
@@ -1,22 +1,55 @@
-# vi:syntax=cmake
-
-###############################################################################
-# basics
-###############################################################################
cmake_minimum_required(VERSION 2.8)
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
-
-include(FindGlib)
-include(gtk-doc)
-
-enable_testing()
-
###############################################################################
# project info
###############################################################################
project(gflib C)
+set(GFLIB_MAJOR_VERSION 0)
+set(GFLIB_MINOR_VERSION 0)
+set(GFLIB_MICRO_VERSION 1)
+set(GFLIB_EXTRA_VERSION dev)
+
+if(GFLIB_EXTRA_VERSION)
+ set(VERSION ${GFLIB_MAJOR_VERSION}.${GFLIB_MINOR_VERSION}.${GFLIB_MICRO_VERSION}-${GFLIB_EXTRA_VERSION})
+else(GFLIB_EXTRA_VERSION)
+ set(VERSION ${GFLIB_MAJOR_VERSION}.${GFLIB_MINOR_VERSION}.${GFLIB_MICRO_VERSION})
+endif(GFLIB_EXTRA_VERSION)
+
+###############################################################################
+# Dependencies
+###############################################################################
+include(FindPkgConfig)
+
+pkg_check_modules(GLIB REQUIRED
+ glib-2.0>=2.16.0
+ gobject-2.0>=2.16.0
+ gthread-2.0>=2.16.0
+)
+
+pkg_check_modules(GMODULE REQUIRED gmodule-2.0>=2.16.0)
+
+find_program(GLIB_GENMARSHAL
+ NAMES glib-genmarshal
+ DOC "glib-genmarshal executable"
+)
+mark_as_advanced(GLIB_GENMARSHAL)
+
+find_program(GLIB_MKENUMS
+ NAMES glib-mkenums
+ DOC "glib-mkenums executable"
+)
+mark_as_advanced(GLIB_MKENUMS)
+
+find_program(GTESTER
+ NAMES gtester
+ DOC "gtester executable"
+)
+mark_as_advanced(GTESTER)
+
+###############################################################################
+# Build Info
+###############################################################################
include_directories(gflib
${CMAKE_SOURCE_DIR}
${CMAKE_BINARY_DIR}
@@ -34,21 +67,11 @@
-DDATADIR="${CMAKE_INSTALL_PREFIX}/share"
-DLIBDIR="${CMAKE_INSTALL_PREFIX}/lib"
-DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/locale"
+ -g -g3 -Wall
)
-set(GFLIB_MAJOR_VERSION 0)
-set(GFLIB_MINOR_VERSION 0)
-set(GFLIB_MICRO_VERSION 1)
-set(GFLIB_EXTRA_VERSION dev)
-
-if(GFLIB_EXTRA_VERSION)
- set(VERSION ${GFLIB_MAJOR_VERSION}.${GFLIB_MINOR_VERSION}.${GFLIB_MICRO_VERSION}-${GFLIB_EXTRA_VERSION})
-else(GFLIB_EXTRA_VERSION)
- set(VERSION ${GFLIB_MAJOR_VERSION}.${GFLIB_MINOR_VERSION}.${GFLIB_MICRO_VERSION})
-endif(GFLIB_EXTRA_VERSION)
-
###############################################################################
-# subdirectories
+# Subdirectories
###############################################################################
add_subdirectory(gflib)
add_subdirectory(contrib)
@@ -56,5 +79,25 @@
add_subdirectory(po)
add_subdirectory(tests)
+###############################################################################
+# Config Files
+###############################################################################
configure_file(gflib.pc.in gflib.pc @ONLY)
+###############################################################################
+# Unit Testing
+###############################################################################
+enable_testing()
+
+###############################################################################
+# Install Stuff
+###############################################################################
+# documentation
+install(
+ FILES AUTHROS ChangeLog COPYING NEWS README
+ DESTINATION share/doc/gflib
+)
+
+# pkg-config files
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gflib.pc DESTINATION lib/pkgconfig)
+
--- a/gflib/cmake/Modules/FindGlib.cmake Sun Dec 12 23:25:55 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-include(FindPkgConfig)
-
-pkg_check_modules(GLIB REQUIRED
- glib-2.0>=2.16.0
- gobject-2.0>=2.16.0
- gthread-2.0>=2.16.0
-)
-
-# we need glib-genmarshal and glib-mkenums
-find_program(GLIB_GENMARSHAL
- NAMES glib-genmarshal
- DOC "glib-genmarshal executable"
-)
-mark_as_advanced(GLIB_GENMARSHAL)
-
-find_program(GLIB_MKENUMS
- NAMES glib-mkenums
- DOC "glib-mkenums executable"
-)
-mark_as_advanced(GLIB_MKENUMS)
-
-# gmodule is in a separate variable so that our helper apps don't get linked to
-# it.
-pkg_check_modules(GMODULE REQUIRED
- gmodule-2.0>=2.16.0
-)
-
-# now we need to find gtester
-find_program(GTESTER
- NAMES gtester
- DOC "gtester executable"
-)
-#add_executable("${GTESTER}" IMPORTED)
-#mark_as_advanced(GTESTER)
--- a/gflib/cmake/Modules/gtk-doc.cmake Sun Dec 12 23:25:55 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-# vi:syntax=cmake
-
-macro(add_gtk_doc_book _module _target _ignore_headers)
- if(ENABLE_GTKDOC)
- get_target_property(_sources ${_target} SOURCES)
-
- # do the initial scan
- get_target_property(_location ${_target} LOCATION)
- string(REGEX REPLACE "[^/]+$" "" _source_dir ${_location})
-
- add_custom_command(
- OUTPUT ${_module}-decl.txt ${_module}-sections.txt ${_module}-overrides.txt
- DEPENDS ${_target}
- COMMAND ${GTKDOC_SCAN} --module=${_module} --source-dir=${_source_dir} --ignore-headers=${_ignore_headers}
- COMMAND echo "foo"
- )
-
- add_custom_command(
- OUTPUT ${_module}.args ${_module}.hierarchy ${_module}.interfaces ${_module}.prerequisites ${_module}.signals
- DEPENDS ${_target}
- COMMAND CC="${CMAKE_C_COMPILER}" LD="${CMAKE_LINKER}" RUN="sh -c" CFLAGS="${GTKDOC_CFLAGS}" LDFLAGS="${GTKDOC_LDFLAGS}" ${GTKDOC_SCANGOBJ} --module=${_module} --output-dir=${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND ${CMAKE_COMMAND} -E touch scan-build.stamp
- COMMAND echo "bar"
- )
-
-
- add_custom_target(
- "${_module}-gtkdoc"
- ALL
- DEPENDS ${_module}-decl.txt ${_module}.args
- )
- endif(ENABLE_GTKDOC)
-endmacro(add_gtk_doc_book)
-
-###############################################################################
-# Main find routine
-###############################################################################
-option(ENABLE_GTKDOC "Build gtk-doc documentation" False)
-
-set(GTKDOC_CFLAGS ${GLIB_CFLAGS} -I${CMAKE_SOURCE_DIR})
-#mark_as_advanced(GTKDOC_CFLAGS)
-
-set(GTKDOC_LDFLAGS ${GLIB_LDFLAGS})
-#mark_as_advanced(GTKDOC_LDFLAGS)
-
-if(ENABLE_GTKDOC)
- FIND_PROGRAM(GTKDOC_CHECK
- NAME gtkdoc-check
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - documentation unit tests"
- )
-
- FIND_PROGRAM(GTKDOC_DEPSCAN
- NAME gtkdoc-depscan
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - dependency scanner"
- )
-
- FIND_PROGRAM(GTKDOC_FIXXREF
- NAME gtkdoc-fixxref
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - fix cross references in html files"
- )
-
- FIND_PROGRAM(GTKDOC_MKDB
- NAME gtkdoc-mkdb
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - generate docbook files"
- )
-
- FIND_PROGRAM(GTKDOC_MKHTML
- NAME gtkdoc-mkhtml
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - generate html files"
- )
-
- FIND_PROGRAM(GTKDOC_MKMAN
- NAME gtkdoc-mkman
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - generate man pages"
- )
-
- FIND_PROGRAM(GTKDOC_MKPDF
- NAME gtkdoc-mkpdf
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - generation pdf files"
- )
-
- FIND_PROGRAM(GTKDOC_MKTMPL
- NAME gtkdoc-mktmpl
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - generate documentation templates"
- )
-
- FIND_PROGRAM(GTKDOC_REBASE
- NAME gtkdoc-rebase
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - rewrite the base url of html files"
- )
-
- FIND_PROGRAM(GTKDOC_SCAN
- NAME gtkdoc-scan
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - scan header files for public symbols"
- )
-
- FIND_PROGRAM(GTKDOC_SCANGOBJ
- NAME gtkdoc-scangobj
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - introspect g-objects"
- )
-
- FIND_PROGRAM(GTKDOC_SCANOBJ
- NAME gtkdoc-scanobj
- PATHS
- /usr/bin
- /usr/local/bin
- /opt/local/bin
- DOC "GTK Doc - introspect gtk-objects"
- )
-
- MARK_AS_ADVANCED(
- GTKDOC_CHECK
- GTKDOC_DEPSCAN
- GTKDOC_FIXXREF
- GTKDOC_MKDB
- GTKDOC_MKHTML
- GTKDOC_MKMAN
- GTKDOC_MKPDF
- GTKDOC_MKTMPL
- GTKDOC_REBASE
- GTKDOC_SCAN
- GTKDOC_SCANGOBJ
- GTKDOC_SCANOBJ
- )
-endif(ENABLE_GTKDOC)
-
-###############################################################################
-# dependencies
-###############################################################################
-
-# gtk doc depends on atleast glib
-include(FindGlib)
-
--- a/gflib/doc/CMakeLists.txt Sun Dec 12 23:25:55 2010 -0600
+++ b/gflib/doc/CMakeLists.txt Sun Dec 12 23:39:00 2010 -0600
@@ -3,5 +3,3 @@
configure_file(gflib-genheader.1.in gflib-genheader.1)
configure_file(gflib-query-plugins.1.in gflib-query-plugins.1)
-add_subdirectory(gflib)
-
--- a/gflib/doc/gflib/CMakeLists.txt Sun Dec 12 23:25:55 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-add_gtk_doc_book(gflib gflib "")
-