git-svn-id: svn://db.shs.com.ru/libs@792 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2020-03-16 10:01:54 +00:00
parent 4c0b78cf2c
commit 44a7432caa
2 changed files with 38 additions and 1 deletions

View File

@@ -51,7 +51,7 @@ if (NOT LIBPROJECT)
endif()
endif()
set(CMAKES "FindQAD.cmake" "QtWraps.cmake")
set(CMAKES "FindQAD.cmake" "QtWraps.cmake" "QADDeploy.cmake")
if (LIB)
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)

37
qad/QADDeploy.cmake Normal file
View File

@@ -0,0 +1,37 @@
# use "CMAKE_OTOOL" variable
# use "RELEASE_DIR" variable, where <T>.app directory with installed binary
# can use "DEPLOY_ADD_LIBPATH" variable
macro(deploy_target _T full_app_name version icon label copyright info)
get_filename_component(_ICON_NAME "${icon}" NAME)
get_filename_component(_ICON_FN "${icon}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(_TV "${_T}-${version}")
if (APPLE)
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${full_app_name}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${version}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${version}")
set(MACOSX_BUNDLE_ICON_FILE "${_ICON_NAME}")
set(MACOSX_BUNDLE_BUNDLE_NAME "${label}")
set(MACOSX_BUNDLE_COPYRIGHT "${copyright}")
set(MACOSX_BUNDLE_INFO_STRING "${info}")
set(MACOSX_BUNDLE_BUNDLE_VERSION "6.0")
set_target_properties(${_T} PROPERTIES MACOSX_BUNDLE TRUE)
set(_AGD "${RELEASE_DIR}/${_T}.app")
set(_DMG "${CMAKE_CURRENT_BINARY_DIR}/dmg")
add_custom_target(generate_package
# gather .app dir
COMMAND mkdir -p ${_AGD}/Contents/Resources
COMMAND mkdir -p ${_AGD}/Contents/Frameworks
COMMAND cp ${_ICON_FN} ${_AGD}/Contents/Resources
COMMAND deploy_tool -M "${CMAKE_OTOOL}" -P cocoa -S mac -q ${Qt5_ROOT} -s \"${CMAKE_PREFIX_PATH}/lib\;${DEPLOY_ADD_LIBPATH}\" -o ${_AGD}/Contents/Frameworks -p ${_AGD}/Contents/PlugIns ${_AGD}/Contents/MacOS/${_T}
# prepare dmg dir
COMMAND rm -rf ${_DMG}
COMMAND mkdir -p ${_DMG}
COMMAND cp -r ${_AGD} ${_DMG}
COMMAND ln --symbolic /Applications ${_DMG}
# generate dmg
COMMAND genisoimage -quiet -V ${_T} -D -R -apple -no-pad -o ${RELEASE_DIR}/${_TV}.dmg ${_DMG}
COMMENT "Generating ${_TV}.dmg"
)
endif()
endmacro()