浏览代码

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.
Daniel Pfeifer 13 年之前
父节点
当前提交
2f520d304a

+ 8 - 8
Utilities/CMakeLists.txt

@@ -141,15 +141,15 @@ if(BUILD_TESTING)
     execute_process(COMMAND ${LIBXML2_XMLLINT_EXECUTABLE} --help
     execute_process(COMMAND ${LIBXML2_XMLLINT_EXECUTABLE} --help
       OUTPUT_VARIABLE _help ERROR_VARIABLE _err)
       OUTPUT_VARIABLE _help ERROR_VARIABLE _err)
     if("${_help}" MATCHES "--path" AND "${_help}" MATCHES "--nonet")
     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
       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}
         ${HTML_FILES}
         )
         )
     endif()
     endif()

+ 0 - 0
Utilities/xml/xhtml-lat1.ent → Utilities/xml/xhtml1/xhtml-lat1.ent


+ 0 - 0
Utilities/xml/xhtml-special.ent → Utilities/xml/xhtml1/xhtml-special.ent


+ 0 - 0
Utilities/xml/xhtml-symbol.ent → Utilities/xml/xhtml1/xhtml-symbol.ent


+ 0 - 0
Utilities/xml/xhtml1-strict.dtd → Utilities/xml/xhtml1/xhtml1-strict.dtd