Add some options for Mac binary generation
Can't test it atm, but whatever
This commit is contained in:
34
setup.py
34
setup.py
@@ -21,15 +21,11 @@ app_description = 'Python fitting assistant'
|
|||||||
packages = ['eos', 'gui', 'service', 'utils']
|
packages = ['eos', 'gui', 'service', 'utils']
|
||||||
include_files = ['icons', 'staticdata', 'gpl.txt']
|
include_files = ['icons', 'staticdata', 'gpl.txt']
|
||||||
includes = []
|
includes = []
|
||||||
excludes = ['Tkinter', 'setup']
|
excludes = ['Tkinter']
|
||||||
|
|
||||||
|
|
||||||
def dict_union(a, b):
|
# Windows-specific options
|
||||||
"""Values from b have priority"""
|
build_options_winexe = {
|
||||||
return dict(i for i in chain(a.items(), b.items()))
|
|
||||||
|
|
||||||
|
|
||||||
build_options_generic = {
|
|
||||||
'packages': packages,
|
'packages': packages,
|
||||||
'include_files': include_files,
|
'include_files': include_files,
|
||||||
'includes': includes,
|
'includes': includes,
|
||||||
@@ -38,30 +34,46 @@ build_options_generic = {
|
|||||||
'optimize': 2
|
'optimize': 2
|
||||||
}
|
}
|
||||||
|
|
||||||
build_options_winexe = dict_union(build_options_generic, {
|
|
||||||
})
|
|
||||||
|
|
||||||
build_options_winmsi = {
|
build_options_winmsi = {
|
||||||
'upgrade_code': '{E80885AC-31BA-4D9A-A04F-9E5915608A6C}',
|
'upgrade_code': '{E80885AC-31BA-4D9A-A04F-9E5915608A6C}',
|
||||||
'add_to_path': False,
|
'add_to_path': False,
|
||||||
'initial_target_dir': r'[ProgramFilesFolder]\{}'.format(app_name),
|
'initial_target_dir': r'[ProgramFilesFolder]\{}'.format(app_name),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Mac-specific options (untested)
|
||||||
|
build_options_macapp = {
|
||||||
|
'iconfile': 'dist_assets/mac/pyfa.icns',
|
||||||
|
'bundle_name': app_name,
|
||||||
|
}
|
||||||
|
|
||||||
|
build_options_macdmg = {
|
||||||
|
'volume_label': app_name,
|
||||||
|
'applications-shortcut': True,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Generic executable options
|
||||||
executable_options = {
|
executable_options = {
|
||||||
'script': 'pyfa.py',
|
'script': 'pyfa.py',
|
||||||
|
# Following are windows-specific options, they are stored
|
||||||
|
# on a per-executable basis
|
||||||
'base': 'Win32GUI' if sys.platform=='win32' else None,
|
'base': 'Win32GUI' if sys.platform=='win32' else None,
|
||||||
'icon': 'dist_assets/win/pyfa.ico',
|
'icon': 'dist_assets/win/pyfa.ico',
|
||||||
'shortcutDir': 'DesktopFolder',
|
'shortcutDir': 'DesktopFolder',
|
||||||
'shortcutName': app_name,
|
'shortcutName': app_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=app_name,
|
name=app_name,
|
||||||
version=app_version,
|
version=app_version,
|
||||||
description=app_description,
|
description=app_description,
|
||||||
options = {
|
options = {
|
||||||
'build_exe': build_options_winexe,
|
'build_exe': build_options_winexe,
|
||||||
'bdist_msi': build_options_winmsi
|
'bdist_msi': build_options_winmsi,
|
||||||
|
'bdist_mac': build_options_macapp,
|
||||||
|
'bdist_dmg': build_options_macdmg,
|
||||||
},
|
},
|
||||||
executables=[Executable(**executable_options)]
|
executables=[Executable(**executable_options)]
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user