From e03288d06ba5467cecee60b396bc8670d3aee612 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Fri, 15 Jul 2016 16:08:08 +0000
Subject: [PATCH] codesigning - try #2

---
 CMakeLists.txt            | 19 +++++++++++--------
 utils/misc/gmsh_app.plist |  2 +-
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34fadd49fc..83a9499c0e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1550,13 +1550,6 @@ elseif(MSVC)
     "/STACK:16777216 /SAFESEH:NO")
 endif(WIN32 AND NOT MSVC OR CYGWIN)
 
-# code signing
-#if(APPLE AND PACKAGER STREQUAL "geuzaine")
-#  set(CODESIGN codesign --force --verify --verbose --sign
-#      "Developer ID Application: Christophe Geuzaine")
-#  add_custom_command(TARGET gmsh POST_BUILD COMMAND ${CODESIGN} gmsh)
-#endif(APPLE AND PACKAGER STREQUAL "geuzaine")
-
 # parser target
 find_program(BISON bison)
 find_program(FLEX flex)
@@ -1827,6 +1820,16 @@ if(APPLE AND ENABLE_OS_SPECIFIC_INSTALL)
           RENAME GmshSol.icns)
   install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsPos.icns DESTINATION .
           RENAME GmshPos.icns)
+  if(PACKAGER STREQUAL "geuzaine")
+    set(CODESIGN "codesign --force --verify --verbose --sign
+        \"Developer ID Application: Christophe Geuzaine\"")
+    set(APPVER ${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.${GMSH_PATCH_VERSION})
+    set(APPDIR _CPack_Packages/Darwin/Bundle/gmsh-${APPVER}-MacOSX/Gmsh.app)
+    install(CODE
+            "execute_process(COMMAND ${CODESIGN} ${APPDIR}/Contents/MacOS/onelab.py)
+             execute_process(COMMAND ${CODESIGN} ${APPDIR}/Contents/MacOS/gmsh)
+             execute_process(COMMAND ${CODESIGN} ${APPDIR})")
+  endif(PACKAGER STREQUAL "geuzaine")
   set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIcons.icns)
 elseif(WIN32 OR CYGWIN)
   set(CPACK_GENERATOR ZIP)
@@ -1848,7 +1851,7 @@ endif(ENABLE_WRAP_JAVA)
 include(CPack)
 
 if(NOT DISABLE_GMSH_TESTS)
-  #disabling tests is usefull when including this CMakeLists in an external project
+  # disabling tests is useful when including this CMakeLists in an external project
   include(CTest)
   file(GLOB_RECURSE TESTFILES
        tutorial/*.geo demos/*.geo benchmarks/?d/*.geo benchmarks/extrude/*.geo)
diff --git a/utils/misc/gmsh_app.plist b/utils/misc/gmsh_app.plist
index b2d6da8b2b..5dd9ba7a5c 100644
--- a/utils/misc/gmsh_app.plist
+++ b/utils/misc/gmsh_app.plist
@@ -9,7 +9,7 @@
     <key>CFBundleShortVersionString</key><string>GMSH_VERSION</string>
     <key>CFBundleIconFile</key><string>Gmsh.icns</string>
     <key>CFBundleSignature</key><string>GMSH</string>
-    <key>CFBundleGetInfoString</key><string>Gmsh GMSH_VERSION, Copyright 1997-2014 C. Geuzaine and J.-F. Remacle</string>
+    <key>CFBundleGetInfoString</key><string>Gmsh GMSH_VERSION, Copyright 1997-2016 C. Geuzaine and J.-F. Remacle</string>
     <key>CFBundleIdentifier</key><string>org.geuz.Gmsh</string>
     <key>NSHighResolutionCapable</key><true/>
     <key>CFBundleDocumentTypes</key>
-- 
GitLab