[poppler] cmake: gtk-doc support
Carlos Garcia Campos
carlosgc at gnome.org
Wed Sep 6 06:32:03 UTC 2017
Albert Astals Cid <aacid at kde.org> writes:
> So gtkdoc upstream seems to have cmake support, so I *almost* made it work
>
> But it's obviously failing to pick up some stuff since the generated files
> look wrong.
>
> See
> http://i.imgur.com/gdSH1pI.png
> vs
> http://i.imgur.com/5QSy6oP.png
>
> Patch attached.
>
> Can anyone try to have a look? Or anyone knows who could i ask for help on the
> glib/gnome side? I've sank a few hours into this and not sure i can move it
> forward without further help.
I'll look at it (probably during the weekend)
> Cheers,
> Albert
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index f557bdaf..4a012db4 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -161,7 +161,10 @@ if(CAIRO_FOUND)
> set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "")
> if(ENABLE_GLIB)
> macro_optional_find_package(GLIB)
> - if(NOT GLIB_FOUND)
> + if(GLIB_FOUND)
> + find_package(GtkDoc 1.25 QUIET)
> + MESSAGE("GtkDoc_FOUND ${GtkDoc_FOUND}")
> + else()
> set(ENABLE_GLIB OFF)
> endif()
> endif()
> @@ -786,7 +789,7 @@ show_end_message_yesno("qt5 wrapper" ENABLE_QT5)
> show_end_message_yesno("glib wrapper" ENABLE_GLIB)
> show_end_message_yesno(" introspection" INTROSPECTION_FOUND)
> show_end_message_yesno("cpp wrapper" ENABLE_CPP)
> -show_end_message("use gtk-doc" "not supported with this CMake build system")
> +show_end_message_yesno("use gtk-doc" GtkDoc_FOUND)
> show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
> show_end_message_yesno("use libpng" ENABLE_LIBPNG)
> show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
> diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
> index 26724ec1..455c9d49 100644
> --- a/glib/CMakeLists.txt
> +++ b/glib/CMakeLists.txt
> @@ -84,7 +84,7 @@ add_library(poppler-glib SHARED ${poppler_glib_SRCS} ${poppler_glib_generated_SR
> set_target_properties(poppler-glib PROPERTIES VERSION 8.9.0 SOVERSION 8)
> target_link_libraries(poppler-glib poppler ${GLIB2_LIBRARIES} ${CAIRO_LIBRARIES} ${FREETYPE_LIBRARIES})
> if(HAVE_PTHREAD)
> - target_link_libraries(poppler-glib -lpthread)
> + target_link_libraries(poppler-glib pthread)
> endif()
> install(TARGETS poppler-glib RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
>
> @@ -134,3 +134,7 @@ if (HAVE_INTROSPECTION)
>
> gir_add_introspections(INTROSPECTION_GIRS)
> endif ()
> +
> +if (GtkDoc_FOUND)
> + add_subdirectory(reference)
> +endif()
> diff --git a/glib/reference/CMakeLists.txt b/glib/reference/CMakeLists.txt
> new file mode 100644
> index 00000000..c22557fd
> --- /dev/null
> +++ b/glib/reference/CMakeLists.txt
> @@ -0,0 +1,26 @@
> +SET(exec_prefix "/usr/")
> +
> +find_package(GtkDoc 1.25 REQUIRED)
> +
> +# For some reason poppler has a -lpthread that I don't know exactly where it comes from
> +# but the GtkDoc cmake code chokes on it, so replace to pthread only
> +get_target_property(target_link_flags poppler LINK_LIBRARIES)
> +string(REPLACE "-lpthread" "pthread" fixed_target_link_flags "${target_link_flags}")
> +set_target_properties(poppler PROPERTIES LINK_LIBRARIES "${fixed_target_link_flags}")
> +
> +# Create the doc-poppler target.
> +gtk_doc_add_module(
> + poppler
> + SOURCE ${CMAKE_SOURCE_DIR}/glib/
> + ${CMAKE_SOURCE_DIR}/glib/reference/
> + LIBRARIES poppler-glib poppler
> +)
> +
> +# Build doc-poppler as part of the default target. Without this, you would
> +# have to explicitly run something like `make doc-poppler` to build the docs.
> +add_custom_target(documentation ALL DEPENDS doc-poppler)
> +
> +# # Install the docs. (This assumes you're using the GNUInstallDirs CMake module
> +# # to set the CMAKE_INSTALL_DOCDIR variable correctly).
> +# install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/poppler/html
> +# DESTINATION ${CMAKE_INSTALL_DOCDIR})
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler
--
Carlos Garcia Campos
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/poppler/attachments/20170906/0b447f93/attachment.sig>
More information about the poppler
mailing list