diff --git a/Jenkinsfile b/Jenkinsfile
index acbbdc2c7fbdb1034f19463de61968e613ee4163..01f77ada079098503a8cb9a0119662433fd901d0 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -117,6 +117,7 @@ pipeline {
                   config = 'Debug'
                 }
               }
+              build { target = 'check-header' }
               build { }
               build { target = 'tests' }
             }
diff --git a/scripts/cmake/CheckHeaderCompilation.cmake b/scripts/cmake/CheckHeaderCompilation.cmake
index c91b13fbfa762c324df47c570be2c84e7da60880..3db37b4938b8deba5828e5355ffd561f8270fb16 100644
--- a/scripts/cmake/CheckHeaderCompilation.cmake
+++ b/scripts/cmake/CheckHeaderCompilation.cmake
@@ -3,6 +3,16 @@ get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES)
 set(CMAKE_REQUIRED_FLAGS "-c -std=gnu++14")
 set(CMAKE_REQUIRED_QUIET TRUE)
 
+add_custom_target(check-header
+    COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/CMakeError.log
+    COMMAND ${CMAKE_COMMAND} . -DOGS_CHECK_HEADER_COMPILATION=ON
+    COMMAND ${CMAKE_COMMAND} . -DOGS_CHECK_HEADER_COMPILATION=OFF || true
+    COMMAND if [ -f CMakeFiles/CMakeError.log ]\; then cat CMakeFiles/CMakeError.log\; return 1\; else return 0\; fi\;
+    WORKING_DIRECTOY ${PROJECT_BINARY_DIR}
+    COMMENT "Checking header files"
+    USES_TERMINAL
+)
+
 # Checks header for standalone compilation
 function(_check_header_compilation TARGET)
 
@@ -80,6 +90,6 @@ function(check_header_compilation)
     _check_header_compilation(ProcessLib)
 
     if(HEADER_COMPILE_ERROR)
-        message(STATUS "... header compilation check failed, see CMakeFiles/CMakeError.log for details!")
+        message(FATAL_ERROR "... header compilation check failed, see CMakeFiles/CMakeError.log for details!")
     endif()
 endfunction()