From 367188dbba4f98a597aca9ced7832762fc88b062 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Sat, 27 Feb 2021 00:37:26 +0100 Subject: Add CMakeLists.txt files + cmake/ helpers --- docs/reference/CMakeLists.txt | 233 ++++++++++++++++++++++++++++++++++++++++++ docs/reference/scangobj.sh.in | 1 + 2 files changed, 234 insertions(+) create mode 100644 docs/reference/CMakeLists.txt create mode 100644 docs/reference/scangobj.sh.in (limited to 'docs/reference') diff --git a/docs/reference/CMakeLists.txt b/docs/reference/CMakeLists.txt new file mode 100644 index 0000000..6ae064a --- /dev/null +++ b/docs/reference/CMakeLists.txt @@ -0,0 +1,233 @@ + +# libayatana-appindicator-docs.sgml + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libayatana-appindicator-docs.sgml.in" "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-docs.sgml" @ONLY) + +# version.xml + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.xml.in" "${CMAKE_CURRENT_BINARY_DIR}/version.xml" @ONLY) + +# libayatana-appindicator-decl.txt +# libayatana-appindicator-decl-list.txt +# libayatana-appindicator-overrides.txt +# libayatana-appindicator-sections.txt + +find_program(GTKDOC_SCAN gtkdoc-scan) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-decl.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-decl-list.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-overrides.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-sections.txt" + DEPENDS "src" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND + ${GTKDOC_SCAN} + --ignore-headers="app-indicator-enum-types.h;application-service-appstore.h;application-service-client.h;application-service-lru-file.h;application-service-marshal.h;application-service-server.h;application-service-watcher.h;dbus-properties-client.h;dbus-properties-server.h;dbus-shared.h;generate-id.h;notification-item-client.h;notification-item-server.h;notification-watcher-client.h;notification-watcher-server.h" + --module=libayatana-appindicator + --source-dir="${CMAKE_SOURCE_DIR}/src" + --source-dir="${CMAKE_BINARY_DIR}/src" +) + +# libayatana-appindicator.types + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.types" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-decl.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-decl-list.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-overrides.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-sections.txt" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND + ${CMAKE_COMMAND} + -E copy + "${CMAKE_CURRENT_SOURCE_DIR}/libayatana-appindicator.types" + "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.types" +) + +# scangobj.sh + +list(JOIN PROJECT_DEPS_INCLUDE_DIRS " -I" GTKDOC_SCANGOBJ_INCLUDE_DIRS) +list(JOIN PROJECT_DEPS_LIBRARIES " -l" GTKDOC_SCANGOBJ_LIBRARIES) + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scangobj.sh.in" "${CMAKE_CURRENT_BINARY_DIR}/scangobj.sh") + +# libayatana-appindicator.actions +# libayatana-appindicator.args +# libayatana-appindicator.hierarchy +# libayatana-appindicator.interfaces +# libayatana-appindicator.prerequisites +# libayatana-appindicator.signals + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.actions" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.args" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.hierarchy" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.interfaces" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.prerequisites" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.signals" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.types" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND sh scangobj.sh +) + +# gtkdocentities.ent + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") +file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/xml/gtkdocentities.ent" "\n") + +# libayatana-appindicator-undeclared.txt +# libayatana-appindicator-undocumented.txt +# libayatana-appindicator-unused.txt +# xml/annotation-glossary.xml +# xml/api-index-0.5.xml +# xml/api-index-deprecated.xml +# xml/api-index-full.xml +# xml/app-indicator.xml +# xml/libayatana-appindicator-doc.bottom +# xml/libayatana-appindicator-doc.top +# xml/object_index.sgml +# xml/tree_index.sgml + +find_program(GTKDOC_MKDB gtkdoc-mkdb) +list(JOIN PROJECT_DEPS_INCLUDE_DIRS ";-I" GTKDOC_SCANGOBJ_INCLUDE_DIRS) +list(JOIN PROJECT_DEPS_LIBRARIES ";-l" GTKDOC_SCANGOBJ_LIBRARIES) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-undeclared.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-undocumented.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-unused.txt" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/annotation-glossary.xml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-0.5.xml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-deprecated.xml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-full.xml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/app-indicator.xml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/libayatana-appindicator-doc.bottom" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/libayatana-appindicator-doc.top" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/object_index.sgml" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xml/tree_index.sgml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.actions" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.args" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.hierarchy" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.interfaces" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.prerequisites" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator.signals" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND + ${GTKDOC_MKDB} + --module=libayatana-appindicator + --output-format=xml + --expand-content-files="" + --main-sgml-file=libayatana-appindicator-docs.sgml + --source-dir="${CMAKE_SOURCE_DIR}/src" + --sgml-mode +) + +# html +file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html") + +# html/annotation-glossary.html +# html/api-index-0-5.html +# html/api-index-deprecated.html +# html/api-index-full.html +# html/AppIndicator.html +# html/ch01.html +# html/home.png +# html/index.html +# html/left.png +# html/left-insensitive.png +# html/libayatana-appindicator.devhelp2 +# html/object-tree.html +# html/right.png +# html/right-insensitive.png +# html/style.css +# html/up.png +# html/up-insensitive.png + +find_program(GTKDOC_MKHTML gtkdoc-mkhtml) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/annotation-glossary.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-0-5.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-deprecated.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-full.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/AppIndicator.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/ch01.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/home.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/index.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/left.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/left-insensitive.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/libayatana-appindicator.devhelp2" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/object-tree.html" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/right.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/right-insensitive.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/style.css" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/up.png" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html/up-insensitive.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-undeclared.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-undocumented.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator-unused.txt" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/annotation-glossary.xml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-0.5.xml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-deprecated.xml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/api-index-full.xml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/app-indicator.xml" "xml/libayatana-appindicator-doc.bottom" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/libayatana-appindicator-doc.top" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/object_index.sgml" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xml/tree_index.sgml" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html" + COMMAND + ${GTKDOC_MKHTML} + --path=${CMAKE_CURRENT_BINARY_DIR} + libayatana-appindicator + libayatana-appindicator-docs.sgml +) + +# html/annotation-glossary.html +# html/api-index-0-5.html +# html/api-index-deprecated.html +# html/api-index-full.html +# html/AppIndicator.html +# html/ch01.html +# html/index.html +# html/object-tree.html +# html/style.css + +find_program(GTKDOC_FIXXREF gtkdoc-fixxref) + +add_custom_command( + OUTPUT "fixxref" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/annotation-glossary.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-0-5.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-deprecated.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/api-index-full.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/AppIndicator.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/ch01.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/home.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/index.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/left.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/left-insensitive.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/libayatana-appindicator.devhelp2" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/object-tree.html" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/right.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/right-insensitive.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/style.css" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/up.png" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/up-insensitive.png" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND + ${GTKDOC_FIXXREF} + --module=libayatana-appindicator + --module-dir=html + --html-dir="${CMAKE_INSTALL_FULL_DATADIR}/gtk-doc/html" +) + +set_source_files_properties("fixxref" PROPERTIES SYMBOLIC True) +install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/gtk-doc/html/libayatana-appindicator") + +add_custom_target("docs-references" ALL DEPENDS "fixxref") diff --git a/docs/reference/scangobj.sh.in b/docs/reference/scangobj.sh.in new file mode 100644 index 0000000..0272865 --- /dev/null +++ b/docs/reference/scangobj.sh.in @@ -0,0 +1 @@ +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${CMAKE_BINARY_DIR}/src" CFLAGS="-I${GTKDOC_SCANGOBJ_INCLUDE_DIRS}" LDFLAGS="-l${GTKDOC_SCANGOBJ_LIBRARIES} -L${CMAKE_BINARY_DIR}/src -layatana-appindicator3" gtkdoc-scangobj --type-init-func="g_type_init()" --module=libayatana-appindicator > /dev/null -- cgit v1.2.3