diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 314a9e116c38d0cebcd8edce5c0502505ea6f3b1..667b51655dd58000fbecf75e03c608901a9f93a9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -61,8 +61,8 @@ fast-build:
     when: on_failure
     expire_in: 24 hrs
     paths:
-      - log/*.txt
-      - build/*/*.log
+      - build/*/*.log #CMake log
+      - log/*.txt # Others
 
 debian-build:
   extends: .common-build
@@ -94,9 +94,8 @@ ubuntu-llvm:
     expire_in: 24 hrs
     when: always
     paths:
-      - sb_branch.txt
-      # This recovers logs from superbuild build
-      - build/*/*/*/*.log
+      - sb_branch.txt # Needed to checkout correct branch in build step
+      - build/*/*/*/*.log # Superbuild log
 
 ## Ubuntu superbuild
 ubuntu-superbuild-prepare:
@@ -114,7 +113,7 @@ ubuntu-superbuild-build:
   dependencies:
     - ubuntu-superbuild-prepare
 
-## Centos superbuild
+## CentOS superbuild
 centos-superbuild-prepare:
   extends: .common-prepare
   image: $BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:6.6
@@ -129,3 +128,28 @@ centos-superbuild-build:
     - xvfb-run -a -n 1 -s "-screen 0 1024x768x24 -dpi 96" ctest -VV -S CI/main_packages.cmake -DIMAGE_NAME:string=otb-centos-superbuild-base
   dependencies:
     - centos-superbuild-prepare
+
+## MacOS superbuild
+macos-superbuild-prepare:
+  tags:
+    - macos
+  extends: .common-prepare
+  before_script:
+    # No need to install lfs as this machine is persistent
+    # No need to do git config
+    # Checkout the expected branch
+    - export GIT_LFS_SKIP_SMUDGE=1
+    - git checkout -f -q $CI_COMMIT_SHA
+    - export GIT_LFS_SKIP_SMUDGE=0
+  script:
+    - ctest -VV -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=otb-macos-superbuild
+
+macos-superbuild-build:
+  tags:
+    - macos
+  extends: .common-build
+  script:
+    - ctest -V -S CI/main_superbuild.cmake -DIMAGE_NAME:string=otb-macos-superbuild
+    - ctest -VV -S CI/main_packages.cmake -DIMAGE_NAME:string=otb-macos-superbuild
+  dependencies:
+    - macos-superbuild-prepare
diff --git a/CI/main_superbuild.cmake b/CI/main_superbuild.cmake
index 3522bddd3eb237b8ca3e362236e44bac400351ac..383e501311393ab761b7b74223ad51340e6b1317 100644
--- a/CI/main_superbuild.cmake
+++ b/CI/main_superbuild.cmake
@@ -70,6 +70,12 @@ endif()
 
 if (clone_res)
   message( SEND_ERROR "Problem in retreiving the archive")
+  message( "Command : COMMAND ${GIT} clone ${REMOTE} --branch ${BRANCH_NAME} \
+    --depth 1 superbuild-artifact")
+  message( "Result :")
+  message( "clone_res = ${clone_res}" )
+  message( "clone_out = ${clone_out}" )
+  message( "clone_err = ${clone_err}" )
   return()
 endif()
 
diff --git a/CI/otb-macos-superbuild.cmake b/CI/otb-macos-superbuild.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..2435ba3840bb3f559c375c06f4133feae4b3af19
--- /dev/null
+++ b/CI/otb-macos-superbuild.cmake
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
+#
+# This file is part of Orfeo Toolbox
+#
+#     https://www.orfeo-toolbox.org/
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Configuration options for macOS
+
+set(site_option
+"OTB_USE_GLUT=OFF
+OTB_USE_GLFW=OFF")
\ No newline at end of file
diff --git a/CI/prepare_superbuild.cmake b/CI/prepare_superbuild.cmake
index 77e8948739c1d5eff21b8dc68c58849ebf5f12e1..c77c73b17de7e1779f8a763ad15fd87a20e60081 100644
--- a/CI/prepare_superbuild.cmake
+++ b/CI/prepare_superbuild.cmake
@@ -286,4 +286,4 @@ if ( DEBUG )
   message( "push_res = ${push_res}" )
   message( "push_out = ${push_out}" )
   message( "push_err = ${push_err}" )
-endif()
+endif()
\ No newline at end of file
diff --git a/SuperBuild/CMake/External_gdal.cmake b/SuperBuild/CMake/External_gdal.cmake
index 618ff71265f2c7928454d17f39ad73950e4a35fd..1652dc69a5c6004b28d7233692735586a6296508 100644
--- a/SuperBuild/CMake/External_gdal.cmake
+++ b/SuperBuild/CMake/External_gdal.cmake
@@ -52,6 +52,7 @@ if(UNIX)
   #we don't do any framework build on osx. So let's be sure on case of gdal
   if(APPLE)
     list(APPEND GDAL_SB_CONFIG "--with-macosx-framework=no")
+    list(APPEND GDAL_SB_CONFIG "LDFLAGS=-headerpad_max_install_names")
   endif()
 
   # PATCH_COMMAND ${CMAKE_COMMAND} -E touch ${GDAL_SB_SRC}/config.rpath
diff --git a/SuperBuild/CMake/External_netcdf.cmake b/SuperBuild/CMake/External_netcdf.cmake
index bdbd109f42d2bf2654b3d0f69d4031df20618d37..a1e53d569007f0d7a346054debcce88a5fcfcc7d 100644
--- a/SuperBuild/CMake/External_netcdf.cmake
+++ b/SuperBuild/CMake/External_netcdf.cmake
@@ -36,7 +36,7 @@ endif()
 
 ExternalProject_Add(NETCDF
   PREFIX NETCDF
-  URL "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.4.1.1.tar.gz"
+  URL "https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.4.1.1.tar.gz"
   URL_MD5 503a2d6b6035d116ed53b1d80c811bda
   SOURCE_DIR ${NETCDF_SB_SRC}
   BINARY_DIR ${NETCDF_SB_BUILD_DIR}