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

📄 msvc_nmake.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	project->variables()["QMAKE_LFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_LFLAGS_CONSOLE"];	project->variables()["QMAKE_LFLAGS_WINDOWS_ANY"] = project->variables()["QMAKE_LFLAGS_WINDOWS"];	if ( !project->variables()["QMAKE_APP_FLAG"].isEmpty()) {	    project->variables()["TARGET_EXT"].append(".exe");	} else {	    project->variables()["TARGET_EXT"].append(".lib");	}    }    if ( project->isActiveConfig("windows") ) {	if ( project->isActiveConfig("console") ) {	    project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_CONSOLE_ANY"];	    project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_CONSOLE_ANY"];	    project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_CONSOLE_ANY"];	    project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_CONSOLE"];	} else {	    project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_WINDOWS_ANY"];	}	project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_WINDOWS"];    } else {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_CONSOLE_ANY"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_CONSOLE_ANY"];	project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_CONSOLE_ANY"];	project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_CONSOLE"];    }    if ( project->isActiveConfig("stl") ) {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_STL_ON"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_STL_ON"];    } else {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_STL_OFF"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_STL_OFF"];    }    if ( project->isActiveConfig("exceptions") ) {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_EXCEPTIONS_ON"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_EXCEPTIONS_ON"];    } else {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_EXCEPTIONS_OFF"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_EXCEPTIONS_OFF"];    }    if ( project->isActiveConfig("rtti") ) {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_RTTI_ON"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_RTTI_ON"];    } else {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_RTTI_OFF"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_RTTI_OFF"];    }    if ( project->isActiveConfig("moc") )	setMocAware(TRUE);    project->variables()["QMAKE_LIBS"] += project->variables()["LIBS"];    QStringList &libs = project->variables()["QMAKE_LIBS"];    for ( QStringList::Iterator libit = libs.begin(); libit != libs.end(); ++libit ) {	if (  (*libit).startsWith( "-l" ) ) {	    (*libit) = (*libit).mid( 2 ) + ".lib";	} else if ( (*libit).startsWith( "-L" ) ) {	    project->variables()["QMAKE_LIBDIR"] += (*libit).mid(2);	    libit = libs.remove( libit );	}    }    project->variables()["QMAKE_FILETAGS"] += QStringList::split(' ',	"HEADERS SOURCES DEF_FILE RC_FILE TARGET QMAKE_LIBS DESTDIR DLLDESTDIR INCLUDEPATH");    QStringList &l = project->variables()["QMAKE_FILETAGS"];    for(QStringList::Iterator it = l.begin(); it != l.end(); ++it) {	QStringList &gdmf = project->variables()[(*it)];	for(QStringList::Iterator inner = gdmf.begin(); inner != gdmf.end(); ++inner)	    (*inner) = Option::fixPathToTargetOS((*inner), FALSE);    }    if ( !project->variables()["DEF_FILE"].isEmpty() )	project->variables()["QMAKE_LFLAGS"].append(QString("/DEF:") + project->first("DEF_FILE"));    if(!project->isActiveConfig("incremental"))	project->variables()["QMAKE_LFLAGS"].append(QString("/incremental:no"));    if ( !project->variables()["VERSION"].isEmpty() ) {	QString version = project->variables()["VERSION"][0];	int firstDot = version.find( "." );	QString major = version.left( firstDot );	QString minor = version.right( version.length() - firstDot - 1 );	minor.replace( ".", "" );	project->variables()["QMAKE_LFLAGS"].append( "/VERSION:" + major + "." + minor );    }    if ( !project->variables()["RC_FILE"].isEmpty()) {	if ( !project->variables()["RES_FILE"].isEmpty()) {	    fprintf(stderr, "Both .rc and .res file specified.\n");	    fprintf(stderr, "Please specify one of them, not both.");	    exit(666);	}	project->variables()["RES_FILE"] = project->variables()["RC_FILE"];	project->variables()["RES_FILE"].first().replace(".rc",".res");	project->variables()["POST_TARGETDEPS"] += project->variables()["RES_FILE"];    }    if ( !project->variables()["RES_FILE"].isEmpty())	project->variables()["QMAKE_LIBS"] += project->variables()["RES_FILE"];    MakefileGenerator::init();    if ( !project->variables()["VERSION"].isEmpty()) {	QStringList l = QStringList::split('.', project->first("VERSION"));	project->variables()["VER_MAJ"].append(l[0]);	project->variables()["VER_MIN"].append(l[1]);    }    QString version = QStringList::split('.', project->first("VERSION")).join("");    if(project->isActiveConfig("dll")) {	project->variables()["QMAKE_CLEAN"].append(project->first("DESTDIR") + project->first("TARGET") + version + ".exp");    }    if(project->isActiveConfig("debug")) {	project->variables()["QMAKE_CLEAN"].append(project->first("DESTDIR") + project->first("TARGET") + version + ".pdb");	project->variables()["QMAKE_CLEAN"].append(project->first("DESTDIR") + project->first("TARGET") + version + ".ilk");	project->variables()["QMAKE_CLEAN"].append("vc*.pdb");    }}QStringNmakeMakefileGenerator::defaultInstall(const QString &t){    if(t != "target" || project->first("TEMPLATE") == "subdirs")	return QString();    bool resource = FALSE;    const QString root = "$(INSTALL_ROOT)";    QStringList &uninst = project->variables()[t + ".uninstall"];    QString ret, destdir=project->first("DESTDIR");    QString targetdir = Option::fixPathToTargetOS(project->first("target.path"), FALSE);    if(!destdir.isEmpty() && destdir.right(1) != Option::dir_sep)	destdir += Option::dir_sep;    targetdir = fileFixify(targetdir);    if(targetdir.right(1) != Option::dir_sep)	targetdir += Option::dir_sep;    QStringList links;    QString target="$(INSTALL_TARGET)";    if(project->first("TEMPLATE") == "lib") {	if(project->isActiveConfig("create_libtool") && !project->isActiveConfig("compile_libtool")) {	    QString src_lt = var("QMAKE_ORIG_TARGET");	    int slsh = src_lt.findRev(Option::dir_sep);	    if(slsh != -1)		src_lt = src_lt.right(src_lt.length() - slsh);	    int dot = src_lt.find('.');	    if(dot != -1)		src_lt = src_lt.left(dot);	    src_lt += Option::libtool_ext;	    src_lt.prepend("lib");	    QString dst_lt = root + targetdir + src_lt;	    if(!project->isEmpty("DESTDIR")) {		src_lt.prepend(var("DESTDIR"));		src_lt = Option::fixPathToLocalOS(fileFixify(src_lt,							     QDir::currentDirPath(), Option::output_dir));	    }	    if(!ret.isEmpty())		ret += "\n\t";	    ret += "-$(COPY_FILE) \"" + src_lt + "\" \"" + dst_lt + "\"";	    if(!uninst.isEmpty())		uninst.append("\n\t");	    uninst.append("-$(DEL_FILE) \"" + dst_lt + "\"");	}	if(project->isActiveConfig("create_pc")) {	    QString src_pc = var("QMAKE_ORIG_TARGET");	    int slsh = src_pc.findRev(Option::dir_sep);	    if(slsh != -1)		src_pc = src_pc.right(src_pc.length() - slsh);	    int dot = src_pc.find('.');	    if(dot != -1)		src_pc = src_pc.left(dot);	    src_pc += ".pc";	    QString d = root + targetdir + "pkgconfig" + Option::dir_sep;	    QString dst_pc = d + src_pc;	    if(!project->isEmpty("DESTDIR")) {		src_pc.prepend(var("DESTDIR"));		src_pc = Option::fixPathToLocalOS(fileFixify(src_pc,							     QDir::currentDirPath(), Option::output_dir));	    }	    if(!ret.isEmpty())		ret += "\n\t";	    ret += mkdir_p_asstring(d) + "\n\t";	    ret += "-$(COPY_FILE) \"" + src_pc + "\" \"" + dst_pc + "\"";	    if(!uninst.isEmpty())		uninst.append("\n\t");	    uninst.append("-$(DEL_FILE) \"" + dst_pc + "\"");	}	if ( project->isEmpty("QMAKE_CYGWIN_SHLIB") ) {	    if ( !project->isActiveConfig("staticlib") && !project->isActiveConfig("plugin") ) {		if ( project->isEmpty("QMAKE_HPUX_SHLIB") ) {		    links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)";		} else {		    links << "$(TARGET0)";	        }	    }	}    }    if(!resource && project->isActiveConfig("compile_libtool")) {	QString src_targ = target;	if(src_targ == "$(TARGET)")	    src_targ = "$(TARGETL)";	QString dst_dir = fileFixify(targetdir);	if(QDir::isRelativePath(dst_dir))	    dst_dir = Option::fixPathToTargetOS(Option::output_dir + Option::dir_sep + dst_dir);	ret = "-$(LIBTOOL) --mode=install cp \"" + src_targ + "\" \"" + root + dst_dir + "\"";	uninst.append("-$(LIBTOOL) --mode=uninstall \"" + src_targ + "\"");    } else {	QString src_targ = target;	if(!destdir.isEmpty())	    src_targ = Option::fixPathToTargetOS(destdir + target, FALSE);	QString dst_targ = root + fileFixify(targetdir + target, 					     QDir::currentDirPath(), Option::output_dir);	if(!ret.isEmpty())	    ret += "\n\t";	if(resource)	    ret += "$(DEL_FILE) -r \"" + dst_targ + "\"" + "\n\t";	if(!ret.isEmpty())	    ret += "\n\t";	ret += QString(resource ? "-$(COPY_DIR)" : "-$(COPY_FILE)") + " \"" +	       src_targ + "\" \"" + dst_targ + "\"";	if(!project->isActiveConfig("debug") && !project->isEmpty("QMAKE_STRIP") &&	   (project->first("TEMPLATE") != "lib" || !project->isActiveConfig("staticlib"))) {	    ret += "\n\t-" + var("QMAKE_STRIP");	    if(project->first("TEMPLATE") == "lib" && !project->isEmpty("QMAKE_STRIPFLAGS_LIB"))		ret += " " + var("QMAKE_STRIPFLAGS_LIB");	    else if(project->first("TEMPLATE") == "app" && !project->isEmpty("QMAKE_STRIPFLAGS_APP"))		ret += " " + var("QMAKE_STRIPFLAGS_APP");	    if(resource)		ret = " \"" + dst_targ + "/Contents/MacOS/$(QMAKE_TARGET)\"";	    else		ret += " \"" + dst_targ + "\"";	}	if(!uninst.isEmpty())	    uninst.append("\n\t");	if(resource)	    uninst.append("-$(DEL_FILE) -r \"" + dst_targ + "\"");	else	    uninst.append("-$(DEL_FILE) \"" + dst_targ + "\"");	if(!links.isEmpty()) {	    for(QStringList::Iterator it = links.begin(); it != links.end(); it++) {		if(Option::target_mode == Option::TARG_WIN_MODE ||		   Option::target_mode == Option::TARG_MAC9_MODE) {		} else if(Option::target_mode == Option::TARG_UNIX_MODE ||			  Option::target_mode == Option::TARG_MACX_MODE) {		    QString link = Option::fixPathToTargetOS(destdir + (*it), FALSE);		    int lslash = link.findRev(Option::dir_sep);		    if(lslash != -1)			link = link.right(link.length() - (lslash + 1));		    QString dst_link = root + targetdir + link;		    ret += "\n\t-$(SYMLINK) \"$(TARGET)\" \"" + dst_link + "\"";		    if(!uninst.isEmpty())			uninst.append("\n\t");		    uninst.append("-$(DEL_FILE) \"" + dst_link + "\"");		}	    }	}    }    return ret;}

⌨️ 快捷键说明

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