deploy for crosslinux
This commit is contained in:
@@ -631,6 +631,10 @@ macro(deploy_target _T)
|
|||||||
if (_ICON_NAME)
|
if (_ICON_NAME)
|
||||||
set(_CMD_ ${_CMD_} COMMAND cp ${_VERB} -f ${_ICON_FN} ${_AGD}/usr/share/pixmaps)
|
set(_CMD_ ${_CMD_} COMMAND cp ${_VERB} -f ${_ICON_FN} ${_AGD}/usr/share/pixmaps)
|
||||||
endif()
|
endif()
|
||||||
|
set(_bintool -l "${CMAKE_LDD}")
|
||||||
|
if (CMAKE_CROSSCOMPILING)
|
||||||
|
set(_bintool -L "${CMAKE_READELF}" --dpkg-workdir "${CMAKE_DPKG_WORKDIR}")
|
||||||
|
endif()
|
||||||
set(_deb_name "${_TV}_debian_${_DEB_ARCH}.deb")
|
set(_deb_name "${_TV}_debian_${_DEB_ARCH}.deb")
|
||||||
add_custom_target(deploy_${_T}
|
add_custom_target(deploy_${_T}
|
||||||
# gather deb dir
|
# gather deb dir
|
||||||
@@ -646,7 +650,7 @@ macro(deploy_target _T)
|
|||||||
COMMAND echo "Version: ${_DEBVERSION}" ${_C_echo}
|
COMMAND echo "Version: ${_DEBVERSION}" ${_C_echo}
|
||||||
COMMAND echo "Architecture: ${_DEB_ARCH}" ${_C_echo}
|
COMMAND echo "Architecture: ${_DEB_ARCH}" ${_C_echo}
|
||||||
COMMAND echo "Maintainer: ${${_T}_COMPANY} <>" ${_C_echo}
|
COMMAND echo "Maintainer: ${${_T}_COMPANY} <>" ${_C_echo}
|
||||||
COMMAND deploy_tool ${_OPTIONS} --prefix "Depends: " --dependencies -l ${CMAKE_LDD} -a "${_DEP_LIBS_CS}" -o "${_AGD}/usr/lib" ${_DEPLOY_DIR}/${_T} ${_ADD_DEPS} ${_C_echo}
|
COMMAND deploy_tool ${_OPTIONS} --prefix "Depends: " --dependencies ${_bintool} -a "${_DEP_LIBS_CS}" -o "${_AGD}/usr/lib" ${_DEPLOY_DIR}/${_T} ${_ADD_DEPS} ${_C_echo}
|
||||||
COMMAND echo "Conflicts:" ${_C_echo}
|
COMMAND echo "Conflicts:" ${_C_echo}
|
||||||
COMMAND echo "Replaces:" ${_C_echo}
|
COMMAND echo "Replaces:" ${_C_echo}
|
||||||
COMMAND echo "Section: misc" ${_C_echo}
|
COMMAND echo "Section: misc" ${_C_echo}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ void usage() {
|
|||||||
piCout << "";
|
piCout << "";
|
||||||
piCout << Green << Bold << "Usage:" << Default << "\"deploy_tool [-hvfC] [--dependencies [--prefix <text>]] "
|
piCout << Green << Bold << "Usage:" << Default << "\"deploy_tool [-hvfC] [--dependencies [--prefix <text>]] "
|
||||||
"[-p <qt_plugins>] [-s <search_path>] [--ignore <libs>] [-S <styles>] "
|
"[-p <qt_plugins>] [-s <search_path>] [--ignore <libs>] [-S <styles>] "
|
||||||
"[-l <ldd>] [-D <dpkg>] [-L <readelf> | -W <objdump> | -M <otool>] "
|
"[-l <ldd>] [-D <dpkg>] [--dpkg-workdir <d>] [-L <readelf> | -W <objdump> | -M <otool>] "
|
||||||
"[--name-tool <pathS>] [-d <depth>] [-q <qtdir>] [-a <add_libs>] [-S <styles>] "
|
"[--name-tool <pathS>] [-d <depth>] [-q <qtdir>] [-a <add_libs>] [-S <styles>] "
|
||||||
"[-P <platforms>] [--qt-plugins <d>] -o <out_path> <file> [<file2> ...]\"" << NewLine;
|
"[-P <platforms>] [--qt-plugins <d>] -o <out_path> <file> [<file2> ...]\"" << NewLine;
|
||||||
piCout << Green << Bold << "Details:";
|
piCout << Green << Bold << "Details:";
|
||||||
@@ -63,6 +63,7 @@ void usage() {
|
|||||||
piCout << "-W <objdump> " << Green << "- \"objdump\" path, overrides \"ldd\"";
|
piCout << "-W <objdump> " << Green << "- \"objdump\" path, overrides \"ldd\"";
|
||||||
piCout << "-M <otool> " << Green << "- \"otool\" path, overrides \"ldd\"";
|
piCout << "-M <otool> " << Green << "- \"otool\" path, overrides \"ldd\"";
|
||||||
piCout << "-D <dpkg> " << Green << "- \"dpkg\" path, default \"/usr/bin/dpkg\"";
|
piCout << "-D <dpkg> " << Green << "- \"dpkg\" path, default \"/usr/bin/dpkg\"";
|
||||||
|
piCout << "--dpkg-workdir <d> " << Green << "- dpkg \"admindir\" path, default \"\"";
|
||||||
piCout << "--name-tool <path> " << Green << "- \"install_name_tool\" path, default \"install_name_tool\"";
|
piCout << "--name-tool <path> " << Green << "- \"install_name_tool\" path, default \"install_name_tool\"";
|
||||||
piCout << "-d <depth> " << Green << "- maximum dependepcies depth, default 8";
|
piCout << "-d <depth> " << Green << "- maximum dependepcies depth, default 8";
|
||||||
//piCout << "-Q, --Qt-force " << Green << "- force add Qt root dir, default takes from \"qmake -v\"";
|
//piCout << "-Q, --Qt-force " << Green << "- force add Qt root dir, default takes from \"qmake -v\"";
|
||||||
@@ -109,7 +110,7 @@ QtDep qt_deps[] = {
|
|||||||
|
|
||||||
int depth = 8;
|
int depth = 8;
|
||||||
bool fake = false, is_ldd = true, is_deps = false, need_qt = false;
|
bool fake = false, is_ldd = true, is_deps = false, need_qt = false;
|
||||||
PIString ldd, readelf, objdump, otool, dpkg, nametool, out_dir, qt_dir, out_plugins_dir;
|
PIString ldd, readelf, objdump, otool, dpkg, nametool, out_dir, qt_dir, out_plugins_dir, dpkg_workdir;
|
||||||
PIStringList styles, lib_dirs, add_libs, platforms, sqldrivers, input_files, plugin_libs;
|
PIStringList styles, lib_dirs, add_libs, platforms, sqldrivers, input_files, plugin_libs;
|
||||||
PISet<PIString> all_libs, miss_libs, all_deps, frameworks, framework_libs, miss_frameworks, qt_plugins, ignore_libs;
|
PISet<PIString> all_libs, miss_libs, all_deps, frameworks, framework_libs, miss_frameworks, qt_plugins, ignore_libs;
|
||||||
PIMap<PIString, PIStringList> qt_filters;
|
PIMap<PIString, PIStringList> qt_filters;
|
||||||
@@ -362,7 +363,10 @@ void procQt() {
|
|||||||
|
|
||||||
|
|
||||||
bool procDpkg(const PIString & l) {
|
bool procDpkg(const PIString & l) {
|
||||||
PIString cmd = dpkg + " -S " + l + " 2> /dev/null";
|
PIString dpkgdir;
|
||||||
|
if (!dpkg_workdir.isEmpty())
|
||||||
|
dpkgdir = " --admindir=" + dpkg_workdir;
|
||||||
|
PIString cmd = dpkg + dpkgdir + " -S " + l + " 2> /dev/null";
|
||||||
PIString vs = execute(cmd);
|
PIString vs = execute(cmd);
|
||||||
if (!vs.isEmpty()) {
|
if (!vs.isEmpty()) {
|
||||||
vs = vs.left(vs.find(":"));
|
vs = vs.left(vs.find(":"));
|
||||||
@@ -468,6 +472,7 @@ int main(int argc, char * argv[]) {
|
|||||||
cli.addArgument("Motool", true);
|
cli.addArgument("Motool", true);
|
||||||
cli.addArgument("name-tool", PIChar('\0'), true);
|
cli.addArgument("name-tool", PIChar('\0'), true);
|
||||||
cli.addArgument("Dpkg", true);
|
cli.addArgument("Dpkg", true);
|
||||||
|
cli.addArgument("dpkg-workdir", PIChar('\0'), true);
|
||||||
cli.addArgument("depth", true);
|
cli.addArgument("depth", true);
|
||||||
cli.addArgument("qtdir", true);
|
cli.addArgument("qtdir", true);
|
||||||
cli.addArgument("add_libs", true);
|
cli.addArgument("add_libs", true);
|
||||||
@@ -493,6 +498,7 @@ int main(int argc, char * argv[]) {
|
|||||||
if (nametool.isEmpty())
|
if (nametool.isEmpty())
|
||||||
nametool = "install_name_tool";
|
nametool = "install_name_tool";
|
||||||
dpkg = cli.argumentValue("Dpkg");
|
dpkg = cli.argumentValue("Dpkg");
|
||||||
|
dpkg_workdir = cli.argumentValue("dpkg-workdir");
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
readelf.replaceAll("/", "\\");
|
readelf.replaceAll("/", "\\");
|
||||||
objdump.replaceAll("/", "\\");
|
objdump.replaceAll("/", "\\");
|
||||||
|
|||||||
Reference in New Issue
Block a user