Compare commits

..

6 Commits

2 changed files with 21 additions and 12 deletions

View File

@@ -86,6 +86,7 @@ deploy_target(<target> [DEPLOY_DIR <dir>]
[PLUGINS <dir|file> [<dir|file> ...] ] [PLUGINS <dir|file> [<dir|file> ...] ]
[FILES <dir|file> [<dir|file> ...] ] [FILES <dir|file> [<dir|file> ...] ]
[LIBS <dir|file> [<dir|file> ...] ] [LIBS <dir|file> [<dir|file> ...] ]
[PACKAGE_SUFFIX <suffix>]
[OPTIONS <flag> ...] [OPTIONS <flag> ...]
[VERBOSE] [VERBOSE]
[DMG_NO_ZIP] [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>" - right, relative item and TARGET_FILE_NAME is only filename
* "/$<TARGET_FILE_NAME:myexe>" - wrong, absolute item with 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, This macro using "deploy_tool" from PIP,
so make sure it can be executed from shell so make sure it can be executed from shell
@@ -169,7 +171,7 @@ if (POLICY CMP0053)
cmake_policy(SET CMP0053 NEW) cmake_policy(SET CMP0053 NEW)
endif() endif()
if (NOT _dep_exists AND NOT PIP_FREERTOS) if (NOT _dep_exists AND NOT PIP_MICRO)
set(_dep_exists 1) set(_dep_exists 1)
add_custom_target(deploy COMMENT "Deploy") add_custom_target(deploy COMMENT "Deploy")
endif() endif()
@@ -377,7 +379,7 @@ macro(get_system _OS _ARCH)
endforeach() endforeach()
endif() endif()
find_file(_release_file NAMES os-release lsb-release PATHS ${_paths} NO_DEFAULT_PATH) 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) file(STRINGS "${_release_file}" _lines)
foreach(_l ${_lines}) foreach(_l ${_lines})
if ("${_l}" MATCHES "VERSION_ID=.*") if ("${_l}" MATCHES "VERSION_ID=.*")
@@ -390,11 +392,13 @@ macro(get_system _OS _ARCH)
#message("ID ${_os_id}") #message("ID ${_os_id}")
endif() endif()
endforeach() endforeach()
endif()
string(TOLOWER "${_os_id}${_os_ver}" ${_OS}) string(TOLOWER "${_os_id}${_os_ver}" ${_OS})
if ("x${${_OS}}" STREQUAL "x") if ("x${${_OS}}" STREQUAL "x")
set(${_OS} "linux") set(${_OS} "linux")
endif() endif()
else()
set(${_OS} "linux")
endif()
set(${_ARCH} "${MY_ARCH}") set(${_ARCH} "${MY_ARCH}")
elseif(WIN32) elseif(WIN32)
set(${_OS} "windows") set(${_OS} "windows")
@@ -426,6 +430,7 @@ macro(deploy_target _T)
set(_FILE_FILES) set(_FILE_FILES)
set(_LIBS_DIRS) set(_LIBS_DIRS)
set(_LIBS_FILES) set(_LIBS_FILES)
set(_SUFFIX)
set(_VERB) set(_VERB)
set(_WVERB 1> NUL) set(_WVERB 1> NUL)
set(_DEBUG_SUFFIX) set(_DEBUG_SUFFIX)
@@ -439,7 +444,7 @@ macro(deploy_target _T)
set(_DEB_SERVICE 0) set(_DEB_SERVICE 0)
set(_MANIFEST 0) set(_MANIFEST 0)
set(_cur_arg) 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}) foreach(_i ${ARGN})
if (_i IN_LIST __args) if (_i IN_LIST __args)
set(_cur_arg "${_i}") set(_cur_arg "${_i}")
@@ -455,6 +460,9 @@ macro(deploy_target _T)
elseif("x${_cur_arg}" STREQUAL "xADD_MANIFEST") elseif("x${_cur_arg}" STREQUAL "xADD_MANIFEST")
set(_MANIFEST 1) set(_MANIFEST 1)
endif() endif()
elseif ("x${_cur_arg}" STREQUAL "xPACKAGE_SUFFIX")
set(_cur_arg)
set(_SUFFIX "${_i}")
elseif ("x${_cur_arg}" STREQUAL "xDESTINATION") elseif ("x${_cur_arg}" STREQUAL "xDESTINATION")
set(_cur_arg) set(_cur_arg)
set(_DESTINATION "${_i}/") set(_DESTINATION "${_i}/")
@@ -476,7 +484,7 @@ macro(deploy_target _T)
endforeach() endforeach()
get_filename_component(_ICON_NAME "${${_T}_ICON}" NAME) get_filename_component(_ICON_NAME "${${_T}_ICON}" NAME)
get_filename_component(_ICON_FN "${${_T}_ICON}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 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_LIBPATH)
set(_DEP_LIBS_CS) set(_DEP_LIBS_CS)
set(_DEP_LIBS) set(_DEP_LIBS)
@@ -706,12 +714,13 @@ macro(deploy_target _T)
endif() endif()
elseif(WIN32) elseif(WIN32)
if (NOT CMAKE_OBJDUMP) set(_OBJDUMP "${CMAKE_OBJDUMP}")
find_program(CMAKE_OBJDUMP objdump) if (NOT _OBJDUMP)
find_program(_OBJDUMP objdump)
endif() endif()
set(_AGD "${_DEPLOY_DIR}/${_TV}_win_${MY_ARCH}/") set(_AGD "${_DEPLOY_DIR}/${_TV}_win_${MY_ARCH}/")
if (__win_host) if (__win_host)
string(REPLACE "/" "\\" CMAKE_OBJDUMP "${CMAKE_OBJDUMP}") string(REPLACE "/" "\\" _OBJDUMP "${_OBJDUMP}")
endif() endif()
set(_var_exe "${_DEPLOY_DIR}/$<TARGET_FILE_NAME:${_T}>") set(_var_exe "${_DEPLOY_DIR}/$<TARGET_FILE_NAME:${_T}>")
set(_var_empty) set(_var_empty)
@@ -733,7 +742,7 @@ macro(deploy_target _T)
# gather dir # gather dir
${_CMD_} ${_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 # zip
COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -q -r "\"${_DESTINATION}/${_zip_name}\"" "\"${_TV}_win_${MY_ARCH}\"" COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -q -r "\"${_DESTINATION}/${_zip_name}\"" "\"${_TV}_win_${MY_ARCH}\""
COMMENT "Generating ${_zip_name}" COMMENT "Generating ${_zip_name}"

View File

@@ -59,7 +59,7 @@ macro(shstk_begin_project name)
endif() endif()
shstk_define_option(LOCAL "Local install" OFF) shstk_define_option(LOCAL "Local install" OFF)
if (DEFINED ENV{QNX_HOST} OR PIP_FREERTOS) if (DEFINED ENV{QNX_HOST} OR PIP_MICRO)
set(STATIC_LIB_DEFAULT ON) set(STATIC_LIB_DEFAULT ON)
else() else()
set(STATIC_LIB_DEFAULT OFF) set(STATIC_LIB_DEFAULT OFF)