summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorcallum_linden <none@none>2012-07-25 16:42:37 -0700
committercallum_linden <none@none>2012-07-25 16:42:37 -0700
commit78854c9baa4528943a0b399bca38b7f6dd446000 (patch)
tree136a9ec86f3be1f8e25b77cd2f04626e5e337f0e /indra/newview
parent1154d5afde0730b541716587ca3c5b962dba1b8d (diff)
Fix to build with code signing option (patch from STORM-1900)
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt7
-rw-r--r--indra/newview/viewer_manifest.py10
2 files changed, 17 insertions, 0 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 9783601696..3ce40187b0 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1900,6 +1900,12 @@ if (DARWIN)
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit mac-updater mac-crash-logger)
+
+ if (ENABLE_SIGNING)
+ set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}")
+ else (ENABLE_SIGNING)
+ set(SIGNING_SETTING "")
+ endif (ENABLE_SIGNING)
if (PACKAGE)
add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME})
@@ -1919,6 +1925,7 @@ if (DARWIN)
--login_channel=${VIEWER_LOGIN_CHANNEL}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
+ ${SIGNING_SETTING}
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index d1c952ac3b..587d708e86 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -816,6 +816,16 @@ class DarwinManifest(ViewerManifest):
self.run_command("chmod +x %r" % os.path.join(self.get_dst_prefix(), script))
def package_finish(self):
+ # Sign the app if requested.
+ if 'signature' in self.args:
+ identity = self.args['signature']
+ if identity == '':
+ identity = 'Developer ID Application'
+ self.run_command('codesign --force --sign %(identity)r %(bundle)r' % {
+ 'identity': identity,
+ 'bundle': self.get_dst_prefix()
+ })
+
channel_standin = 'Second Life Viewer' # hah, our default channel is not usable on its own
if not self.default_channel():
channel_standin = self.channel()