-def build(bld):
- d = { 'PREFIX' : '${PREFIX' }
-
- obj = bld(features = 'subst')
- obj.source = 'dcpomatic.desktop.in'
- obj.target = 'dcpomatic.desktop'
- obj.dict = d
+def desktop(bld, suffix):
+ obj = bld(features='subst')
+ obj.source = 'dcpomatic' + suffix + '.desktop.in'
+ obj.target = 'dcpomatic2' + suffix + '.desktop'
+ obj.INSTALL_PREFIX = bld.env.INSTALL_PREFIX
+ obj.VERSION = bld.env.VERSION
+ return obj.target
- obj = bld(features = 'subst')
- obj.source = 'dcpomatic_batch.desktop.in'
- obj.target = 'dcpomatic_batch.desktop'
- obj.dict = d
+def build(bld):
+ desktops = [
+ desktop(bld, ''),
+ desktop(bld, '_batch'),
+ desktop(bld, '_server'),
+ desktop(bld, '_kdm'),
+ desktop(bld, '_player'),
+ desktop(bld, '_playlist'),
+ desktop(bld, '_combiner'),
+ desktop(bld, '_editor'),
+ ]
- obj = bld(features = 'subst')
- obj.source = 'dcpomatic_server.desktop.in'
- obj.target = 'dcpomatic_server.desktop'
- obj.dict = d
+ if bld.env.ENABLE_DISK:
+ desktops.append(desktop(bld, '_disk'))
- bld.install_files('${PREFIX}/share/applications', ['dcpomatic.desktop', 'dcpomatic_batch.desktop', 'dcpomatic_server.desktop'])
+ if not bld.env.DISABLE_GUI:
+ bld.install_as('${PREFIX}/share/polkit-1/actions/com.dcpomatic.write-drive.policy', 'com.dcpomatic.write-drive.policy')
+ bld.install_files('${PREFIX}/share/applications', desktops)