⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unixmake2.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
                                                      project->first("QMAKE_FRAMEWORK_VERSION") +                                                      bundle_loc + unescapeFilePath(project->first("TARGET")));        } else if(project->isActiveConfig("plugin")) {            QString prefix;            if(!project->isActiveConfig("no_plugin_name_prefix"))                prefix = "lib";            project->values("TARGET_x.y.z").append(prefix +                                                        project->first("TARGET") + "." +                                                        project->first("QMAKE_EXTENSION_PLUGIN"));            if(project->isActiveConfig("lib_version_first"))                project->values("TARGET_x").append(prefix + project->first("TARGET") + "." +                                                        project->first("VER_MAJ") + "." +                                                        project->first("QMAKE_EXTENSION_PLUGIN"));            else                project->values("TARGET_x").append(prefix + project->first("TARGET") + "." +                                                        project->first("QMAKE_EXTENSION_PLUGIN") +                                                        "." + project->first("VER_MAJ"));            project->values("TARGET") = project->values("TARGET_x.y.z");        } else if (!project->isEmpty("QMAKE_HPUX_SHLIB")) {            project->values("TARGET_").append("lib" + project->first("TARGET") + ".sl");            if(project->isActiveConfig("lib_version_first"))                project->values("TARGET_x").append("lib" + project->first("VER_MAJ") + "." +                                                        project->first("TARGET"));            else                project->values("TARGET_x").append("lib" + project->first("TARGET") + "." +                                                        project->first("VER_MAJ"));            project->values("TARGET") = project->values("TARGET_x");        } else if (!project->isEmpty("QMAKE_AIX_SHLIB")) {            project->values("TARGET_").append("lib" + project->first("TARGET") + ".a");            if(project->isActiveConfig("lib_version_first")) {                project->values("TARGET_x").append("lib" + project->first("TARGET") + "." +                                                        project->first("VER_MAJ") + "." +                                                        project->first("QMAKE_EXTENSION_SHLIB"));                project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." +                                                          project->first("VER_MAJ") +                                                          "." + project->first("VER_MIN") + "." +                                                          project->first("QMAKE_EXTENSION_SHLIB"));                project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." +                                                            project->first("VER_MAJ") + "." +                                                            project->first("VER_MIN") + "." +                                                            project->first("VER_PAT") + "." +                                                            project->first("QMAKE_EXTENSION_SHLIB"));            } else {                project->values("TARGET_x").append("lib" + project->first("TARGET") + "." +                                                        project->first("QMAKE_EXTENSION_SHLIB") +                                                        "." + project->first("VER_MAJ"));                project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." +                                                          project->first("QMAKE_EXTENSION_SHLIB") +                                                          "." + project->first("VER_MAJ") +                                                          "." + project->first("VER_MIN"));                project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." +                                                            project->first("QMAKE_EXTENSION_SHLIB") + "." +                                                            project->first("VER_MAJ") + "." +                                                            project->first("VER_MIN") + "." +                                                            project->first("VER_PAT"));            }            project->values("TARGET") = project->values("TARGET_x.y.z");        } else {            project->values("TARGET_").append("lib" + project->first("TARGET") + "." +                                                   project->first("QMAKE_EXTENSION_SHLIB"));            if(project->isActiveConfig("lib_version_first")) {                project->values("TARGET_x").append("lib" + project->first("TARGET") + "." +                                                        project->first("VER_MAJ") + "." +                                                        project->first("QMAKE_EXTENSION_SHLIB"));                project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." +                                                          project->first("VER_MAJ") +                                                          "." + project->first("VER_MIN") + "." +                                                          project->first("QMAKE_EXTENSION_SHLIB"));                project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." +                                                            project->first("VER_MAJ") + "." +                                                            project->first("VER_MIN") +  "." +                                                            project->first("VER_PAT") + "." +                                                            project->values("QMAKE_EXTENSION_SHLIB").first());            } else {                project->values("TARGET_x").append("lib" + project->first("TARGET") + "." +                                                        project->first("QMAKE_EXTENSION_SHLIB") +                                                        "." + project->first("VER_MAJ"));                project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." +                                                      project->first("QMAKE_EXTENSION_SHLIB")                                                      + "." + project->first("VER_MAJ") +                                                      "." + project->first("VER_MIN"));                project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") +                                                            "." +                                                            project->values(                                                                "QMAKE_EXTENSION_SHLIB").first() + "." +                                                            project->first("VER_MAJ") + "." +                                                            project->first("VER_MIN") +  "." +                                                            project->first("VER_PAT"));            }            project->values("TARGET") = project->values("TARGET_x.y.z");        }        if(project->isEmpty("QMAKE_LN_SHLIB"))            project->values("QMAKE_LN_SHLIB").append("ln -s");        if (!project->values("QMAKE_LFLAGS_SONAME").isEmpty()) {            QString soname;            if(project->isActiveConfig("plugin")) {                if(!project->values("TARGET").isEmpty())                    soname += project->first("TARGET");            } else if(!project->isEmpty("QMAKE_BUNDLE")) {                soname += project->first("TARGET_x.y");            } else if(!project->values("TARGET_x").isEmpty()) {                soname += project->first("TARGET_x");            }            if(!soname.isEmpty()) {                if(project->isActiveConfig("absolute_library_soname") &&                   project->values("INSTALLS").indexOf("target") != -1 &&                   !project->isEmpty("target.path")) {                    QString instpath = Option::fixPathToTargetOS(project->first("target.path"));                    if(!instpath.endsWith(Option::dir_sep))                        instpath += Option::dir_sep;                    soname.prepend(instpath);                }                project->values("QMAKE_LFLAGS_SONAME").first() += escapeFilePath(soname);            }        }        if (project->values("QMAKE_LINK_SHLIB_CMD").isEmpty())            project->values("QMAKE_LINK_SHLIB_CMD").append(                "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)");    }    if (!project->values("QMAKE_APP_FLAG").isEmpty()) {        project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_APP");        project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_APP");        project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_APP");    } else if (project->isActiveConfig("dll")) {        if(!project->isActiveConfig("plugin") || !project->isActiveConfig("plugin_no_share_shlib_cflags")) {            project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_SHLIB");            project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_SHLIB");        }        if (project->isActiveConfig("plugin")) {            project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_PLUGIN");            project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_PLUGIN");            project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_PLUGIN");            if(project->isActiveConfig("plugin_with_soname") && !project->isActiveConfig("compile_libtool"))                project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME");        } else {            project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SHLIB");            if(!project->isEmpty("QMAKE_LFLAGS_COMPAT_VERSION")) {                if(project->isEmpty("COMPAT_VERSION"))                    project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") +                                                                    project->first("VER_MAJ") + "." +                                                                    project->first("VER_MIN"));                else                    project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") +                                                                    project->first("COMPATIBILITY_VERSION"));            }            if(!project->isEmpty("QMAKE_LFLAGS_VERSION")) {                project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_VERSION") +                                                                project->first("VER_MAJ") + "." +                                                                project->first("VER_MIN") + "." +                                                                project->first("VER_PAT"));            }            if(!project->isActiveConfig("compile_libtool"))                project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME");        }    }    if(!project->isEmpty("QMAKE_BUNDLE")) {        QString plist = fileFixify(project->first("QMAKE_INFO_PLIST"));        if(plist.isEmpty())            plist = specdir() + QDir::separator() + "Info.plist." + project->first("TEMPLATE");        if(exists(Option::fixPathToLocalOS(plist))) {            if(project->isEmpty("QMAKE_INFO_PLIST"))                project->values("QMAKE_INFO_PLIST").append(plist);            project->values("QMAKE_INFO_PLIST_OUT").append(project->first("DESTDIR") +                                                                project->first("QMAKE_BUNDLE") +                                                                "/Contents/Info.plist");            project->values("ALL_DEPS") += project->first("QMAKE_INFO_PLIST_OUT");            if(!project->isEmpty("ICON") && project->first("TEMPLATE") == "app")                project->values("ALL_DEPS") += project->first("DESTDIR") +                                                    project->first("QMAKE_BUNDLE") +                                                    "/Contents/Resources/" + project->first("ICON").section('/', -1);            if(!project->isEmpty("QMAKE_BUNDLE_DATA")) {                QString bundle_dir = project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/";                QStringList &alldeps = project->values("ALL_DEPS");                const QStringList &bundle_data = project->values("QMAKE_BUNDLE_DATA");                for(int i = 0; i < bundle_data.count(); i++) {                    const QStringList &files = project->values(bundle_data[i] + ".files");                    QString path = bundle_dir;                    if(!project->isEmpty(bundle_data[i] + ".version")) {                        alldeps += Option::fixPathToLocalOS(path + Option::dir_sep +                                                            project->first(bundle_data[i] + ".path"));                        path += project->first(bundle_data[i] + ".version") + "/" +                                project->first("QMAKE_FRAMEWORK_VERSION") + "/";                    }                    path += project->first(bundle_data[i] + ".path");                    path = Option::fixPathToLocalOS(path);                    for(int file = 0; file < files.count(); file++)                        alldeps += path + Option::dir_sep + fileInfo(files[file]).fileName();                }            }        }    }}QStringUnixMakefileGenerator::libtoolFileName(bool fixify){    QString ret = var("TARGET");    int slsh = ret.lastIndexOf(Option::dir_sep);    if(slsh != -1)        ret = ret.right(ret.length() - slsh - 1);    int dot = ret.indexOf('.');    if(dot != -1)        ret = ret.left(dot);    ret += Option::libtool_ext;    if(!project->isEmpty("QMAKE_LIBTOOL_DESTDIR"))        ret.prepend(project->first("QMAKE_LIBTOOL_DESTDIR") + Option::dir_sep);    if(fixify) {        if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))            ret.prepend(project->first("DESTDIR"));        ret = Option::fixPathToLocalOS(fileFixify(ret, qmake_getpwd(), Option::output_dir));    }    return ret;}voidUnixMakefileGenerator::writeLibtoolFile(){    QString fname = libtoolFileName(), lname = fname;    mkdir(fileInfo(fname).path());    int slsh = lname.lastIndexOf(Option::dir_sep);    if(slsh != -1)        lname = lname.right(lname.length() - slsh - 1);    QFile ft(fname);    if(!ft.open(QIODevice::WriteOnly))        return;    project->values("ALL_DEPS").append(fileFixify(fname));    QTextStream t(&ft);    t << "# " << lname << " - a libtool library file\n";    t << "# Generated by qmake/libtool (" << qmake_version() << ") (Qt "      << QT_VERSION_STR << ") on: " << QDateTime::currentDateTime().toString();	t << "\n";    t << "# The name that we can dlopen(3).\n"      << "dlname='" << var(project->isActiveConfig("plugin") ? "TARGET" : "TARGET_x")      << "'\n\n";    t << "# Names of this library.\n";    t << "library_names='";    if(project->isActiveConfig("plugin")) {        t << var("TARGET");    } else {        if (project->isEmpty("QMAKE_HPUX_SHLIB"))            t << var("TARGET_x.y.z") << " ";        t << var("TARG

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -