Replaced xmlto with xsltproc to word around a bug preventing manpages
to be build, when there are spaces in the build path.
This commit is contained in:
parent
ef574c0fcc
commit
9b95c55574
@ -19,7 +19,7 @@
|
||||
set(MODULE_NAME "xfreerdp-client")
|
||||
set(MODULE_PREFIX "FREERDP_CLIENT_X11_CONTROL")
|
||||
|
||||
include(FindXmlto)
|
||||
include(FindDocBookXSL)
|
||||
include_directories(${X11_INCLUDE_DIRS})
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
@ -68,7 +68,10 @@ set(${MODULE_PREFIX}_LIBS
|
||||
${CMAKE_DL_LIBS})
|
||||
|
||||
if(WITH_MANPAGES)
|
||||
if(XMLTO_FOUND)
|
||||
find_program( XSLTPROC_EXECUTABLE NAMES xsltproc)
|
||||
|
||||
if(DOCBOOKXSL_FOUND AND XSLTPROC_EXECUTABLE)
|
||||
|
||||
# We need the variable ${MAN_TODAY} to contain the current date in ISO
|
||||
# format to replace it in the configure_file step.
|
||||
include(today)
|
||||
@ -87,7 +90,7 @@ if(WITH_MANPAGES)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/xfreerdp-channels.1.xml ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/xfreerdp-examples.1.xml ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${XMLTO_EXECUTABLE} man xfreerdp.1.xml
|
||||
COMMAND ${XSLTPROC_EXECUTABLE} ${DOCBOOKXSL_DIR}/manpages/docbook.xsl xfreerdp.1.xml
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1.xml
|
||||
@ -99,9 +102,9 @@ if(WITH_MANPAGES)
|
||||
DEPENDS xfreerdp.1)
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 DESTINATION share/man/man1)
|
||||
else(XMLTO_FOUND)
|
||||
message(WARNING "WITH_MANPAGES was set, but xmlto was not found. man-pages will not be installed")
|
||||
endif(XMLTO_FOUND)
|
||||
else(DOCBOOKXSL_FOUND AND XSLTPROC_EXECUTABLE)
|
||||
message(WARNING "WITH_MANPAGES was set, but xsltproc was not found. man-pages will not be installed")
|
||||
endif(DOCBOOKXSL_FOUND AND XSLTPROC_EXECUTABLE)
|
||||
endif(WITH_MANPAGES)
|
||||
|
||||
set(XSHM_FEATURE_TYPE "REQUIRED")
|
||||
|
52
cmake/FindDocBookXSL.cmake
Normal file
52
cmake/FindDocBookXSL.cmake
Normal file
@ -0,0 +1,52 @@
|
||||
# Try to find DocBook XSL stylesheet
|
||||
# Once done, it will define:
|
||||
#
|
||||
# DOCBOOKXSL_FOUND - system has the required DocBook XML DTDs
|
||||
# DOCBOOKXSL_DIR - the directory containing the stylesheets
|
||||
# used to process DocBook XML
|
||||
|
||||
# Copyright (c) 2010, Luigi Toscano, <luigi.toscano@tiscali.it>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
set (STYLESHEET_PATH_LIST
|
||||
share/xml/docbook/stylesheet/docbook-xsl
|
||||
share/xml/docbook/xsl-stylesheets
|
||||
share/sgml/docbook/xsl-stylesheets
|
||||
share/xml/docbook/stylesheet/nwalsh/current
|
||||
share/xml/docbook/stylesheet/nwalsh
|
||||
share/xsl/docbook
|
||||
share/xsl/docbook-xsl
|
||||
)
|
||||
|
||||
find_path (DOCBOOKXSL_DIR lib/lib.xsl
|
||||
PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
|
||||
PATH_SUFFIXES ${STYLESHEET_PATH_LIST}
|
||||
)
|
||||
|
||||
if (NOT DOCBOOKXSL_DIR)
|
||||
# hacks for systems that put the version in the stylesheet dirs
|
||||
set (STYLESHEET_PATH_LIST)
|
||||
foreach (STYLESHEET_PREFIX_ITER ${CMAKE_SYSTEM_PREFIX_PATH})
|
||||
file(GLOB STYLESHEET_SUFFIX_ITER RELATIVE ${STYLESHEET_PREFIX_ITER}
|
||||
${STYLESHEET_PREFIX_ITER}/share/xml/docbook/xsl-stylesheets-*
|
||||
)
|
||||
if (STYLESHEET_SUFFIX_ITER)
|
||||
list (APPEND STYLESHEET_PATH_LIST ${STYLESHEET_SUFFIX_ITER})
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
find_path (DOCBOOKXSL_DIR VERSION
|
||||
PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
|
||||
PATH_SUFFIXES ${STYLESHEET_PATH_LIST}
|
||||
)
|
||||
endif (NOT DOCBOOKXSL_DIR)
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (DocBookXSL
|
||||
"Could NOT find DocBook XSL stylesheets"
|
||||
DOCBOOKXSL_DIR)
|
||||
|
||||
mark_as_advanced (DOCBOOKXSL_DIR)
|
Loading…
Reference in New Issue
Block a user