Simplify CMake.HTML documentation test command line
Drop the "cmake -E chdir" wrapper and instead pass the DTD directory to xmllint's --path option using url encoding. While at it, move the XHTML1 DTD to "Utilities/xml/xhtml1" to make room for additional DTDs.
This commit is contained in:
parent
2da17ef797
commit
2f520d304a
|
@ -141,15 +141,15 @@ if(BUILD_TESTING)
|
|||
execute_process(COMMAND ${LIBXML2_XMLLINT_EXECUTABLE} --help
|
||||
OUTPUT_VARIABLE _help ERROR_VARIABLE _err)
|
||||
if("${_help}" MATCHES "--path" AND "${_help}" MATCHES "--nonet")
|
||||
# We provide the XHTML DTD and its dependencies in the 'xml'
|
||||
# directory so that xmllint can run without network access.
|
||||
# However, it's --path option accepts a space-separated list of
|
||||
# paths so it cannot handle spaces in the path to the source tree.
|
||||
# Therefore we run the tool with the current work directory set to
|
||||
# the 'xml' directory and use '.' as the path.
|
||||
# We provide DTDs in the 'xml' directory so that xmllint can run without
|
||||
# network access. Note that xmllints's --path option accepts a
|
||||
# space-separated list of url-encoded paths.
|
||||
set(_dtd_dir "${CMAKE_CURRENT_SOURCE_DIR}/xml")
|
||||
string(REPLACE " " "%20" _dtd_dir "${_dtd_dir}")
|
||||
string(REPLACE ":" "%3A" _dtd_dir "${_dtd_dir}")
|
||||
add_test(CMake.HTML
|
||||
${CMAKE_CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR}/xml
|
||||
${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet --path .
|
||||
${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet
|
||||
--path ${_dtd_dir}/xhtml1
|
||||
${HTML_FILES}
|
||||
)
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue