From c4afee9e89aa674958f4d8114c8f650f41119dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Thu, 16 Apr 2020 07:47:08 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@1020 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- cmake/DeployMacros.cmake | 12 ++++++++++-- utils/deploy_tool/main.cpp | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/cmake/DeployMacros.cmake b/cmake/DeployMacros.cmake index 55a98138..9fd7ab31 100644 --- a/cmake/DeployMacros.cmake +++ b/cmake/DeployMacros.cmake @@ -363,9 +363,13 @@ macro(__add_file_or_dir _DIR_VAR _FILE_VAR _PATH _RELPATH) endmacro() set(__win_host 0) +set(__mac_host 0) if ("x${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "xWindows") set(__win_host 1) endif() +if ("x${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "xDarwin") + set(__mac_host 1) +endif() macro(__make_win_path _in_path _out_var _is_dir _out_dir) set(_add "") @@ -634,6 +638,10 @@ macro(deploy_target _T) if (NOT CMAKE_PREFIX_PATH) set(CMAKE_PREFIX_PATH "/usr/local") endif() + set(_cmd_gen_dmg COMMAND genisoimage -quiet -V "${MACOSX_BUNDLE_BUNDLE_NAME}" -D -R -apple -no-pad -o ${_DESTINATION}/${_TV}.dmg ${_DMG}) + if (__mac_host) + set(_cmd_gen_dmg COMMAND hdiutil create ${_DESTINATION}/${_TV}.dmg -ov -volname "${MACOSX_BUNDLE_BUNDLE_NAME}" -fs HFS+ -srcfolder ${_DMG}) + endif() add_custom_target(deploy_${_T} # gather .app dir COMMAND mkdir ${_VERB} -p ${_AGD}/Contents/Resources @@ -647,9 +655,9 @@ macro(deploy_target _T) COMMAND rm -rf ${_DMG} COMMAND mkdir ${_VERB} -p ${_DMG} COMMAND cp -r ${_AGD} ${_DMG} - COMMAND ln ${_VERB} --symbolic /Applications ${_DMG} + COMMAND ln ${_VERB} -s /Applications ${_DMG} # generate dmg - COMMAND genisoimage -quiet -V "${MACOSX_BUNDLE_BUNDLE_NAME}" -D -R -apple -no-pad -o ${_DESTINATION}/${_TV}.dmg ${_DMG} + ${_cmd_gen_dmg} COMMENT "Generating ${_TV}.dmg" ) set(_has_deploy 1) diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 1837f25f..af29fcc3 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -427,9 +427,9 @@ int main(int argc, char * argv[]) { } if (etcnt > 0) is_ldd = false; if (!qt_dir.isEmpty()) { - PIString qbin = qt_dir; - if (!qbin.endsWith("/")) qbin.append("/"); - lib_dirs << (qbin + "bin"); + PIString qroot = qt_dir; + if (!qroot.endsWith("/")) qroot.append("/"); + lib_dirs << (qroot + "bin") << (qroot + "lib") << (qroot + "Frameworks"); } piForeach (PIString & s, lib_dirs) { s.trim();