From d98a26354dafc98f90ec90744478d33fc468f9d8 Mon Sep 17 00:00:00 2001
From: Mickael Savinaud <mickael.savinaud@c-s.fr>
Date: Thu, 25 Jul 2013 18:07:16 +0200
Subject: [PATCH] INST: add the otb applicatins into the mac package

---
 Packaging/MacOS/BundleFixing.cmake    |  4 ----
 Packaging/MacOS/BundleFixing.cmake.in |  9 +++++++++
 Packaging/MacOS/CMakeLists.txt        | 21 ++++++++++++++++++++-
 Packaging/MacOS/StartupCommand        |  1 +
 4 files changed, 30 insertions(+), 5 deletions(-)
 delete mode 100644 Packaging/MacOS/BundleFixing.cmake
 create mode 100644 Packaging/MacOS/BundleFixing.cmake.in

diff --git a/Packaging/MacOS/BundleFixing.cmake b/Packaging/MacOS/BundleFixing.cmake
deleted file mode 100644
index 1cbb833b41..0000000000
--- a/Packaging/MacOS/BundleFixing.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-
-include(BundleUtilities)
-set(BU_CHMOD_BUNDLE_ITEMS ON)
-fixup_bundle("${CMAKE_INSTALL_PREFIX}/bin/monteverdi2" "" "${CMAKE_INSTALL_PREFIX}/lib/otb")
diff --git a/Packaging/MacOS/BundleFixing.cmake.in b/Packaging/MacOS/BundleFixing.cmake.in
new file mode 100644
index 0000000000..50e06f5c61
--- /dev/null
+++ b/Packaging/MacOS/BundleFixing.cmake.in
@@ -0,0 +1,9 @@
+set(APP_LIST @OTB_APPS_NAME_LIST@)
+
+foreach(APP ${APP_LIST})
+  list(APPEND OTB_APPS_LIST_INSTALL ${CMAKE_INSTALL_PREFIX}/lib/otb/applications/${APP})
+endforeach(APP)
+
+include(BundleUtilities)
+set(BU_CHMOD_BUNDLE_ITEMS ON)
+fixup_bundle("${CMAKE_INSTALL_PREFIX}/bin/monteverdi2" "${OTB_APPS_LIST_INSTALL}" "${CMAKE_INSTALL_PREFIX}/lib/otb")
diff --git a/Packaging/MacOS/CMakeLists.txt b/Packaging/MacOS/CMakeLists.txt
index 398a0fd203..0f76c975da 100644
--- a/Packaging/MacOS/CMakeLists.txt
+++ b/Packaging/MacOS/CMakeLists.txt
@@ -18,5 +18,24 @@ install(FILES qt.conf
         DESTINATION  bin
         COMPONENT Resources)
 
-install(SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/BundleFixing.cmake
+# Search all the applications available in the OTB build dir
+file(GLOB OTB_APPS_LIST ${OTB_DIR}/bin/otbapp_*.dylib)
+
+# Install the applications 
+install(FILES ${OTB_APPS_LIST}
+        DESTINATION lib/otb/applications)
+
+# Retrieve the name of all the applications available
+foreach(APP ${OTB_APPS_LIST})
+  string(REPLACE ${OTB_DIR}/bin/ "" APP_NAME ${APP})
+  list(APPEND OTB_APPS_NAME_LIST ${APP_NAME})
+endforeach(APP)
+
+# configure the file to pass the list of available applications
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/BundleFixing.cmake.in
+               ${CMAKE_CURRENT_BINARY_DIR}/BundleFixing.cmake
+               @ONLY)
+
+#Use the configured file with the list of apps 
+install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/BundleFixing.cmake
         COMPONENT Runtime)
diff --git a/Packaging/MacOS/StartupCommand b/Packaging/MacOS/StartupCommand
index 859b5cb959..359606a735 100644
--- a/Packaging/MacOS/StartupCommand
+++ b/Packaging/MacOS/StartupCommand
@@ -7,6 +7,7 @@ RESOURCES="$BUNDLE/Contents/Resources"
 #echo "RESOURCES: $RESOURCES"
 
 export GDAL_DATA=$RESOURCES/share/gdal
+export ITK_AUTOLOAD_PATH=$RESSOURCES/lib/otb/applications
 
 cd $HOME
 
-- 
GitLab