diff --git a/Jenkinsfile b/Jenkinsfile
index 571ef5b1bd8f44b0ab449bd10f09d89918779a2b..8c594d00c74ddb73861f666a69e874d294029a4d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,5 +1,5 @@
 #!/usr/bin/env groovy
-@Library('jenkins-pipeline@1.0.5') _
+@Library('jenkins-pipeline@1.0.6') _
 
 def builders = [:]
 def helper = new ogs.helper()
@@ -59,14 +59,22 @@ builders['docs'] = {
 
 parallel builders
 
+def tag = ""
+node('master') {
+    checkoutWithTags()
+    tag = helper.getTag()
+    step([$class: 'LogParserPublisher',
+        failBuildOnError: true,
+        projectRulePath: "scripts/jenkins/all-log-parser.rules",
+        showGraphs: true,
+        unstableOnWarning: false,
+        useProjectRule: true
+    ])
+}
+
 if (currentBuild.result == "SUCCESS" || currentBuild.result == "UNSTABLE") {
     if (helper.isOriginMaster(this)) {
         build job: 'OGS-6/clang-sanitizer', wait: false
-        def tag = ""
-        node('master') {
-            checkoutWithTags()
-            tag = helper.getTag()
-        }
         if (tag != "") {
             keepBuild()
             currentBuild.displayName = tag
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index d16c5f0cde86a9160d155eace779dafbe14091da..27eac8f3f3cf3188adde4e4665d3af7b62a51395 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -13,6 +13,9 @@ endif()
 set_property(TARGET logog PROPERTY FOLDER "logog")
 set_property(TARGET test-logog PROPERTY FOLDER "logog")
 set_target_properties(test-logog PROPERTIES EXCLUDE_FROM_ALL TRUE)
+if(MSVC)
+    set_target_properties(logog PROPERTIES COMPILE_FLAGS /W0)
+endif()
 
 add_subdirectory(gtest)
 
diff --git a/scripts/cmake/MetisSetup.cmake b/scripts/cmake/MetisSetup.cmake
index 35a0e882ef3a775b16d98321d2e673a126bd8bcf..c3d431eba21b4cc5665003901c3f69a70324cd74 100644
--- a/scripts/cmake/MetisSetup.cmake
+++ b/scripts/cmake/MetisSetup.cmake
@@ -23,6 +23,12 @@ include_directories(BEFORE ${METIS_PATH}/libmetis)
 file(GLOB metis_sources ${METIS_PATH}/libmetis/*.c)
 # Build libmetis.
 add_library(metis ${GKlib_sources} ${metis_sources})
+if(MSVC)
+    set_target_properties(metis PROPERTIES COMPILE_FLAGS /W0)
+else()
+    set_target_properties(metis PROPERTIES COMPILE_FLAGS -w)
+endif()
+
 if(UNIX)
   target_link_libraries(metis m)
 elseif(MSVC)
@@ -30,12 +36,14 @@ elseif(MSVC)
   generate_export_header(metis)
 endif()
 
-install(TARGETS metis
-  LIBRARY DESTINATION lib
-  RUNTIME DESTINATION bin
-  ARCHIVE DESTINATION lib
-  COMPONENT ogs_partmesh
-)
+if(BUILD_SHARED_LIBS)
+    install(TARGETS metis
+        LIBRARY DESTINATION lib
+        RUNTIME DESTINATION bin
+        ARCHIVE DESTINATION lib
+        COMPONENT ogs_partmesh
+    )
+endif()
 
 ## Compile mpmetis
 add_definitions(-DSVNINFO="")
diff --git a/scripts/jenkins/clang-log-parser.rules b/scripts/jenkins/all-log-parser.rules
similarity index 83%
rename from scripts/jenkins/clang-log-parser.rules
rename to scripts/jenkins/all-log-parser.rules
index d4921dbf390d3d350ed68e69c9070d3535351760..01cda3f1c5dd2402a22745aa89dcf8dc892abef4 100644
--- a/scripts/jenkins/clang-log-parser.rules
+++ b/scripts/jenkins/all-log-parser.rules
@@ -15,3 +15,7 @@ warning /: warning:/
 # Clang sanitizer
 error /: runtime error:/
 error /==ERROR:/
+
+# MSVC
+warning /: warning C/
+error /: error C/
diff --git a/scripts/jenkins/clang.groovy b/scripts/jenkins/clang.groovy
index 4efe093d62a9cdf79ad3b3eb4ebe14f59fd20252..45506d6fa088d6e5005fcefc2f44c7a60abd04e5 100644
--- a/scripts/jenkins/clang.groovy
+++ b/scripts/jenkins/clang.groovy
@@ -40,8 +40,7 @@ node('docker') {
     }
 
     stage('Post (Clang)') {
-        post.publishTestReports('build/Testing/**/*.xml','build/Tests/testrunner.xml',
-            'ogs/scripts/jenkins/clang-log-parser.rules')
+        post.publishTestReports('build/Testing/**/*.xml','build/Tests/testrunner.xml'
         post.cleanup()
     }
 }
diff --git a/scripts/jenkins/gcc-conan.groovy b/scripts/jenkins/gcc-conan.groovy
index 8c7ae920b2ba79d8bc0c2c57f11ac249cc3a40ab..cbc941db6634f25491573497fd7a6555b2197ef8 100644
--- a/scripts/jenkins/gcc-conan.groovy
+++ b/scripts/jenkins/gcc-conan.groovy
@@ -55,7 +55,6 @@ stage('Archive (Linux-Docker)') {
 }
 
 stage('Post (Linux-Docker)') {
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/clang-log-parser.rules'
+    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml'
     post.cleanup()
 }
diff --git a/scripts/jenkins/gcc-dynamic.groovy b/scripts/jenkins/gcc-dynamic.groovy
index b5a9454dee4d3d7a237a8f45baac3f4a9a966b44..454b2ebe2dbac8939b6473911874de663f6a2263 100644
--- a/scripts/jenkins/gcc-dynamic.groovy
+++ b/scripts/jenkins/gcc-dynamic.groovy
@@ -63,7 +63,6 @@ if (helper.isOriginMaster(this)) {
 }
 
 stage('Post (envinf1)') {
-    post.publishTestReports 'build*/Testing/**/*.xml', 'build*/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/clang-log-parser.rules'
+    post.publishTestReports 'build*/Testing/**/*.xml', 'build*/Tests/testrunner.xml'
     post.cleanup()
 }
diff --git a/scripts/jenkins/gcc-tests-large.groovy b/scripts/jenkins/gcc-tests-large.groovy
index 25c7f84b2b2b93ec3d260ccf2934e90f280bcfda..e1e68b70f30e4eef31403abe031e75b7abd16560 100644
--- a/scripts/jenkins/gcc-tests-large.groovy
+++ b/scripts/jenkins/gcc-tests-large.groovy
@@ -22,8 +22,7 @@ node('envinf11w') {
     }
 
     stage('Post') {
-        post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-            'ogs/scripts/jenkins/clang-log-parser.rules'
+        post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml'
         post.cleanup()
     }
 }
diff --git a/scripts/jenkins/gcc.groovy b/scripts/jenkins/gcc.groovy
index 7835591bf488fe06c8b7829de81074c9c71c7120..45fc285bf177b1412cffe5e0f6da76e93d03cf3c 100644
--- a/scripts/jenkins/gcc.groovy
+++ b/scripts/jenkins/gcc.groovy
@@ -81,7 +81,6 @@ image.inside(defaultDockerArgs) {
 }
 
 stage('Post (Linux-Docker)') {
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/clang-log-parser.rules'
+    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml'
     post.cleanup()
 }
diff --git a/scripts/jenkins/mac.groovy b/scripts/jenkins/mac.groovy
index 4cb8e7f5235d5d641f4f165b043a9b92fac81e12..e2b02853427fd4997b2c5b4415d0c1aee4102c85 100644
--- a/scripts/jenkins/mac.groovy
+++ b/scripts/jenkins/mac.groovy
@@ -49,7 +49,6 @@ stage('Archive (Mac)') {
 }
 
 stage('Post (Mac)') {
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/msvc-log-parser.rules'
+    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml'
     post.cleanup()
 }
diff --git a/scripts/jenkins/msvc-log-parser.rules b/scripts/jenkins/msvc-log-parser.rules
deleted file mode 100644
index 07c755ac16f7dc864529cbd4a8b7e427c3ed19c1..0000000000000000000000000000000000000000
--- a/scripts/jenkins/msvc-log-parser.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# Workflow stages used for grouping
-start /stage:/
-
-# CMake
-warning /CMake Warning/
-error /CMake Error/
-
-# CTest
-warning \\[WARNING\]\
-error \[*][*][*]Failed\
-
-# MSVC
-warning /: warning C/
-error /: error C/
diff --git a/scripts/jenkins/msvc.groovy b/scripts/jenkins/msvc.groovy
index 78be370bce4721c796d6e6201f32dab550245ee3..9e15a398207bb03a6a2fa2c2ab1b818dfbd020f1 100644
--- a/scripts/jenkins/msvc.groovy
+++ b/scripts/jenkins/msvc.groovy
@@ -45,7 +45,6 @@ stage('Archive (Win)') {
 }
 
 stage('Post (Win)') {
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/msvc-log-parser.rules'
+    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml'
     post.cleanup()
 }