Albert Astals Cid <[email protected]> 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
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/poppler
--
Carlos Garcia Campos
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
signature.asc
Description: PGP signature
_______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
