grim/guifications3

052776e3cf75
Parents 97b7f1e8fa7c
Children 7a6d86b977e8
some more work to getting gtkdoc to work under cmake
--- a/gflib/CMakeLists.txt Sun Mar 21 23:34:28 2010 -0500
+++ b/gflib/CMakeLists.txt Sat Apr 03 20:45:50 2010 -0500
@@ -5,7 +5,12 @@
###############################################################################
cmake_minimum_required(VERSION 2.6)
-include(FindPkgConfig)
+set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+
+include(FindGlib)
+include(gtk-doc)
+
+enable_testing()
###############################################################################
# project info
@@ -50,29 +55,5 @@
add_subdirectory(po)
add_subdirectory(tests)
-###############################################################################
-# dependencies
-###############################################################################
-
-# glib
-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
-)
-
configure_file(gflib.pc.in gflib.pc @ONLY)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib/cmake/Modules/FindGlib.cmake Sat Apr 03 20:45:50 2010 -0500
@@ -0,0 +1,34 @@
+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)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib/cmake/Modules/gtk-doc.cmake Sat Apr 03 20:45:50 2010 -0500
@@ -0,0 +1,143 @@
+# vi:syntax=cmake
+
+macro(add_gtk_doc_book _module _target)
+ get_target_property(_sources ${_target} SOURCES)
+ # do the initial scan
+ message("sources: ${_sources}")
+ get_target_property(_location ${_target} LOCATION)
+ message("location: ${_location}")
+
+ add_custom_command(
+ OUTPUT scan-build.stamp
+ DEPENDS ${_sources}
+ COMMAND ${GTKDOC_SCAN} --module=${_module} --source-dir=${_source_dir}
+ )
+endmacro(add_gtk_doc_book)
+
+###############################################################################
+# Main find routine
+###############################################################################
+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
+)
+
+
--- a/gflib/doc/CMakeLists.txt Sun Mar 21 23:34:28 2010 -0500
+++ b/gflib/doc/CMakeLists.txt Sat Apr 03 20:45:50 2010 -0500
@@ -3,3 +3,5 @@
configure_file(gflib-genheader.1.in gflib-genheader.1)
configure_file(gflib-query-plugins.1.in gflib-query-plugins.1)
+add_subdirectory(gflib)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib/doc/gflib/CMakeLists.txt Sat Apr 03 20:45:50 2010 -0500
@@ -0,0 +1,2 @@
+add_gtk_doc_book(gflib gflib)
+
--- a/gflib/tests/CMakeLists.txt Sun Mar 21 23:34:28 2010 -0500
+++ b/gflib/tests/CMakeLists.txt Sat Apr 03 20:45:50 2010 -0500
@@ -0,0 +1,15 @@
+ADD_EXECUTABLE(testlog
+ testlog.c
+)
+
+TARGET_LINK_LIBRARIES(testlog
+ ${GLIB_LIBRARIES}
+ gflib
+)
+
+SET(TESTS
+ testlog
+)
+
+#ADD_TEST(GTESTER_TESTS gtester --verbose ${TESTS})
+#ADD_DEPENDENCIES(GTESTER_TESTS ${TESTS})