Make macdeploy properly handle loader_path and libicudata
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
add_custom_target(dmg
|
add_custom_target(dmg
|
||||||
COMMAND /usr/local/opt/qt5/bin/macdeployqt strawberry.app
|
COMMAND /usr/local/opt/qt5/bin/macdeployqt strawberry.app
|
||||||
# macdeploy.py is not picking up libicudata.dylib so manually copy it for now.
|
|
||||||
COMMAND cp "/usr/local/opt/icu4c/lib/libicudata*.dylib" "${CMAKE_BINARY_DIR}/strawberry.app/Contents/Frameworks"
|
|
||||||
COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macdeploy.py strawberry.app
|
COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macdeploy.py strawberry.app
|
||||||
COMMAND create-dmg --volname strawberry --background "${CMAKE_SOURCE_DIR}/dist/macos/dmg_background.png" --app-drop-link 450 218 --icon strawberry.app 150 218 --window-size 600 450 strawberry-${STRAWBERRY_VERSION_PACKAGE}.dmg strawberry.app
|
COMMAND create-dmg --volname strawberry --background "${CMAKE_SOURCE_DIR}/dist/macos/dmg_background.png" --app-drop-link 450 218 --icon strawberry.app 150 218 --window-size 600 450 strawberry-${STRAWBERRY_VERSION_PACKAGE}.dmg strawberry.app
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
|
|||||||
17
dist/macos/macdeploy.py
vendored
17
dist/macos/macdeploy.py
vendored
@@ -27,7 +27,7 @@ import traceback
|
|||||||
|
|
||||||
LOGGER = logging.getLogger('macdeploy')
|
LOGGER = logging.getLogger('macdeploy')
|
||||||
|
|
||||||
LIBRARY_SEARCH_PATH = ['/usr/local/lib']
|
LIBRARY_SEARCH_PATH = ['/usr/local/lib', '/usr/local/opt/icu4c/lib']
|
||||||
|
|
||||||
FRAMEWORK_SEARCH_PATH = [
|
FRAMEWORK_SEARCH_PATH = [
|
||||||
'/Library/Frameworks',
|
'/Library/Frameworks',
|
||||||
@@ -193,11 +193,20 @@ def GetBrokenLibraries(binary):
|
|||||||
continue # unix style system library
|
continue # unix style system library
|
||||||
elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@rpath', line) or re.match(r'^\s*@loader_path', line):
|
elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@rpath', line) or re.match(r'^\s*@loader_path', line):
|
||||||
# Potentially already fixed library
|
# Potentially already fixed library
|
||||||
path = line.split('/')[3:]
|
if line.count('/') == 1:
|
||||||
if path:
|
relative_path = os.path.join(*line.split('/')[1:])
|
||||||
relative_path = os.path.join(*path)
|
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
||||||
|
broken_libs['libs'].append(relative_path)
|
||||||
|
elif line.count('/') == 2:
|
||||||
|
relative_path = os.path.join(*line.split('/')[2:])
|
||||||
|
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
||||||
|
broken_libs['libs'].append(relative_path)
|
||||||
|
elif line.count('/') >= 3:
|
||||||
|
relative_path = os.path.join(*line.split('/')[3:])
|
||||||
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
||||||
broken_libs['frameworks'].append(relative_path)
|
broken_libs['frameworks'].append(relative_path)
|
||||||
|
else:
|
||||||
|
print "GetBrokenLibraries Error: %s" % line
|
||||||
elif re.search(r'\w+\.framework', line):
|
elif re.search(r'\w+\.framework', line):
|
||||||
broken_libs['frameworks'].append(line)
|
broken_libs['frameworks'].append(line)
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user