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

This commit is contained in:
2020-03-18 17:57:53 +00:00
parent a92098c2a6
commit a033ffe0e1
2 changed files with 32 additions and 10 deletions

View File

@@ -354,8 +354,14 @@ int main(int argc, char * argv[]) {
if (need_qt)
procQt();
#ifdef WINDOWS
out_dir.replaceAll("/", "\\");
#endif
PIVector<PIString> clibs = all_libs.toVector();
piForeachC (PIString & l, clibs) {
piForeach (PIString l, clibs) {
#ifdef WINDOWS
l.replaceAll("/", "\\");
#endif
piCout << "copy" << l;
if (!fake)
system(cmd_copy + "\"" + l + "\" \"" + out_dir + "\"" + cmd_suffix);

View File

@@ -153,7 +153,7 @@ macro(deploy_target _T)
endforeach()
get_filename_component(_ICON_NAME "${${_T}_ICON}" NAME)
get_filename_component(_ICON_FN "${${_T}_ICON}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(_TV "${_T}-${${_T}_VERSION}")
set(_TV "${_T}_${${_T}_VERSION}")
set(_DEP_LIBPATH)
get_target_property(_LL ${_T} LINK_LIBRARIES)
foreach (_L ${_LL})
@@ -166,13 +166,30 @@ macro(deploy_target _T)
endif()
endforeach()
#message("app depend libpath ${_DEP_LIBPATH}")
if (LINUX)
endif()
if (WIN32)
if ("x${CMAKE_SYSTEM_NAME}" STREQUAL "xLinux")
if (NOT CMAKE_LDD)
find_program(CMAKE_LDD ldd)
endif()
set(_DEB "${_TV}_deb_${CMAKE_SYSTEM_PROCESSOR}")
set(_AGD "${_DEPLOY_DIR}/${_DEB}")
add_custom_target(deploy
# gather deb dir
COMMAND mkdir -p ${_AGD}/DEBIAN
COMMAND mkdir -p ${_AGD}/usr/bin
COMMAND mkdir -p ${_AGD}/usr/lib
COMMAND mkdir -p ${_DESTINATION}
COMMAND cp ${_ICON_FN} ${_AGD}/Contents/Resources
COMMAND cp -r ${_DEPLOY_DIR}/lang ${_AGD}/Contents/MacOS
COMMAND deploy_tool -l "${CMAKE_LDD}" -P xcb -q ${Qt5_ROOT} -s "\"${CMAKE_PREFIX_PATH}/lib;${DEPLOY_ADD_LIBPATH}${_DEP_LIBPATH}\"" -o ${_AGD}/usr/lib -p ${_AGD}/usr/ ${_AGD}/Contents/MacOS/${_T}
# generate deb
COMMAND genisoimage -quiet -V ${_T} -D -R -apple -no-pad -o ${_DESTINATION}/${_TV}.dmg ${_DMG}
COMMENT "Generating ${_TV}.deb"
)
elseif(WIN32)
if (NOT CMAKE_OBJDUMP)
find_program(CMAKE_OBJDUMP objdump)
endif()
set(_AGD "${_DEPLOY_DIR}/${_TV}/")
set(_AGD "${_DEPLOY_DIR}/${_TV}_win/")
set(_SEP "/")
set(_COPY "cp" "-rf")
set(_COPY_SUFFIX)
@@ -201,11 +218,10 @@ macro(deploy_target _T)
COMMAND ${_COPY} "${_DEPLOY_DIR}lang${_SEP}*" "\"${_AGD}lang${_SEP}\"" ${_COPY_SUFFIX}
COMMAND deploy_tool -W "\"${CMAKE_OBJDUMP}\"" -P windows -S windows -q "\"${Qt5_ROOT}\"" -s "\"${CMAKE_PREFIX_PATH}/bin;${MINGW_BIN};${DEPLOY_ADD_LIBPATH}${_DEP_LIBPATH}\"" -o ${_AGD} -p ${_AGD} "\"${_AGD}${_T}.exe\""
# zip
COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -r "\"${_DESTINATION}/${_TV}.zip\"" "\"${_TV}\""
COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -r "\"${_DESTINATION}/${_TV}.zip\"" "\"${_TV}_win\""
COMMENT "Generating ${_TV}.zip"
)
endif()
if (APPLE)
elseif (APPLE)
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${${_T}_FULLNAME}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${${_T}_VERSION}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${${_T}_VERSION}")
@@ -225,7 +241,7 @@ macro(deploy_target _T)
COMMAND mkdir -p ${_DESTINATION}
COMMAND cp ${_ICON_FN} ${_AGD}/Contents/Resources
COMMAND cp -r ${_DEPLOY_DIR}/lang ${_AGD}/Contents/MacOS
COMMAND deploy_tool -M "${CMAKE_OTOOL}" -P cocoa -S mac -q ${Qt5_ROOT} -s \"${CMAKE_PREFIX_PATH}/lib\;${DEPLOY_ADD_LIBPATH}${_DEP_LIBPATH}\" -o ${_AGD}/Contents/Frameworks -p ${_AGD}/Contents/PlugIns ${_AGD}/Contents/MacOS/${_T}
COMMAND deploy_tool -M "${CMAKE_OTOOL}" -P cocoa -S mac -q ${Qt5_ROOT} -s "\"${CMAKE_PREFIX_PATH}/lib;${DEPLOY_ADD_LIBPATH}${_DEP_LIBPATH}\"" -o ${_AGD}/Contents/Frameworks -p ${_AGD}/Contents/PlugIns ${_AGD}/Contents/MacOS/${_T}
# prepare dmg dir
COMMAND rm -rf ${_DMG}
COMMAND mkdir -p ${_DMG}