diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 233d5e23a..cb50eca21 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -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() diff --git a/Utilities/xml/xhtml-lat1.ent b/Utilities/xml/xhtml1/xhtml-lat1.ent similarity index 100% rename from Utilities/xml/xhtml-lat1.ent rename to Utilities/xml/xhtml1/xhtml-lat1.ent diff --git a/Utilities/xml/xhtml-special.ent b/Utilities/xml/xhtml1/xhtml-special.ent similarity index 100% rename from Utilities/xml/xhtml-special.ent rename to Utilities/xml/xhtml1/xhtml-special.ent diff --git a/Utilities/xml/xhtml-symbol.ent b/Utilities/xml/xhtml1/xhtml-symbol.ent similarity index 100% rename from Utilities/xml/xhtml-symbol.ent rename to Utilities/xml/xhtml1/xhtml-symbol.ent diff --git a/Utilities/xml/xhtml1-strict.dtd b/Utilities/xml/xhtml1/xhtml1-strict.dtd similarity index 100% rename from Utilities/xml/xhtml1-strict.dtd rename to Utilities/xml/xhtml1/xhtml1-strict.dtd