Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 3e2f5e336927352507dad0bd60bf14516e24afae)
+++ Jenkinsfile	(revision 6c55a3db64475f3a18ece9c94451839777c1c5bd)
@@ -82,5 +82,5 @@
 //===========================================================================================================
 def clean() {
-	build_stage('Cleanup') {
+	build_stage('Cleanup', true) {
 		// clean the build by wipping the build directory
 		dir(BuildDir) {
@@ -92,5 +92,5 @@
 //Compilation script is done here but environnement set-up and error handling is done in main loop
 def checkout() {
-	build_stage('Checkout') {
+	build_stage('Checkout', true) {
 		//checkout the source code and clean the repo
 		final scmVars = checkout scm
@@ -103,5 +103,5 @@
 
 def build() {
-	build_stage('Build') {
+	build_stage('Build', true) {
 		// Build outside of the src tree to ease cleaning
 		dir (BuildDir) {
@@ -125,5 +125,5 @@
 
 def test() {
-	build_stage('Test') {
+	build_stage('Test', true) {
 
 		dir (BuildDir) {
@@ -141,8 +141,5 @@
 
 def benchmark() {
-	build_stage('Benchmark') {
-
-		if( !Settings.RunBenchmark ) return
-
+	build_stage('Benchmark', Settings.RunBenchmark) {
 		dir (BuildDir) {
 			//Append bench results
@@ -153,8 +150,5 @@
 
 def build_doc() {
-	build_stage('Documentation') {
-
-		if( !Settings.BuildDocumentation ) return
-
+	build_stage('Documentation', Settings.BuildDocumentation) {
 		dir ('doc/user') {
 			make_doc()
@@ -168,5 +162,5 @@
 
 def publish() {
-	build_stage('Publish') {
+	build_stage('Publish', true) {
 
 		if( Settings.Publish && !Settings.RunBenchmark ) { echo 'No results to publish!!!' }
@@ -412,8 +406,8 @@
 }
 
-def build_stage(String name, Closure block ) {
+def build_stage(String name, boolean run, Closure block ) {
 	StageName = name
 	echo " -------- ${StageName} -------- "
-	stage(name, block)
+	stage(name, run ? block : false)
 }
 
