]> granicus.if.org Git - libexpat/commitdiff
CMake: Port "make xml-runtest" over from GNU Autotools
authorSebastian Pipping <sebastian@pipping.org>
Sun, 1 Sep 2019 20:51:18 +0000 (22:51 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Mon, 2 Sep 2019 19:31:46 +0000 (21:31 +0200)
expat/CMakeLists.txt
expat/Changes

index 2d80d836f09c004b1efef26ccfe51a8d8b311bd9..b046e6313265a1408f4307c086e9b08dbf6e0b2c 100644 (file)
@@ -391,6 +391,55 @@ if(EXPAT_BUILD_FUZZERS)
     endforeach()
 endif(EXPAT_BUILD_FUZZERS)
 
+#
+# Custom target "run-xmltest"
+#
+if(EXPAT_BUILD_TOOLS AND NOT MSVC)
+    add_custom_target(
+        xmlts-zip-downloaded
+        COMMAND
+            sh -c 'test -f xmlts.zip || wget --output-document=xmlts.zip https://www.w3.org/XML/Test/xmlts20080827.zip'
+        BYPRODUCTS
+            tests/xmlts.zip
+        WORKING_DIRECTORY
+            tests/)
+
+    add_custom_target(
+        xmlts-zip-extracted
+        COMMAND
+            sh -c 'test -d xmlconf || unzip -q xmlts.zip'
+        BYPRODUCTS
+            tests/xmlconf
+        WORKING_DIRECTORY
+            tests/)
+    add_dependencies(xmlts-zip-extracted xmlts-zip-downloaded)
+
+    add_custom_target(
+        xmltest-sh-been-run
+        COMMAND
+            sh -c '${CMAKE_CURRENT_SOURCE_DIR}/tests/xmltest.sh "bash ${CMAKE_CURRENT_BINARY_DIR}/run.sh $<TARGET_FILE:xmlwf>" 2>&1 | tee tests/xmltest.log'
+        BYPRODUCTS
+            tests/xmltest.log)
+    add_dependencies(xmltest-sh-been-run xmlts-zip-extracted xmlwf)
+
+    add_custom_target(
+        xmltest-log-fixed
+        COMMAND
+            ${CMAKE_CURRENT_SOURCE_DIR}/fix-xmltest-log.sh tests/xmltest.log
+        DEPENDS
+            tests/xmltest.log)
+    add_dependencies(xmltest-log-fixed xmltest-sh-been-run)
+
+    add_custom_target(
+        xmltest-log-verified
+        COMMAND
+            diff -u ${CMAKE_CURRENT_SOURCE_DIR}/tests/xmltest.log.expected tests/xmltest.log)
+    add_dependencies(xmltest-log-verified xmltest-log-fixed)
+
+    add_custom_target(run-xmltest)
+    add_dependencies(run-xmltest xmltest-log-verified)
+endif()
+
 #
 # Documentation
 #
index 4244c2bc165f62cb0fd651c8a2fd2d861ec9aa67..c29d69fbafdaca05b7617edd2ebc0cea92ac34d8 100644 (file)
@@ -58,6 +58,7 @@ Release x.x.x xxx xxx xx xxxx
             #265  CMake: Fix linking with MinGW
             #330  CMake: Add full support for MinGW; to enable, use
                     -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake
+            #330  CMake: Port "make run-xmltest" from GNU Autotools to CMake
             #316  CMake: Windows: Make binary postfix match MSVC
                     Old: expat[d].lib
                     New: expat[w][d][MD|MT].lib