summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-06-23 11:38:33 (GMT)
committerBrad King <brad.king@kitware.com>2010-06-23 11:38:33 (GMT)
commit1819d9d61794a0783c30c1b8144391e8dba2392a (patch)
tree5a9796210b0a812594e793283f4a47317d706a2c
parent8c0e79f8240067918891cd9f406b3ff0ee721d79 (diff)
downloadCMake-1819d9d61794a0783c30c1b8144391e8dba2392a.zip
CMake-1819d9d61794a0783c30c1b8144391e8dba2392a.tar.gz
CMake-1819d9d61794a0783c30c1b8144391e8dba2392a.tar.bz2
Run CMake.HTML test with older xmllint (#10857)
Old versions of xmllint do not have --nonet or --path options. Fall back to the network-access form in this case.
-rw-r--r--Utilities/CMakeLists.txt30
1 files changed, 19 insertions, 11 deletions
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
index 4aa8719..4c9202c 100644
--- a/Utilities/CMakeLists.txt
+++ b/Utilities/CMakeLists.txt
@@ -138,16 +138,24 @@ if(BUILD_TESTING)
endif()
mark_as_advanced(LIBXML2_XMLLINT_EXECUTABLE)
if(LIBXML2_XMLLINT_EXECUTABLE)
- # 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.
- add_test(CMake.HTML
- ${CMAKE_CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR}/xml
- ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet --path .
- ${HTML_FILES}
- )
+ 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.
+ add_test(CMake.HTML
+ ${CMAKE_CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR}/xml
+ ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet --path .
+ ${HTML_FILES}
+ )
+ else()
+ add_test(CMake.HTML
+ ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout ${HTML_FILES}
+ )
+ endif()
endif()
endif()