|
|
|
|
@@ -86,6 +86,7 @@ deploy_target(<target> [DEPLOY_DIR <dir>]
|
|
|
|
|
[PLUGINS <dir|file> [<dir|file> ...] ]
|
|
|
|
|
[FILES <dir|file> [<dir|file> ...] ]
|
|
|
|
|
[LIBS <dir|file> [<dir|file> ...] ]
|
|
|
|
|
[PACKAGE_SUFFIX <suffix>]
|
|
|
|
|
[OPTIONS <flag> ...]
|
|
|
|
|
[VERBOSE]
|
|
|
|
|
[DMG_NO_ZIP]
|
|
|
|
|
@@ -137,6 +138,7 @@ Examples:
|
|
|
|
|
* "$<TARGET_FILE_NAME:myexe>" - right, relative item and TARGET_FILE_NAME is only filename
|
|
|
|
|
* "/$<TARGET_FILE_NAME:myexe>" - wrong, absolute item with only filename
|
|
|
|
|
|
|
|
|
|
PACKAGE_SUFFIX is additional text for package, after base name and before version
|
|
|
|
|
|
|
|
|
|
This macro using "deploy_tool" from PIP,
|
|
|
|
|
so make sure it can be executed from shell
|
|
|
|
|
@@ -169,7 +171,7 @@ if (POLICY CMP0053)
|
|
|
|
|
cmake_policy(SET CMP0053 NEW)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if (NOT _dep_exists AND NOT PIP_FREERTOS)
|
|
|
|
|
if (NOT _dep_exists AND NOT PIP_MICRO)
|
|
|
|
|
set(_dep_exists 1)
|
|
|
|
|
add_custom_target(deploy COMMENT "Deploy")
|
|
|
|
|
endif()
|
|
|
|
|
@@ -377,7 +379,7 @@ macro(get_system _OS _ARCH)
|
|
|
|
|
endforeach()
|
|
|
|
|
endif()
|
|
|
|
|
find_file(_release_file NAMES os-release lsb-release PATHS ${_paths} NO_DEFAULT_PATH)
|
|
|
|
|
if (NOT "x${_release_file}" STREQUAL "x")
|
|
|
|
|
if (_release_file)
|
|
|
|
|
file(STRINGS "${_release_file}" _lines)
|
|
|
|
|
foreach(_l ${_lines})
|
|
|
|
|
if ("${_l}" MATCHES "VERSION_ID=.*")
|
|
|
|
|
@@ -390,11 +392,13 @@ macro(get_system _OS _ARCH)
|
|
|
|
|
#message("ID ${_os_id}")
|
|
|
|
|
endif()
|
|
|
|
|
endforeach()
|
|
|
|
|
endif()
|
|
|
|
|
string(TOLOWER "${_os_id}${_os_ver}" ${_OS})
|
|
|
|
|
if ("x${${_OS}}" STREQUAL "x")
|
|
|
|
|
set(${_OS} "linux")
|
|
|
|
|
endif()
|
|
|
|
|
else()
|
|
|
|
|
set(${_OS} "linux")
|
|
|
|
|
endif()
|
|
|
|
|
set(${_ARCH} "${MY_ARCH}")
|
|
|
|
|
elseif(WIN32)
|
|
|
|
|
set(${_OS} "windows")
|
|
|
|
|
@@ -426,15 +430,21 @@ macro(deploy_target _T)
|
|
|
|
|
set(_FILE_FILES)
|
|
|
|
|
set(_LIBS_DIRS)
|
|
|
|
|
set(_LIBS_FILES)
|
|
|
|
|
set(_SUFFIX)
|
|
|
|
|
set(_VERB)
|
|
|
|
|
set(_WVERB 1> NUL)
|
|
|
|
|
set(_DEBUG_SUFFIX)
|
|
|
|
|
set(_OPTIONS "--strip;${CMAKE_STRIP}")
|
|
|
|
|
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
|
|
|
|
list(APPEND _OPTIONS "--no-strip")
|
|
|
|
|
set(_DEBUG_SUFFIX "_debug")
|
|
|
|
|
endif()
|
|
|
|
|
set(_ZIP_DMG 1)
|
|
|
|
|
set(_DEB_OPT 1)
|
|
|
|
|
set(_DEB_SERVICE 0)
|
|
|
|
|
set(_MANIFEST 0)
|
|
|
|
|
set(_cur_arg)
|
|
|
|
|
set(__args "DESTINATION;DEPLOY_DIR;RESOURCES;PLUGINS;FILES;LIBS;OPTIONS;VERBOSE;DMG_NO_ZIP;DEB_USR_DIR;DEB_ADD_SERVICE;ADD_MANIFEST")
|
|
|
|
|
set(__args "PACKAGE_SUFFIX;DESTINATION;DEPLOY_DIR;RESOURCES;PLUGINS;FILES;LIBS;OPTIONS;VERBOSE;DMG_NO_ZIP;DEB_USR_DIR;DEB_ADD_SERVICE;ADD_MANIFEST")
|
|
|
|
|
foreach(_i ${ARGN})
|
|
|
|
|
if (_i IN_LIST __args)
|
|
|
|
|
set(_cur_arg "${_i}")
|
|
|
|
|
@@ -450,6 +460,9 @@ macro(deploy_target _T)
|
|
|
|
|
elseif("x${_cur_arg}" STREQUAL "xADD_MANIFEST")
|
|
|
|
|
set(_MANIFEST 1)
|
|
|
|
|
endif()
|
|
|
|
|
elseif ("x${_cur_arg}" STREQUAL "xPACKAGE_SUFFIX")
|
|
|
|
|
set(_cur_arg)
|
|
|
|
|
set(_SUFFIX "${_i}")
|
|
|
|
|
elseif ("x${_cur_arg}" STREQUAL "xDESTINATION")
|
|
|
|
|
set(_cur_arg)
|
|
|
|
|
set(_DESTINATION "${_i}/")
|
|
|
|
|
@@ -471,7 +484,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}${_SUFFIX}_${${_T}_VERSION}")
|
|
|
|
|
set(_DEP_LIBPATH)
|
|
|
|
|
set(_DEP_LIBS_CS)
|
|
|
|
|
set(_DEP_LIBS)
|
|
|
|
|
@@ -492,6 +505,7 @@ macro(deploy_target _T)
|
|
|
|
|
set(_TARGET_BUILD "${${_T}_VERSION_BUILD}")
|
|
|
|
|
set(_TARGET_COMPANY "${${_T}_COMPANY}")
|
|
|
|
|
set(_TARGET_INFO "${${_T}_INFO}")
|
|
|
|
|
set(_TARGET_BUILDTYPE "${${_T}_BUILDTYPE}")
|
|
|
|
|
set(_TARGET_OS "???")
|
|
|
|
|
set(_TARGET_ARCH "???")
|
|
|
|
|
set(_TARGET_PACKAGE "???")
|
|
|
|
|
@@ -603,7 +617,7 @@ macro(deploy_target _T)
|
|
|
|
|
set(_dt_opts -L "${CMAKE_READELF}" --dpkg-workdir "${CMAKE_DPKG_WORKDIR}" -s "${_dt_searchdirs}")
|
|
|
|
|
endif()
|
|
|
|
|
list(APPEND _dt_opts -q "${Qt${_Qt_}_ROOT}" --qt-conf-dir "${_bin_path}" --qt-plugins-dir "${_pli_path}" --rpath)
|
|
|
|
|
set(_deb_name "${_TV}_${_TARGET_OS}_${_DEB_ARCH}.deb")
|
|
|
|
|
set(_deb_name "${_TV}_${_TARGET_OS}_${_DEB_ARCH}${_DEBUG_SUFFIX}.deb")
|
|
|
|
|
set(_TARGET_PACKAGE "${_deb_name}")
|
|
|
|
|
#message("VER = \"${_DEBVERSION}\"")
|
|
|
|
|
#message("DEB = \"${_deb_name}\"")
|
|
|
|
|
@@ -670,7 +684,7 @@ macro(deploy_target _T)
|
|
|
|
|
set(_CMD_ ${_CMD_} COMMAND chmod 0755 ${_VERB} "${_AGD}/DEBIAN/${_f}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
set(_deb_name "${_TV}-service_${_TARGET_OS}_${_DEB_ARCH}.deb")
|
|
|
|
|
set(_deb_name "${_TV}-service_${_TARGET_OS}_${_DEB_ARCH}${_DEBUG_SUFFIX}.deb")
|
|
|
|
|
#message("VER = \"${_DEBVERSION}\"")
|
|
|
|
|
#message("DEB = \"${_deb_name}\"")
|
|
|
|
|
list(APPEND _CMD_ COMMAND echo "Package: ${_DEBNAME}-service" ${_C_echof})
|
|
|
|
|
@@ -700,12 +714,13 @@ macro(deploy_target _T)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
elseif(WIN32)
|
|
|
|
|
if (NOT CMAKE_OBJDUMP)
|
|
|
|
|
find_program(CMAKE_OBJDUMP objdump)
|
|
|
|
|
set(_OBJDUMP "${CMAKE_OBJDUMP}")
|
|
|
|
|
if (NOT _OBJDUMP)
|
|
|
|
|
find_program(_OBJDUMP objdump)
|
|
|
|
|
endif()
|
|
|
|
|
set(_AGD "${_DEPLOY_DIR}/${_TV}_win_${MY_ARCH}/")
|
|
|
|
|
if (__win_host)
|
|
|
|
|
string(REPLACE "/" "\\" CMAKE_OBJDUMP "${CMAKE_OBJDUMP}")
|
|
|
|
|
string(REPLACE "/" "\\" _OBJDUMP "${_OBJDUMP}")
|
|
|
|
|
endif()
|
|
|
|
|
set(_var_exe "${_DEPLOY_DIR}/$<TARGET_FILE_NAME:${_T}>")
|
|
|
|
|
set(_var_empty)
|
|
|
|
|
@@ -716,7 +731,7 @@ macro(deploy_target _T)
|
|
|
|
|
__make_copy(_CMD_ _PLUG_DIRS _PLUG_FILES "${_AGD}")
|
|
|
|
|
__make_copy(_CMD_ _FILE_DIRS _FILE_FILES "${_AGD}")
|
|
|
|
|
__make_copy(_CMD_ _LIBS_DIRS _LIBS_FILES "${_AGD}")
|
|
|
|
|
set(_zip_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}.zip")
|
|
|
|
|
set(_zip_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}${_DEBUG_SUFFIX}.zip")
|
|
|
|
|
set(_TARGET_PACKAGE "${_zip_name}")
|
|
|
|
|
set(_search_path "")
|
|
|
|
|
foreach (_c ${CMAKE_PREFIX_PATH})
|
|
|
|
|
@@ -727,7 +742,7 @@ macro(deploy_target _T)
|
|
|
|
|
# gather dir
|
|
|
|
|
${_CMD_}
|
|
|
|
|
|
|
|
|
|
COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt${_Qt_}_ROOT}\"" -s "\"${_search_path}\"" -o "${_AGD}" -p "${_AGD}" "\"${_AGD}$<TARGET_FILE_NAME:${_T}>\"" ${_ADD_DEPS}
|
|
|
|
|
COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt${_Qt_}_ROOT}\"" -s "\"${_search_path}\"" -o "${_AGD}" -p "${_AGD}" "\"${_AGD}$<TARGET_FILE_NAME:${_T}>\"" ${_ADD_DEPS}
|
|
|
|
|
# zip
|
|
|
|
|
COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -q -r "\"${_DESTINATION}/${_zip_name}\"" "\"${_TV}_win_${MY_ARCH}\""
|
|
|
|
|
COMMENT "Generating ${_zip_name}"
|
|
|
|
|
@@ -765,7 +780,7 @@ macro(deploy_target _T)
|
|
|
|
|
if (NOT CMAKE_PREFIX_PATH)
|
|
|
|
|
set(CMAKE_PREFIX_PATH "/usr/local")
|
|
|
|
|
endif()
|
|
|
|
|
set(_dmg_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}.dmg")
|
|
|
|
|
set(_dmg_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}${_DEBUG_SUFFIX}.dmg")
|
|
|
|
|
set(_TARGET_PACKAGE "${_dmg_name}")
|
|
|
|
|
set(_cmd_gen_dmg COMMAND genisoimage -quiet -V "${MACOSX_BUNDLE_BUNDLE_NAME}" -D -R -apple -no-pad -o "${_DESTINATION}/${_dmg_name}" "${_DMG}")
|
|
|
|
|
if (__mac_host)
|
|
|
|
|
@@ -929,7 +944,7 @@ macro(deploy_target _T)
|
|
|
|
|
set(_CMD_ ${_CMD_} COMMAND "${Qt${_Qt_}_BIN}/androiddeployqt" --aux-mode --android-platform ${ANDROID_PLATFORM} --output "\"${_AGD}\"" --input "\"${_out_json}\"")
|
|
|
|
|
set(_CMD_ ${_CMD_} COMMAND "${_AGD}/gradlew" ${_gradle_home} --no-daemon -p "\"${_AGD}\"" assembleDebug)
|
|
|
|
|
set(_CMD_ ${_CMD_} COMMAND "${_AGD}/gradlew" ${_gradle_home} --no-daemon -p "\"${_AGD}\"" bundleRelease)
|
|
|
|
|
set(_base_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}")
|
|
|
|
|
set(_base_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}${_DEBUG_SUFFIX}")
|
|
|
|
|
set(_TARGET_PACKAGE "${_base_name}.apk")
|
|
|
|
|
set(_CMD_ ${_CMD_} COMMAND "${CMAKE_COMMAND}" -E copy "${_AGD}/build/outputs/apk/debug/${_T}.android-debug.apk" "${_DESTINATION}/${_base_name}.apk")
|
|
|
|
|
if (ANDROID_STORE_FILE)
|
|
|
|
|
|