From 0d3b2ded8e8572d5d06f5a9dbca7ca93005b37c9 Mon Sep 17 00:00:00 2001 From: peri4 Date: Tue, 3 Dec 2024 11:18:22 +0300 Subject: [PATCH] add Buildtype field, support for debug deploy --- DeployMacros.cmake | 16 +++++++++++----- DeployTarget.manifest.in | 1 + DeployVersionMacros.cmake | 18 ++++++++++-------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/DeployMacros.cmake b/DeployMacros.cmake index 7ae44fc..2540c44 100644 --- a/DeployMacros.cmake +++ b/DeployMacros.cmake @@ -428,7 +428,12 @@ macro(deploy_target _T) set(_LIBS_FILES) 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) @@ -492,6 +497,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 +609,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 +676,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}) @@ -716,7 +722,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}) @@ -765,7 +771,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 +935,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) diff --git a/DeployTarget.manifest.in b/DeployTarget.manifest.in index ea779d4..93c8f98 100644 --- a/DeployTarget.manifest.in +++ b/DeployTarget.manifest.in @@ -7,5 +7,6 @@ "info": "${_TARGET_INFO}", "system": "${_TARGET_OS}", "arch": "${_TARGET_ARCH}", + "buildtype": "${_TARGET_BUILDTYPE}", "timestamp": "${_TARGET_TIMESTAMP}" } diff --git a/DeployVersionMacros.cmake b/DeployVersionMacros.cmake index 34db944..73993ef 100644 --- a/DeployVersionMacros.cmake +++ b/DeployVersionMacros.cmake @@ -5,7 +5,7 @@ endif() if (POLICY CMP0053) cmake_policy(SET CMP0053 NEW) endif() -set(__prop_names "LABEL;FULLNAME;COMPANY;ICON;INFO") +set(__prop_names "LABEL;FULLNAME;COMPANY;ICON;INFO;BUILDTYPE") list(APPEND __prop_names "ANDROID_TARGET_SDK;ANDROID_STORE_FILE;ANDROID_STORE_PASSWORD;ANDROID_KEY_PASSWORD;ANDROID_KEY_ALIAS;ANDROID_NEW_LOADER") set(__version_names "MAJOR;MINOR;REVISION;BUILD;SUFFIX") @@ -16,7 +16,7 @@ endif() macro(set_version _T) - set(_VERSION_ 2) # macro version + set(_VERSION_ 3) # macro version set(_name) set(_is_name 1) set(_is_out 0) @@ -61,6 +61,7 @@ macro(set_version _T) if ("x${${_T}_VERSION_BUILD}" STREQUAL "x") set(${_T}_VERSION_BUILD "0") endif() + set(${_T}_BUILDTYPE "${CMAKE_BUILD_TYPE}") set(${_T}_VERSION "${${_T}_VERSION_MAJOR}.${${_T}_VERSION_MINOR}.${${_T}_VERSION_REVISION}${${_T}_VERSION_FULLSUFFIX}") set(_${_T}_VERSION_WB "${${_T}_VERSION}-${${_T}_VERSION_BUILD}") if (_out) @@ -88,12 +89,12 @@ macro(set_version _T) // Project -#define ${_TN}_VERSION_MAJOR ${${_T}_VERSION_MAJOR} -#define ${_TN}_VERSION_MINOR ${${_T}_VERSION_MINOR} -#define ${_TN}_VERSION_REVISION ${${_T}_VERSION_REVISION} -#define ${_TN}_VERSION_BUILD ${${_T}_VERSION_BUILD} -#define ${_TN}_VERSION_SUFFIX \"${${_T}_VERSION_SUFFIX}\" -#define ${_TN}_VERSION_NAME \"${${_T}_VERSION}\" +#define ${_TN}_VERSION_MAJOR ${${_T}_VERSION_MAJOR} +#define ${_TN}_VERSION_MINOR ${${_T}_VERSION_MINOR} +#define ${_TN}_VERSION_REVISION ${${_T}_VERSION_REVISION} +#define ${_TN}_VERSION_BUILD ${${_T}_VERSION_BUILD} +#define ${_TN}_VERSION_SUFFIX \"${${_T}_VERSION_SUFFIX}\" +#define ${_TN}_VERSION_NAME \"${${_T}_VERSION}\" #define ${_TN}_MAKE_VERSION(major, minor, revision) ((major << 16) | (minor << 8) | revision) #define ${_TN}_VERSION ${_TN}_MAKE_VERSION(${_TN}_VERSION_MAJOR, ${_TN}_VERSION_MINOR, ${_TN}_VERSION_REVISION) @@ -103,6 +104,7 @@ macro(set_version _T) #define ${_TN}_CMAKE_VERSION \"${CMAKE_VERSION}\" #define ${_TN}_CXX_COMPILER \"${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}\" #define ${_TN}_BUILD_DATE \"${_cur_date}\" +#define ${_TN}_BUILD_TYPE \"${${_T}_BUILDTYPE}\" #define ${_TN}_ARCH \"${MY_ARCH}\"