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

This commit is contained in:
2020-03-20 15:54:24 +00:00
parent 1c0268f0fd
commit 13762cd264

View File

@@ -106,7 +106,7 @@ END
endmacro()
# usage: deploy_target(<target> [DEPLOY_DIR <dir>] [DESTINATION <dir>] [NO_AUTO_ICON_EXT])
# usage: deploy_target(<target> [DEPLOY_DIR <dir>] [DESTINATION <dir>] [RESOURCE_DIRS <dir> [<dir> ...]])
#
# DEPLOY_DIR - dir where you install
# * executable on Windows, Linux
@@ -132,24 +132,30 @@ endmacro()
macro(deploy_target _T)
set(_DESTINATION "${CMAKE_INSTALL_PREFIX}")
set(_DEPLOY_DIR "${CMAKE_INSTALL_PREFIX}")
set(_RES_DIRS)
set(_is_dest 0)
set(_is_deploy_dir 0)
set(_is_res_dirs 0)
foreach(_i ${ARGN})
if (_is_dest)
set(_is_dest 0)
set(_DESTINATION "${_i}/")
else()
if (_is_deploy_dir)
set(_is_deploy_dir 0)
set(_DEPLOY_DIR "${_i}/")
elseif (_is_deploy_dir)
set(_is_deploy_dir 0)
set(_DEPLOY_DIR "${_i}/")
elseif (_is_res_dirs)
if (IS_ABSOLUTE "${_i}")
list(APPEND _RES_DIRS "${_i}")
else()
if ("x${_i}" STREQUAL "xDESTINATION")
set(_is_dest 1)
else()
if ("x${_i}" STREQUAL "xDEPLOY_DIR")
set(_is_deploy_dir 1)
endif()
endif()
list(APPEND _RES_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/${_i}")
endif()
else()
if ("x${_i}" STREQUAL "xDESTINATION")
set(_is_dest 1)
elseif ("x${_i}" STREQUAL "xDEPLOY_DIR")
set(_is_deploy_dir 1)
elseif ("x${_i}" STREQUAL "xRESOURCE_DIRS")
set(_is_res_dirs 1)
endif()
endif()
#message("-i = ${_i}")
@@ -203,6 +209,10 @@ macro(deploy_target _T)
set(_C_echo ">>" "${_AGD}/DEBIAN/control")
set(_D_echof ">" "${_AGD}/usr/share/applications/${_DEBNAME}.desktop")
set(_D_echo ">>" "${_AGD}/usr/share/applications/${_DEBNAME}.desktop")
set(_CMD_RES)
foreach(_r ${_RES_DIRS})
set(_CMD_RES "${_CMD_RES} COMMAND cp -r ${_r} ${_AGD}/usr/share/${${_T}_COMPANY}")
endforeach()
add_custom_target(deploy
# gather deb dir
COMMAND mkdir -p ${_AGD}/DEBIAN
@@ -213,8 +223,9 @@ macro(deploy_target _T)
COMMAND mkdir -p ${_AGD}/usr/share/applications
COMMAND cp -f ${_DEPLOY_DIR}/${_T} ${_AGD}/usr/bin
COMMAND cp -f ${_DEP_LIBS} ${_AGD}/usr/lib
COMMAND cp -r ${_DEPLOY_DIR}/lang ${_AGD}/usr/share/${${_T}_COMPANY}
COMMAND cp -f ${_ICON_FN} ${_AGD}/usr/share/pixmaps
#COMMAND cp -r ${_DEPLOY_DIR}/lang ${_AGD}/usr/share/${${_T}_COMPANY}
${_CMD_RES}
COMMAND echo "Package: ${_DEBNAME}" ${_C_echof}
COMMAND echo "Version: ${${_T}_VERSION}" ${_C_echo}
@@ -246,7 +257,7 @@ macro(deploy_target _T)
COMMAND mkdir -p ${_DESTINATION}
COMMAND dpkg-deb -b ${_AGD} ${_DESTINATION}/${_TV}_${_DEB_ARCH}.deb
VERBATIM
COMMENT "Generating ${_TV}.deb"
COMMENT "Generating ${_TV}_${_DEB_ARCH}.deb"
)
elseif(WIN32)
if (NOT CMAKE_OBJDUMP)