mirror of
https://github.com/InvisibleUp/uvmac.git
synced 2025-01-12 19:29:43 +00:00
2006 lines
51 KiB
OpenEdge ABL
2006 lines
51 KiB
OpenEdge ABL
|
/*
|
||
|
WRMSCFLS.i
|
||
|
Copyright (C) 2007 Paul C. Pratt
|
||
|
|
||
|
You can redistribute this file and/or modify it under the terms
|
||
|
of version 2 of the GNU General Public License as published by
|
||
|
the Free Software Foundation. You should have received a copy
|
||
|
of the license along with this file; see the file COPYING.
|
||
|
|
||
|
This file is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
license for more details.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
WRite Microsoft C specific FiLeS
|
||
|
*/
|
||
|
|
||
|
|
||
|
LOCALPROC WriteMSVCQuotedDefine(char *s)
|
||
|
{
|
||
|
WriteCStrToDestFile(" /D ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(s);
|
||
|
WriteQuoteToDestFile();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteCLexeFlags(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
WriteCStrToDestFile("/nologo");
|
||
|
|
||
|
#if 0
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
/* Optimizations : Minimize Size */
|
||
|
WriteCStrToDestFile(" /O1");
|
||
|
} else
|
||
|
#endif
|
||
|
{
|
||
|
/* Maximize chance of correct compile */
|
||
|
/* Optimizations : Disabled */
|
||
|
WriteCStrToDestFile(" /Od");
|
||
|
}
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(
|
||
|
" /D _WIN32_WCE=420 /D WIN32_PLATFORM_PSPC=400"
|
||
|
" /D UNDER_CE=420");
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(
|
||
|
" /D \"ARM\" /D \"_ARM_\" /D \"ARMV4\"");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(
|
||
|
" /D \"_i386_\" /D \"_X86_\" /D \"x86\" /D \"i_386_\"");
|
||
|
}
|
||
|
} else {
|
||
|
WriteMSVCQuotedDefine("WIN32");
|
||
|
WriteMSVCQuotedDefine("_WINDOWS");
|
||
|
}
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteMSVCQuotedDefine("_DEBUG");
|
||
|
} else {
|
||
|
WriteMSVCQuotedDefine("NDEBUG");
|
||
|
}
|
||
|
if (WinCE) {
|
||
|
WriteMSVCQuotedDefine("UNICODE");
|
||
|
WriteMSVCQuotedDefine("_UNICODE");
|
||
|
} else {
|
||
|
if (ide_vers >= 6000) {
|
||
|
WriteMSVCQuotedDefine("_MBCS");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if ((gbk_dbg_on == gbo_dbg) && (gbk_targ_wx86 == cur_targ)) {
|
||
|
WriteCStrToDestFile(" /Gm"); /* minimal rebuild */
|
||
|
}
|
||
|
|
||
|
/* WriteCStrToDestFile(" /GX"); enable exception handling */
|
||
|
|
||
|
if (WinCE) {
|
||
|
if (gbk_cpufam_x86 == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(" /Gs8192");
|
||
|
/* in the default template. why? */
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
if (ide_vers >= 7000) {
|
||
|
WriteCStrToDestFile(" /RTC1");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /GZ");
|
||
|
}
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /GF"); /* string pooling */
|
||
|
}
|
||
|
|
||
|
if (WinCE) {
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile(" /M$(CECrtMTDebug)");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /MC");
|
||
|
}
|
||
|
}
|
||
|
/*
|
||
|
default template doesn't do this for
|
||
|
x86. why not?
|
||
|
*/
|
||
|
} else {
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
if ((ide_vers >= 8000)
|
||
|
|| (gbk_cpufam_x64 == gbo_cpufam))
|
||
|
{
|
||
|
WriteCStrToDestFile(" /MTd");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /MLd");
|
||
|
}
|
||
|
} else {
|
||
|
if ((ide_vers >= 8000)
|
||
|
|| (gbk_cpufam_x64 == gbo_cpufam))
|
||
|
{
|
||
|
WriteCStrToDestFile(" /MT");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /ML");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#if 0
|
||
|
if (ide_vers < 8000) {
|
||
|
WriteCStrToDestFile(" /GS");
|
||
|
/* became default later */
|
||
|
/*
|
||
|
perhaps instead use /GS- in later versions
|
||
|
maybe this should be an option set in SPBASDEF
|
||
|
*/
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
WriteCStrToDestFile(" /W4");
|
||
|
|
||
|
WriteCStrToDestFile(" /c");
|
||
|
|
||
|
if ((ide_vers >= 7000) && (ide_vers < 9000)) {
|
||
|
/* Detect 64-bit Portability Issues */
|
||
|
WriteCStrToDestFile(" /Wp64");
|
||
|
}
|
||
|
|
||
|
if (ide_vers >= 7000) {
|
||
|
/* and probably earlier, at least back to 6.0 */
|
||
|
/* Enable Function-Level Linking */
|
||
|
WriteCStrToDestFile(" /Gy");
|
||
|
}
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
/* Debug Information Format */
|
||
|
if (WinCE || (gbk_targ_wx64 == cur_targ)) {
|
||
|
WriteCStrToDestFile(" /Zi");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /ZI");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteRCexeFlags(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
|
||
|
WriteCStrToDestFile("/l 0x409 /d ");
|
||
|
WriteQuoteToDestFile();
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile("_DEBUG");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("NDEBUG");
|
||
|
}
|
||
|
WriteQuoteToDestFile();
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(
|
||
|
" /d UNDER_CE=420 /d _WIN32_WCE=420 /d \"UNICODE\""
|
||
|
" /d \"_UNICODE\" /d WIN32_PLATFORM_PSPC=400 /r");
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(
|
||
|
" /d \"ARM\" /d \"_ARM_\" /d \"ARMV4\"");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(
|
||
|
" /d \"_i386_\" /d \"_X86_\" /d \"x86\"");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteFileToMSVCSource(MyProc p)
|
||
|
{
|
||
|
WriteDestFileLn("# Begin Source File");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("SOURCE=");
|
||
|
p();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("# End Source File");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteDocTypeMSVCresource(void)
|
||
|
{
|
||
|
WriteFileToMSVCSource(WriteDocTypeIconFilePath);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCBeginGroup(char *group, char *filter)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# Begin Group ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(group);
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# PROP Default_Filter ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(filter);
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCEndGroup(void)
|
||
|
{
|
||
|
WriteDestFileLn("# End Group");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCdbgLevelName(void)
|
||
|
{
|
||
|
char *s;
|
||
|
|
||
|
switch (gbo_dbg) {
|
||
|
case gbk_dbg_on:
|
||
|
s = "Debug";
|
||
|
break;
|
||
|
case gbk_dbg_test:
|
||
|
s = "Test";
|
||
|
break;
|
||
|
case gbk_dbg_off:
|
||
|
s = "Release";
|
||
|
break;
|
||
|
default:
|
||
|
s = "(unknown Debug Level)";
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
WriteCStrToDestFile(s);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCTargetName00(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
WriteCStrToDestFile("Win32");
|
||
|
if (WinCE) {
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(" (WCE ARMV4)");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" (WCE emulator)");
|
||
|
}
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" (x86)");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCTargetName0(void)
|
||
|
{
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteCStrToDestFile(" - ");
|
||
|
WriteMSVCTargetName00();
|
||
|
WriteSpaceToDestFile();
|
||
|
WriteMSVCdbgLevelName();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCTargetName(void)
|
||
|
{
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteMSVCTargetName0();
|
||
|
WriteQuoteToDestFile();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCMakefileName(void)
|
||
|
{
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteStrAppAbbrev();
|
||
|
if (gbk_targfam_wnce == gbo_targfam) {
|
||
|
WriteCStrToDestFile(".vcn");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(".mak");
|
||
|
}
|
||
|
WriteQuoteToDestFile();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCQuotedProp(char *p, char *s)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# PROP ");
|
||
|
WriteCStrToDestFile(p);
|
||
|
WriteSpaceToDestFile();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(s);
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVCAddFile(void)
|
||
|
{
|
||
|
WriteDestFileLn("# Begin Source File");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("SOURCE=");
|
||
|
WriteSrcFileFilePath();
|
||
|
WriteEndDestFileLn();
|
||
|
#if 0
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
if (fast) {
|
||
|
WriteDestFileLn("# ADD CPP /O2 /Ob2");
|
||
|
}
|
||
|
}
|
||
|
#endif
|
||
|
WriteDestFileLn("# End Source File");
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVCAddHeader(void)
|
||
|
{
|
||
|
if ((DoSrcFile_gd()->Flgm & kCSrcFlgmNoHeader) == 0) {
|
||
|
WriteDestFileLn("# Begin Source File");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("SOURCE=");
|
||
|
WriteSrcFileHeaderPath();
|
||
|
WriteEndDestFileLn();
|
||
|
WriteDestFileLn("# End Source File");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoExtraHeaderMSVCAdd(void)
|
||
|
{
|
||
|
WriteDestFileLn("# Begin Source File");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("SOURCE=");
|
||
|
WriteExtraHeaderFilePath();
|
||
|
WriteEndDestFileLn();
|
||
|
WriteDestFileLn("# End Source File");
|
||
|
}
|
||
|
|
||
|
LOCALFUNC char * MSVCWorkspaceExt(void)
|
||
|
{
|
||
|
return (gbk_targfam_wnce == gbo_targfam)
|
||
|
? ".vcw" : ".dsw";
|
||
|
}
|
||
|
|
||
|
LOCALFUNC char * MSVCProjectExt(void)
|
||
|
{
|
||
|
return (gbk_targfam_wnce == gbo_targfam)
|
||
|
? ".vcp" : ".dsp";
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCWorkSpaceFile(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
if (WinCE) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft eMbedded Visual Tools Workspace File,"
|
||
|
" Format Version 4.00");
|
||
|
} else {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Developer Studio Workspace File,"
|
||
|
" Format Version 6.00");
|
||
|
}
|
||
|
WriteDestFileLn(
|
||
|
"# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn(
|
||
|
"############################################################"
|
||
|
"###################");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("Project: ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile("=.");
|
||
|
WriteBackSlashToDestFile();
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteCStrToDestFile(MSVCProjectExt());
|
||
|
WriteCStrToDestFile(" - Package Owner=<4>");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("Package=<5>");
|
||
|
WriteDestFileLn("{{{");
|
||
|
WriteDestFileLn("}}}");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("Package=<4>");
|
||
|
WriteDestFileLn("{{{");
|
||
|
WriteDestFileLn("}}}");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn(
|
||
|
"############################################################"
|
||
|
"###################");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("Global:");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("Package=<5>");
|
||
|
WriteDestFileLn("{{{");
|
||
|
WriteDestFileLn("}}}");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("Package=<3>");
|
||
|
WriteDestFileLn("{{{");
|
||
|
WriteDestFileLn("}}}");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn(
|
||
|
"############################################################"
|
||
|
"###################");
|
||
|
WriteBlankLineToDestFile();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCProjectFile(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# Microsoft ");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile("eMbedded Visual Tools");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("Developer Studio");
|
||
|
}
|
||
|
WriteCStrToDestFile(" Project File - Name=");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(" - Package Owner=<4>");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
if (WinCE) {
|
||
|
WriteDestFileLn(
|
||
|
"# Microsoft eMbedded Visual Tools Generated Build File,"
|
||
|
" Format Version 6.02");
|
||
|
} else {
|
||
|
WriteDestFileLn(
|
||
|
"# Microsoft Developer Studio Generated Build File,"
|
||
|
" Format Version 6.00");
|
||
|
}
|
||
|
WriteDestFileLn("# ** DO NOT EDIT **");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# TARGTYPE ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteMSVCTargetName00();
|
||
|
WriteCStrToDestFile(" Application");
|
||
|
WriteQuoteToDestFile();
|
||
|
if (WinCE) {
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(" 0xa301");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" 0xa601");
|
||
|
}
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" 0x0101");
|
||
|
}
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("CFG=");
|
||
|
/* WriteAppVariationStr(); */
|
||
|
WriteMSVCTargetName0();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn(
|
||
|
"!MESSAGE This is not a valid makefile."
|
||
|
" To build this project using NMAKE,");
|
||
|
WriteDestFileLn("!MESSAGE use the Export Makefile command and run");
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("!MESSAGE NMAKE /f ");
|
||
|
WriteMSVCMakefileName();
|
||
|
WriteCStrToDestFile(".");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
WriteDestFileLn(
|
||
|
"!MESSAGE You can specify a configuration when running NMAKE");
|
||
|
WriteDestFileLn(
|
||
|
"!MESSAGE by defining the macro CFG on the command line."
|
||
|
" For example:");
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("!MESSAGE NMAKE /f ");
|
||
|
WriteMSVCMakefileName();
|
||
|
WriteCStrToDestFile(" CFG=");
|
||
|
WriteMSVCTargetName();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
WriteDestFileLn("!MESSAGE Possible choices for configuration are:");
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("!MESSAGE ");
|
||
|
WriteMSVCTargetName();
|
||
|
WriteCStrToDestFile(" (based on ");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteMSVCTargetName00();
|
||
|
WriteCStrToDestFile(" Application");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(")");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("!MESSAGE ");
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("# Begin Project");
|
||
|
WriteDestFileLn("# PROP AllowPerConfigDependencies 0");
|
||
|
|
||
|
WriteMSVCQuotedProp("Scc_ProjName", "");
|
||
|
WriteMSVCQuotedProp("Scc_LocalPath", "");
|
||
|
|
||
|
if (WinCE) {
|
||
|
WriteDestFileLn("# PROP ATL_Project 2"); /* not needed ? */
|
||
|
}
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("CPP=");
|
||
|
WriteCompileCExec();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("MTL=midl.exe");
|
||
|
WriteDestFileLn("RSC=rc.exe");
|
||
|
WriteDestFileLn("# PROP BASE Use_MFC 0");
|
||
|
WriteDestFileLn("# PROP BASE Use_Debug_Libraries 1");
|
||
|
|
||
|
WriteMSVCQuotedProp("BASE Output_Dir", "Debug");
|
||
|
WriteMSVCQuotedProp("BASE Intermediate_Dir", "Debug");
|
||
|
WriteMSVCQuotedProp("BASE Target_Dir", "");
|
||
|
|
||
|
WriteDestFileLn("# PROP Use_MFC 0");
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("# PROP Use_Debug_Libraries 1");
|
||
|
} else {
|
||
|
WriteDestFileLn("# PROP Use_Debug_Libraries 0");
|
||
|
}
|
||
|
|
||
|
WriteMSVCQuotedProp("Output_Dir", obj_d_name);
|
||
|
WriteMSVCQuotedProp("Intermediate_Dir", obj_d_name);
|
||
|
|
||
|
WriteDestFileLn("# PROP Ignore_Export_Lib 0");
|
||
|
|
||
|
WriteMSVCQuotedProp("Target_Dir", "");
|
||
|
|
||
|
WriteDestFileLn("# ADD BASE CPP");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# ADD CPP ");
|
||
|
WriteCLexeFlags();
|
||
|
if (! WinCE) {
|
||
|
WriteCStrToDestFile(" /FD");
|
||
|
}
|
||
|
WriteCStrToDestFile(" /I ");
|
||
|
WriteQuoteToDestFile();
|
||
|
Write_cfg_d_ToDestFile();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("# ADD BASE MTL");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# ADD MTL /nologo /D ");
|
||
|
WriteQuoteToDestFile();
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile("_DEBUG");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("NDEBUG");
|
||
|
}
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(" /mktyplib203 /win32");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(" /o \"NUL\"");
|
||
|
}
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("# ADD BASE RSC");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# ADD RSC ");
|
||
|
WriteRCexeFlags();
|
||
|
WriteCStrToDestFile(" /I ");
|
||
|
WriteQuoteToDestFile();
|
||
|
Write_src_d_ToDestFile();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("BSC32=bscmake.exe");
|
||
|
WriteDestFileLn("# ADD BASE BSC32");
|
||
|
WriteDestFileLn("# ADD BSC32 /nologo");
|
||
|
WriteDestFileLn("LINK32=link.exe");
|
||
|
WriteDestFileLn("# ADD BASE LINK32");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# ADD LINK32");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(
|
||
|
" commctrl.lib coredll.lib aygshell.lib Mmtimer.lib");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(
|
||
|
" kernel32.lib user32.lib gdi32.lib"
|
||
|
" winspool.lib comdlg32.lib advapi32.lib shell32.lib"
|
||
|
" ole32.lib oleaut32.lib uuid.lib winmm.lib");
|
||
|
}
|
||
|
WriteCStrToDestFile(" /nologo");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(
|
||
|
" /base:\"0x00010000\" /stack:0x10000,0x1000"
|
||
|
" /entry:\"WinMainCRTStartup\""
|
||
|
" /nodefaultlib:\"$(CENoDefaultLib)\"");
|
||
|
}
|
||
|
|
||
|
WriteCStrToDestFile(" /subsystem:");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile("$(CESubsystem)");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("windows");
|
||
|
}
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile(" /debug");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /incremental:no");
|
||
|
}
|
||
|
WriteCStrToDestFile(" /machine:");
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile("ARM");
|
||
|
} else {
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile("IX86");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("I386"); /* maybe should be IX86 ? */
|
||
|
}
|
||
|
}
|
||
|
|
||
|
WriteCStrToDestFile(" /out:");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteAppNameStr();
|
||
|
WriteQuoteToDestFile();
|
||
|
if (WinCE) {
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile(" /align:\"4096\"");
|
||
|
/* is this really needed ? */
|
||
|
} else {
|
||
|
WriteCStrToDestFile(
|
||
|
" $(CEx86Corelibc) /nodefaultlib:\"OLDNAMES.lib\"");
|
||
|
}
|
||
|
}
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile(" /pdbtype:sept");
|
||
|
}
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteDestFileLn("# Begin Target");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("# Name ");
|
||
|
WriteMSVCTargetName();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteMSVCBeginGroup("Source Files",
|
||
|
"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat");
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVCAddFile);
|
||
|
WriteFileToMSVCSource(WriteMainRsrcSrcPath);
|
||
|
WriteMSVCEndGroup();
|
||
|
|
||
|
WriteMSVCBeginGroup("Header Files", "h;hpp;hxx;hm;inl");
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVCAddHeader);
|
||
|
WriteMSVCEndGroup();
|
||
|
|
||
|
WriteMSVCBeginGroup("Resource Files",
|
||
|
"ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe");
|
||
|
DoAllDocTypesWithSetup(WriteDocTypeMSVCresource);
|
||
|
WriteMSVCEndGroup();
|
||
|
|
||
|
WriteMSVCBeginGroup("Include Files", "h;hpp;hxx;hm;inl");
|
||
|
DoAllExtraHeaders2WithSetup(DoExtraHeaderMSVCAdd);
|
||
|
WriteMSVCEndGroup();
|
||
|
|
||
|
WriteDestFileLn("# End Target");
|
||
|
WriteDestFileLn("# End Project");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCSpecificFiles(void)
|
||
|
{
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, MSVCWorkspaceExt(), "Workspace file",
|
||
|
WriteMSVCWorkSpaceFile);
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, MSVCProjectExt(), "Project file",
|
||
|
WriteMSVCProjectFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteXMLQuotedProp(char *s, MyProc p)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(s);
|
||
|
WriteCStrToDestFile("=");
|
||
|
WriteQuoteToDestFile();
|
||
|
p();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCPlatformName(void)
|
||
|
{
|
||
|
if (gbk_targ_wx64 == cur_targ) {
|
||
|
WriteCStrToDestFile("x64");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("Win32");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLPlatformProps(void)
|
||
|
{
|
||
|
WriteXMLQuotedProp("Name", WriteMSVCPlatformName);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLPlatforms(void)
|
||
|
{
|
||
|
WriteXMLtaglinewithprops("Platform", WriteMSVCXMLPlatformProps);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLConfigurationName(void)
|
||
|
{
|
||
|
WriteMSVCdbgLevelName();
|
||
|
WriteCStrToDestFile("|");
|
||
|
WriteMSVCPlatformName();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLConfigurationProps(void)
|
||
|
{
|
||
|
WriteXMLQuotedProp("Name", WriteMSVCXMLConfigurationName);
|
||
|
WriteXMLQuotedProp("OutputDirectory", Write_obj_d_ToDestFile);
|
||
|
WriteXMLQuotedProp("IntermediateDirectory", Write_obj_d_ToDestFile);
|
||
|
WriteDestFileLn("ConfigurationType=\"1\"");
|
||
|
WriteDestFileLn("CharacterSet=\"2\"");
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteDestFileLn("WholeProgramOptimization=\"0\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCToolConfig(char *s, MyProc p)
|
||
|
{
|
||
|
WriteDestFileLn("<Tool");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("Name=");
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(s);
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteEndDestFileLn();
|
||
|
if (NULL != p) {
|
||
|
p();
|
||
|
}
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("/>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCCompilerToolConfig(void)
|
||
|
{
|
||
|
#if 0
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteDestFileLn("Optimization=\"1\"");
|
||
|
WriteDestFileLn("FavorSizeOrSpeed=\"0\"");
|
||
|
WriteDestFileLn("WholeProgramOptimization=\"false\"");
|
||
|
WriteDestFileLn("OmitFramePointers=\"true\"");
|
||
|
} else
|
||
|
#endif
|
||
|
{
|
||
|
/* Maximize chance of correct compile */
|
||
|
WriteDestFileLn("Optimization=\"0\"");
|
||
|
}
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn(
|
||
|
"PreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS\"");
|
||
|
WriteDestFileLn("MinimalRebuild=\"true\"");
|
||
|
} else {
|
||
|
WriteDestFileLn(
|
||
|
"PreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"");
|
||
|
WriteDestFileLn("StringPooling=\"true\"");
|
||
|
}
|
||
|
|
||
|
WriteXMLQuotedProp("AdditionalIncludeDirectories",
|
||
|
Write_cfg_d_ToDestFile);
|
||
|
|
||
|
WriteDestFileLn("ExceptionHandling=\"0\"");
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("BasicRuntimeChecks=\"3\"");
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn("RuntimeLibrary=\"1\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("RuntimeLibrary=\"5\"");
|
||
|
}
|
||
|
} else {
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn("RuntimeLibrary=\"0\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("RuntimeLibrary=\"4\"");
|
||
|
}
|
||
|
}
|
||
|
if (ide_vers < 8000) {
|
||
|
WriteDestFileLn("BufferSecurityCheck=\"false\"");
|
||
|
/* perhaps later versions also */
|
||
|
/* maybe this should be an option set in SPBASDEF */
|
||
|
}
|
||
|
WriteDestFileLn("EnableFunctionLevelLinking=\"true\"");
|
||
|
WriteDestFileLn("UsePrecompiledHeader=\"0\"");
|
||
|
WriteDestFileLn("WarningLevel=\"4\"");
|
||
|
if (ide_vers < 9000) {
|
||
|
WriteDestFileLn("Detect64BitPortabilityProblems=\"true\"");
|
||
|
}
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("DebugInformationFormat=\"4\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("DebugInformationFormat=\"0\"");
|
||
|
}
|
||
|
WriteDestFileLn("CompileAs=\"0\"");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCResourceCompilerToolConfig(void)
|
||
|
{
|
||
|
WriteXMLQuotedProp("AdditionalIncludeDirectories",
|
||
|
Write_src_d_ToDestFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCLinkerToolConfig(void)
|
||
|
{
|
||
|
WriteDestFileLn("AdditionalDependencies=\"winmm.lib\"");
|
||
|
WriteXMLQuotedProp("OutputFile", WriteAppNamePath);
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("LinkIncremental=\"2\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("LinkIncremental=\"1\"");
|
||
|
}
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn("GenerateManifest=\"false\"");
|
||
|
}
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("GenerateDebugInformation=\"true\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("GenerateDebugInformation=\"false\"");
|
||
|
}
|
||
|
WriteDestFileLn("SubSystem=\"2\"");
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteDestFileLn("OptimizeReferences=\"2\"");
|
||
|
WriteDestFileLn("EnableCOMDATFolding=\"2\"");
|
||
|
}
|
||
|
if (ide_vers >= 9000) {
|
||
|
WriteDestFileLn("RandomizedBaseAddress=\"1\"");
|
||
|
WriteDestFileLn("DataExecutionPrevention=\"0\"");
|
||
|
}
|
||
|
if (gbk_targ_wx64 == cur_targ) {
|
||
|
WriteDestFileLn("TargetMachine=\"17\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("TargetMachine=\"1\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLConfigurationBody(void)
|
||
|
{
|
||
|
WriteMSVCToolConfig("VCPreBuildEventTool", NULL);
|
||
|
WriteMSVCToolConfig("VCCustomBuildTool", NULL);
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteMSVCToolConfig("VCXMLDataGeneratorTool", NULL);
|
||
|
}
|
||
|
WriteMSVCToolConfig("VCWebServiceProxyGeneratorTool", NULL);
|
||
|
WriteMSVCToolConfig("VCMIDLTool", NULL);
|
||
|
WriteMSVCToolConfig("VCCLCompilerTool",
|
||
|
WriteMSVCCompilerToolConfig);
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteMSVCToolConfig("VCManagedResourceCompilerTool", NULL);
|
||
|
}
|
||
|
WriteMSVCToolConfig("VCResourceCompilerTool",
|
||
|
WriteMSVCResourceCompilerToolConfig);
|
||
|
WriteMSVCToolConfig("VCPreLinkEventTool", NULL);
|
||
|
WriteMSVCToolConfig("VCLinkerTool", WriteMSVCLinkerToolConfig);
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteMSVCToolConfig("VCALinkTool", NULL);
|
||
|
WriteMSVCToolConfig("VCManifestTool", NULL);
|
||
|
WriteMSVCToolConfig("VCXDCMakeTool", NULL);
|
||
|
WriteMSVCToolConfig("VCBscMakeTool", NULL);
|
||
|
WriteMSVCToolConfig("VCFxCopTool", NULL);
|
||
|
WriteMSVCToolConfig("VCAppVerifierTool", NULL);
|
||
|
} else if (ide_vers >= 7100) {
|
||
|
WriteMSVCToolConfig("VCManagedWrapperGeneratorTool", NULL);
|
||
|
WriteMSVCToolConfig("VCAuxiliaryManagedWrapperGeneratorTool",
|
||
|
NULL);
|
||
|
}
|
||
|
if (ide_vers < 9000) {
|
||
|
WriteMSVCToolConfig("VCWebDeploymentTool", NULL);
|
||
|
}
|
||
|
WriteMSVCToolConfig("VCPostBuildEventTool", NULL);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLConfigurations(void)
|
||
|
{
|
||
|
WriteXMLtaggedLinesWithProps("Configuration",
|
||
|
WriteMSVCXMLConfigurationProps,
|
||
|
WriteMSVCXMLConfigurationBody);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLSourceFilesProps(void)
|
||
|
{
|
||
|
WriteDestFileLn("Name=\"Source Files\"");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("Filter=\"cpp;c");
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteCStrToDestFile(";cc");
|
||
|
}
|
||
|
WriteCStrToDestFile(";cxx;def;odl;idl;hpj;bat;asm");
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteCStrToDestFile(";asmx");
|
||
|
}
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteDestFileLn(
|
||
|
"UniqueIdentifier=\"{"
|
||
|
"00020000-0000-0000-0000-000000000000}\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoMSVCXMLAddFile(MyProc p)
|
||
|
{
|
||
|
WriteDestFileLn("<File");
|
||
|
++DestFileIndent;
|
||
|
WriteXMLQuotedProp("RelativePath", p);
|
||
|
WriteDestFileLn(">");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</File>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVCXMLAddFile(void)
|
||
|
{
|
||
|
DoMSVCXMLAddFile(WriteSrcFileFilePath);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLSourceFilesBody(void)
|
||
|
{
|
||
|
DoAllSrcFilesWithSetup(DoSrcFileMSVCXMLAddFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLHeaderFilesProps(void)
|
||
|
{
|
||
|
WriteDestFileLn("Name=\"Header Files\"");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("Filter=\"h;hpp;hxx;hm;inl;inc");
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteCStrToDestFile(";xsd");
|
||
|
}
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteDestFileLn(
|
||
|
"UniqueIdentifier=\"{"
|
||
|
"00030000-0000-0000-0000-000000000000}\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVCXMLAddHeader(void)
|
||
|
{
|
||
|
if ((DoSrcFile_gd()->Flgm & kCSrcFlgmNoHeader) == 0) {
|
||
|
DoMSVCXMLAddFile(WriteSrcFileHeaderPath);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLHeaderFilesBody(void)
|
||
|
{
|
||
|
DoAllSrcFilesWithSetup(DoSrcFileMSVCXMLAddHeader);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLResourceFilesProps(void)
|
||
|
{
|
||
|
WriteDestFileLn("Name=\"Resource Files\"");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"Filter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;"
|
||
|
"jpeg;jpe");
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteCStrToDestFile(";resx");
|
||
|
}
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteCStrToDestFile(";tiff;tif;png;wav");
|
||
|
}
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteDestFileLn(
|
||
|
"UniqueIdentifier=\"{"
|
||
|
"00040000-0000-0000-0000-000000000000}\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteDocTypeMSVCXMLresource(void)
|
||
|
{
|
||
|
DoMSVCXMLAddFile(WriteDocTypeIconFilePath);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLResourceFilesBody(void)
|
||
|
{
|
||
|
DoMSVCXMLAddFile(WriteMainRsrcSrcPath);
|
||
|
DoAllDocTypesWithSetup(WriteDocTypeMSVCXMLresource);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLIncludeFilesProps(void)
|
||
|
{
|
||
|
WriteDestFileLn("Name=\"Include Files\"");
|
||
|
WriteDestFileLn("Filter=\"h;hpp;hxx;hm;inl;inc;xsd\"");
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoMSVCXMLAddAddExtraHeader(void)
|
||
|
{
|
||
|
DoMSVCXMLAddFile(WriteExtraHeaderFilePath);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLIncludeFilesBody(void)
|
||
|
{
|
||
|
DoAllExtraHeaders2WithSetup(DoMSVCXMLAddAddExtraHeader);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLFiles(void)
|
||
|
{
|
||
|
WriteXMLtaggedLinesWithProps("Filter",
|
||
|
WriteMSVCXMLSourceFilesProps,
|
||
|
WriteMSVCXMLSourceFilesBody);
|
||
|
WriteXMLtaggedLinesWithProps("Filter",
|
||
|
WriteMSVCXMLHeaderFilesProps,
|
||
|
WriteMSVCXMLHeaderFilesBody);
|
||
|
WriteXMLtaggedLinesWithProps("Filter",
|
||
|
WriteMSVCXMLResourceFilesProps,
|
||
|
WriteMSVCXMLResourceFilesBody);
|
||
|
WriteXMLtaggedLinesWithProps("Filter",
|
||
|
WriteMSVCXMLIncludeFilesProps,
|
||
|
WriteMSVCXMLIncludeFilesBody);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLSolutionFile(void)
|
||
|
{
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn("\357\273\277"); /* UTF-8 byte-order mark */
|
||
|
}
|
||
|
|
||
|
if (ide_vers >= 11000) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 12.00");
|
||
|
if (ide_vers >= 15000) {
|
||
|
WriteDestFileLn("# Visual Studio 15");
|
||
|
} else if (ide_vers >= 14000) {
|
||
|
WriteDestFileLn("# Visual Studio 14");
|
||
|
} else if (ide_vers >= 12000) {
|
||
|
WriteDestFileLn("# Visual Studio 2013");
|
||
|
} else {
|
||
|
WriteDestFileLn("# Visual Studio 2012");
|
||
|
}
|
||
|
} else if (ide_vers >= 10000) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 11.00");
|
||
|
WriteDestFileLn("# Visual Studio 2010");
|
||
|
} else if (ide_vers >= 9000) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 10.00");
|
||
|
/* WriteDestFileLn("# Visual C++ Express 2008"); */
|
||
|
WriteDestFileLn("# Visual Studio 2008");
|
||
|
} else if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 9.00");
|
||
|
/* WriteDestFileLn("# Visual C++ Express 2005"); */
|
||
|
WriteDestFileLn("# Visual Studio 2005");
|
||
|
} else if (ide_vers >= 7100) {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 8.00");
|
||
|
} else {
|
||
|
WriteDestFileLn(
|
||
|
"Microsoft Visual Studio Solution File,"
|
||
|
" Format Version 7.00");
|
||
|
}
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"");
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteCStrToDestFile("\", \"");
|
||
|
WriteStrAppAbbrev();
|
||
|
if (ide_vers >= 10000) {
|
||
|
WriteCStrToDestFile(".vcxproj");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(".vcproj");
|
||
|
}
|
||
|
WriteCStrToDestFile(
|
||
|
"\", \"{00010000-0000-0000-0000-000000000000}\"");
|
||
|
WriteEndDestFileLn();
|
||
|
if ((ide_vers >= 7100) && (ide_vers < 8000)) {
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn(
|
||
|
"ProjectSection(ProjectDependencies)"" = postProject");
|
||
|
WriteDestFileLn("EndProjectSection");
|
||
|
--DestFileIndent;
|
||
|
}
|
||
|
WriteDestFileLn("EndProject");
|
||
|
WriteDestFileLn("Global");
|
||
|
++DestFileIndent;
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(SolutionConfigurationPlatforms)"
|
||
|
" = preSolution");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile(" = ");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteEndDestFileLn();
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(ProjectConfigurationPlatforms)"
|
||
|
" = postSolution");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"{00010000-0000-0000-0000-000000000000}.");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile(".ActiveCfg = ");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteEndDestFileLn();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"{00010000-0000-0000-0000-000000000000}.");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile(".Build.0 = ");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteEndDestFileLn();
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(SolutionProperties) = preSolution");
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("HideSolutionNode = FALSE");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
} else {
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(SolutionConfiguration) = preSolution");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteMSVCdbgLevelName();
|
||
|
} else {
|
||
|
WriteCStrToDestFile("ConfigName.0");
|
||
|
}
|
||
|
WriteCStrToDestFile(" = ");
|
||
|
WriteMSVCdbgLevelName();
|
||
|
WriteEndDestFileLn();
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
if (ide_vers < 7100) {
|
||
|
WriteCStrToDestFile(
|
||
|
"GlobalSection(ProjectDependencies)"
|
||
|
" = postSolution");
|
||
|
WriteCStrToDestFile("EndGlobalSection");
|
||
|
}
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(ProjectConfiguration) = postSolution");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"{00010000-0000-0000-0000-000000000000}.");
|
||
|
WriteMSVCdbgLevelName();
|
||
|
WriteCStrToDestFile(".ActiveCfg = ");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"{00010000-0000-0000-0000-000000000000}.");
|
||
|
WriteMSVCdbgLevelName();
|
||
|
WriteCStrToDestFile(".Build.0 = ");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteEndDestFileLn();
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(ExtensibilityGlobals) = postSolution");
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
WriteDestFileLn(
|
||
|
"GlobalSection(ExtensibilityAddIns) = postSolution");
|
||
|
WriteDestFileLn("EndGlobalSection");
|
||
|
}
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("EndGlobal");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLProjectProps(void)
|
||
|
{
|
||
|
WriteDestFileLn("ProjectType=\"Visual C++\"");
|
||
|
if (ide_vers >= 9000) {
|
||
|
WriteDestFileLn("Version=\"9.00\"");
|
||
|
} else if (ide_vers >= 8000) {
|
||
|
WriteDestFileLn("Version=\"8.00\"");
|
||
|
} else if (ide_vers >= 7100) {
|
||
|
WriteDestFileLn("Version=\"7.10\"");
|
||
|
} else {
|
||
|
WriteDestFileLn("Version=\"7.00\"");
|
||
|
}
|
||
|
WriteXMLQuotedProp("Name", WriteStrAppAbbrev);
|
||
|
WriteDestFileLn(
|
||
|
"ProjectGUID=\"{00010000-0000-0000-0000-000000000000}\"");
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteXMLQuotedProp("RootNamespace", WriteStrAppAbbrev);
|
||
|
}
|
||
|
WriteDestFileLn("Keyword=\"Win32Proj\"");
|
||
|
if (ide_vers >= 9000) {
|
||
|
WriteDestFileLn("TargetFrameworkVersion=\"131072\"");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLProjectBody(void)
|
||
|
{
|
||
|
WriteXMLtaggedLines("Platforms", WriteMSVCXMLPlatforms);
|
||
|
if (ide_vers >= 8000) {
|
||
|
WriteXMLtaggedLines("ToolFiles", NULL);
|
||
|
}
|
||
|
WriteXMLtaggedLines("Configurations", WriteMSVCXMLConfigurations);
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteXMLtaggedLines("References", NULL);
|
||
|
}
|
||
|
WriteXMLtaggedLines("Files", WriteMSVCXMLFiles);
|
||
|
WriteXMLtaggedLines("Globals", NULL);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLProjectFile(void)
|
||
|
{
|
||
|
WriteDestFileLn(
|
||
|
"<?xml version=\"1.0\" encoding=\"Windows-1252\"?>");
|
||
|
WriteXMLtaggedLinesWithProps("VisualStudioProject",
|
||
|
WriteMSVCXMLProjectProps,
|
||
|
WriteMSVCXMLProjectBody);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXMLSpecificFiles(void)
|
||
|
{
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, ".sln", "Solutions file",
|
||
|
WriteMSVCXMLSolutionFile);
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, ".vcproj", "Project file",
|
||
|
WriteMSVCXMLProjectFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileNMakeAddObjFile(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteSrcFileObjPath();
|
||
|
WriteCStrToDestFile("\" \\");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMainRsrcObjMSCbuild(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("rc.exe ");
|
||
|
WriteRCexeFlags();
|
||
|
WriteCStrToDestFile(" /fo\"");
|
||
|
WriteMainRsrcObjPath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteCStrToDestFile(" /i");
|
||
|
WriteQuoteToDestFile();
|
||
|
Write_src_d_ToDestFile();
|
||
|
WriteQuoteToDestFile();
|
||
|
WriteCStrToDestFile(" \"");
|
||
|
WriteMainRsrcSrcPath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteNMakeMakeFile(void)
|
||
|
{
|
||
|
blnr WinCE = (gbk_targfam_wnce == gbo_targfam);
|
||
|
|
||
|
WriteDestFileLn("# make file generated by gryphel build system");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("mk_COptions=");
|
||
|
WriteCLexeFlags();
|
||
|
WriteCStrToDestFile(" /I\"");
|
||
|
Write_cfg_d_ToDestFile();
|
||
|
WriteCStrToDestFile("\\\\\"");
|
||
|
/* yes, a double backslash is what is needed */
|
||
|
WriteCStrToDestFile(" /Fo\"");
|
||
|
Write_obj_d_ToDestFile();
|
||
|
WriteCStrToDestFile("\\\\\"");
|
||
|
WriteCStrToDestFile(" /Fd\"");
|
||
|
Write_obj_d_ToDestFile();
|
||
|
WriteCStrToDestFile("\\\\\"");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("TheDefaultOutput :");
|
||
|
WriteMakeDependFile(WriteAppNamePath);
|
||
|
WriteEndDestFileLn();
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBlankLineToDestFile();
|
||
|
DoAllSrcFilesWithSetup(DoSrcFileMakeCompile);
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("ObjFiles= \\");
|
||
|
++DestFileIndent;
|
||
|
DoAllSrcFilesSortWithSetup(DoSrcFileNMakeAddObjFile);
|
||
|
--DestFileIndent;
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteMakeRule(WriteMainRsrcObjPath,
|
||
|
WriteMainRsrcObjMSCdeps, WriteMainRsrcObjMSCbuild);
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteAppNamePath();
|
||
|
WriteCStrToDestFile("\" : $(ObjFiles) \"");
|
||
|
WriteMainRsrcObjPath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("link.exe @<<");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("/out:\"");
|
||
|
WriteAppNamePath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("/nologo");
|
||
|
if (WinCE) {
|
||
|
WriteCStrToDestFile(" /subsystem:windowsce,4.20");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /subsystem:windows");
|
||
|
}
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteCStrToDestFile(" /debug");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(" /incremental:no");
|
||
|
}
|
||
|
WriteCStrToDestFile(" /opt:ref /opt:icf");
|
||
|
/*
|
||
|
more or less default, but putting this in
|
||
|
makes difference at least in visual studio 2005
|
||
|
*/
|
||
|
WriteEndDestFileLn();
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("/pdb:\"");
|
||
|
Write_obj_d_ToDestFile();
|
||
|
WriteCStrToDestFile("\\");
|
||
|
WriteStrAppAbbrev();
|
||
|
WriteCStrToDestFile(".pdb\"");
|
||
|
WriteCStrToDestFile(" /machine:");
|
||
|
if (gbk_cpufam_arm == gbo_cpufam) {
|
||
|
WriteCStrToDestFile("ARM");
|
||
|
} else if (gbk_cpufam_x64 == gbo_cpufam) {
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteCStrToDestFile("X64");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("AMD64");
|
||
|
}
|
||
|
} else {
|
||
|
if (ide_vers >= 7100) {
|
||
|
WriteCStrToDestFile("X86");
|
||
|
} else {
|
||
|
WriteCStrToDestFile("I386");
|
||
|
}
|
||
|
}
|
||
|
WriteEndDestFileLn();
|
||
|
if (WinCE) {
|
||
|
WriteDestFileLn("/base:\"0x00010000\"");
|
||
|
WriteDestFileLn("/stack:0x10000,0x1000");
|
||
|
WriteDestFileLn("/entry:WinMainCRTStartup");
|
||
|
WriteDestFileLn("/align:4096");
|
||
|
}
|
||
|
if (ide_vers >= 9000) {
|
||
|
WriteDestFileLn("/dynamicbase:no");
|
||
|
/* smaller exe, maybe not as secure */
|
||
|
}
|
||
|
if (WinCE) {
|
||
|
WriteDestFileLn("commctrl.lib");
|
||
|
WriteDestFileLn("coredll.lib");
|
||
|
WriteDestFileLn("aygshell.lib");
|
||
|
WriteDestFileLn("Mmtimer.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:libc.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:libcd.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:libcmt.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:libcmtd.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:msvcrt.lib");
|
||
|
WriteDestFileLn("/nodefaultlib:msvcrtd.lib");
|
||
|
} else {
|
||
|
WriteDestFileLn("winmm.lib");
|
||
|
WriteDestFileLn("kernel32.lib");
|
||
|
WriteDestFileLn("user32.lib");
|
||
|
WriteDestFileLn("gdi32.lib");
|
||
|
WriteDestFileLn("winspool.lib");
|
||
|
WriteDestFileLn("comdlg32.lib");
|
||
|
WriteDestFileLn("advapi32.lib");
|
||
|
WriteDestFileLn("shell32.lib");
|
||
|
WriteDestFileLn("ole32.lib");
|
||
|
WriteDestFileLn("oleaut32.lib");
|
||
|
WriteDestFileLn("uuid.lib");
|
||
|
if ((gbk_cpufam_x64 == gbo_cpufam)
|
||
|
&& (ide_vers >= 7000)
|
||
|
&& (ide_vers < 7100))
|
||
|
{
|
||
|
WriteDestFileLn("bufferoverflowU.lib");
|
||
|
}
|
||
|
}
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteMainRsrcObjPath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
WriteEndDestFileLn();
|
||
|
WriteDestFileLn("$(ObjFiles)");
|
||
|
--DestFileIndent;
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("<<");
|
||
|
WriteBlankLineToDestFile();
|
||
|
|
||
|
|
||
|
WriteBlankLineToDestFile();
|
||
|
WriteDestFileLn("CLEAN :");
|
||
|
++DestFileIndent;
|
||
|
DoAllSrcFilesStandardErase();
|
||
|
WriteRmFile(WriteMainRsrcObjPath);
|
||
|
WriteRmFile(WriteAppNamePath);
|
||
|
--DestFileIndent;
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteNMakeSpecificFiles(void)
|
||
|
{
|
||
|
WriteADstFile1("my_project_d",
|
||
|
"MAKEFILE", "", "Make file",
|
||
|
WriteNMakeMakeFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVC10XMLAddFile(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClCompile Include=\"");
|
||
|
WriteSrcFileFilePath();
|
||
|
WriteCStrToDestFile("\" />");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVC10XMLAddHeaderFile(void)
|
||
|
{
|
||
|
if ((DoSrcFile_gd()->Flgm & kCSrcFlgmNoHeader) == 0) {
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClInclude Include=\"");
|
||
|
WriteSrcFileHeaderPath();
|
||
|
WriteCStrToDestFile("\" />");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoMSVC10XMLAddAddExtraHeader(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClInclude Include=\"");
|
||
|
WriteExtraHeaderFilePath();
|
||
|
WriteCStrToDestFile("\" />");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoMSVC10XMLAddDocType(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<None Include=\"");
|
||
|
WriteDocTypeIconFilePath();
|
||
|
WriteCStrToDestFile("\" />");
|
||
|
WriteEndDestFileLn();
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10OutDir(void)
|
||
|
{
|
||
|
WriteCStrToDestFile(".\\");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10IntDir(void)
|
||
|
{
|
||
|
Write_obj_d_ToDestFile();
|
||
|
WriteCStrToDestFile("\\");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXML10ProjectFile(void)
|
||
|
{
|
||
|
WriteCStrToDestFile("\357\273\277"); /* UTF-8 byte-order mark */
|
||
|
WriteDestFileLn("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile(
|
||
|
"<Project DefaultTargets=\"Build\"");
|
||
|
if (ide_vers >= 15000) {
|
||
|
WriteCStrToDestFile(
|
||
|
" ToolsVersion=\"15.0\"");
|
||
|
} else if (ide_vers >= 14000) {
|
||
|
WriteCStrToDestFile(
|
||
|
" ToolsVersion=\"14.0\"");
|
||
|
} else if (ide_vers >= 12000) {
|
||
|
WriteCStrToDestFile(
|
||
|
" ToolsVersion=\"12.0\"");
|
||
|
} else {
|
||
|
WriteCStrToDestFile(
|
||
|
" ToolsVersion=\"4.0\"");
|
||
|
}
|
||
|
WriteCStrToDestFile(
|
||
|
" xmlns="
|
||
|
"\"http://schemas.microsoft.com/developer/msbuild/2003\">"
|
||
|
);
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<ItemGroup Label=\"ProjectConfigurations\">");
|
||
|
++DestFileIndent;
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ProjectConfiguration Include=\"");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile("\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteXMLtagBeginProcValEndLine("Configuration",
|
||
|
WriteMSVCdbgLevelName);
|
||
|
WriteXMLtagBeginProcValEndLine("Platform",
|
||
|
WriteMSVCPlatformName);
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ProjectConfiguration>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ItemGroup>");
|
||
|
|
||
|
WriteDestFileLn("<PropertyGroup Label=\"Globals\">");
|
||
|
++DestFileIndent;
|
||
|
WriteXMLtagBeginValEndLine("ProjectGuid",
|
||
|
"{00010000-0000-0000-0000-000000000000}");
|
||
|
WriteXMLtagBeginValEndLine("Keyword", "Win32Proj");
|
||
|
WriteXMLtagBeginProcValEndLine("RootNamespace",
|
||
|
WriteStrAppAbbrev);
|
||
|
if (ide_vers >= 15000) {
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"WindowsTargetPlatformVersion", "10.0.14393.0");
|
||
|
}
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</PropertyGroup>");
|
||
|
|
||
|
WriteDestFileLn("<Import Project=\""
|
||
|
"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<PropertyGroup Condition=\""
|
||
|
"'$(Configuration)|$(Platform)'=='");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile("'\" Label=\"Configuration\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteXMLtagBeginValEndLine("ConfigurationType",
|
||
|
"Application");
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteXMLtagBeginValEndLine("WholeProgramOptimization",
|
||
|
"false");
|
||
|
}
|
||
|
if (ide_vers >= 11000) {
|
||
|
if (ide_vers >= 14000) {
|
||
|
WriteXMLtagBeginValEndLine("PlatformToolset",
|
||
|
"v141");
|
||
|
} else if (ide_vers >= 14000) {
|
||
|
WriteXMLtagBeginValEndLine("PlatformToolset",
|
||
|
"v140");
|
||
|
} else if (ide_vers >= 12000) {
|
||
|
WriteXMLtagBeginValEndLine("PlatformToolset",
|
||
|
"v120");
|
||
|
} else {
|
||
|
WriteXMLtagBeginValEndLine("PlatformToolset",
|
||
|
"v110");
|
||
|
}
|
||
|
}
|
||
|
WriteXMLtagBeginValEndLine("CharacterSet", "MultiByte");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</PropertyGroup>");
|
||
|
|
||
|
WriteDestFileLn("<Import Project=\""
|
||
|
"$(VCTargetsPath)\\Microsoft.Cpp.props\" />");
|
||
|
WriteDestFileLn("<ImportGroup Label=\"ExtensionSettings\">");
|
||
|
WriteDestFileLn("</ImportGroup>");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ImportGroup");
|
||
|
WriteCStrToDestFile(" Label=\"PropertySheets\"");
|
||
|
WriteCStrToDestFile(
|
||
|
" Condition=\"'$(Configuration)|$(Platform)'=='");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile("'\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<Import Project=\""
|
||
|
"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\""
|
||
|
" Condition=\"exists('$(UserRootDir)\\"
|
||
|
"Microsoft.Cpp.$(Platform).user.props')\""
|
||
|
" Label=\"LocalAppDataPlatform\" />");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ImportGroup>");
|
||
|
|
||
|
WriteDestFileLn("<PropertyGroup Label=\"UserMacros\" />");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<PropertyGroup");
|
||
|
WriteCStrToDestFile(
|
||
|
" Condition=\"'$(Configuration)|$(Platform)'=='");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile("'\"");
|
||
|
WriteCStrToDestFile(">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteXMLtagBeginProcValEndLine("OutDir", WriteMSVC10OutDir);
|
||
|
WriteXMLtagBeginProcValEndLine("IntDir", WriteMSVC10IntDir);
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteXMLtagBeginValEndLine("LinkIncremental", "true");
|
||
|
} else {
|
||
|
WriteXMLtagBeginValEndLine("LinkIncremental", "false");
|
||
|
}
|
||
|
|
||
|
WriteXMLtagBeginValEndLine("GenerateManifest", "false");
|
||
|
WriteEndXMLtagLine("PropertyGroup");
|
||
|
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ItemDefinitionGroup"
|
||
|
" Condition=\"'$(Configuration)|$(Platform)'=='");
|
||
|
WriteMSVCXMLConfigurationName();
|
||
|
WriteCStrToDestFile("'\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteBeginXMLtagLine("ClCompile");
|
||
|
WriteXMLtagBeginValEndLine("WarningLevel", "Level4");
|
||
|
WriteXMLtagBeginValEndLine("PrecompiledHeader",
|
||
|
"NotUsing");
|
||
|
|
||
|
#if 0
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteXMLtagBeginValEndLine("Optimization",
|
||
|
"MinSpace");
|
||
|
WriteXMLtagBeginValEndLine("FavorSizeOrSpeed",
|
||
|
"Neither");
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"WholeProgramOptimization", "false");
|
||
|
WriteXMLtagBeginValEndLine("OmitFramePointers",
|
||
|
"true");
|
||
|
} else
|
||
|
#endif
|
||
|
{
|
||
|
/* Maximize chance of correct compile */
|
||
|
WriteXMLtagBeginValEndLine("Optimization",
|
||
|
"Disabled");
|
||
|
}
|
||
|
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteDestFileLn("<PreprocessorDefinitions>"
|
||
|
"WIN32;_DEBUG;_WINDOWS;"
|
||
|
"%(PreprocessorDefinitions)"
|
||
|
"</PreprocessorDefinitions>");
|
||
|
if (gbk_targ_wx64 != cur_targ) {
|
||
|
WriteXMLtagBeginValEndLine("MinimalRebuild",
|
||
|
"true");
|
||
|
}
|
||
|
WriteXMLtagBeginValEndLine("BasicRuntimeChecks",
|
||
|
"EnableFastChecks");
|
||
|
WriteXMLtagBeginValEndLine("RuntimeLibrary",
|
||
|
"MultiThreadedDebug");
|
||
|
if (gbk_targ_wx64 == cur_targ) {
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"DebugInformationFormat",
|
||
|
"ProgramDatabase");
|
||
|
} else {
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"DebugInformationFormat",
|
||
|
"EditAndContinue");
|
||
|
}
|
||
|
} else {
|
||
|
WriteDestFileLn("<PreprocessorDefinitions>"
|
||
|
"WIN32;NDEBUG;_WINDOWS;"
|
||
|
"%(PreprocessorDefinitions)"
|
||
|
"</PreprocessorDefinitions>");
|
||
|
WriteXMLtagBeginValEndLine("StringPooling", "true");
|
||
|
WriteXMLtagBeginValEndLine("RuntimeLibrary",
|
||
|
"MultiThreaded");
|
||
|
/*
|
||
|
MultiThreadedDLL makes smaller exe,
|
||
|
maybe more compatibility issues
|
||
|
*/
|
||
|
}
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteXMLtagBegin("AdditionalIncludeDirectories");
|
||
|
Write_cfg_d_ToDestFile();
|
||
|
WriteCStrToDestFile(";%(AdditionalIncludeDirectories)");
|
||
|
WriteXMLtagEnd("AdditionalIncludeDirectories");
|
||
|
WriteEndDestFileLn();
|
||
|
|
||
|
WriteXMLtagBeginValEndLine("FunctionLevelLinking",
|
||
|
"true");
|
||
|
WriteXMLtagBeginValEndLine("ExceptionHandling",
|
||
|
"false");
|
||
|
WriteEndXMLtagLine("ClCompile");
|
||
|
|
||
|
WriteBeginXMLtagLine("ResourceCompile");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteXMLtagBegin("AdditionalIncludeDirectories");
|
||
|
Write_src_d_ToDestFile();
|
||
|
WriteCStrToDestFile(";%(AdditionalIncludeDirectories)");
|
||
|
WriteXMLtagEnd("AdditionalIncludeDirectories");
|
||
|
WriteEndDestFileLn();
|
||
|
WriteEndXMLtagLine("ResourceCompile");
|
||
|
|
||
|
WriteBeginXMLtagLine("Link");
|
||
|
WriteXMLtagBeginValEndLine("SubSystem", "Windows");
|
||
|
if (gbk_dbg_on == gbo_dbg) {
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"GenerateDebugInformation", "true");
|
||
|
} else {
|
||
|
WriteXMLtagBeginValEndLine(
|
||
|
"GenerateDebugInformation", "false");
|
||
|
}
|
||
|
if (gbk_dbg_on != gbo_dbg) {
|
||
|
WriteXMLtagBeginValEndLine("EnableCOMDATFolding",
|
||
|
"true");
|
||
|
WriteXMLtagBeginValEndLine("OptimizeReferences",
|
||
|
"true");
|
||
|
}
|
||
|
WriteDestFileLn("<AdditionalDependencies>"
|
||
|
"winmm.lib;%(AdditionalDependencies)"
|
||
|
"</AdditionalDependencies>");
|
||
|
WriteXMLtagBeginProcValEndLine("OutputFile",
|
||
|
WriteAppNamePath);
|
||
|
WriteXMLtagBeginValEndLine("RandomizedBaseAddress",
|
||
|
"false");
|
||
|
WriteEndXMLtagLine("Link");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ItemDefinitionGroup>");
|
||
|
|
||
|
WriteBeginXMLtagLine("ItemGroup");
|
||
|
DoAllDocTypesWithSetup(DoMSVC10XMLAddDocType);
|
||
|
WriteEndXMLtagLine("ItemGroup");
|
||
|
|
||
|
WriteBeginXMLtagLine("ItemGroup");
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVC10XMLAddHeaderFile);
|
||
|
DoAllExtraHeaders2WithSetup(
|
||
|
DoMSVC10XMLAddAddExtraHeader);
|
||
|
WriteEndXMLtagLine("ItemGroup");
|
||
|
|
||
|
WriteBeginXMLtagLine("ItemGroup");
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVC10XMLAddFile);
|
||
|
WriteEndXMLtagLine("ItemGroup");
|
||
|
|
||
|
WriteBeginXMLtagLine("ItemGroup");
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ResourceCompile Include=\"");
|
||
|
WriteMainRsrcSrcPath();
|
||
|
WriteCStrToDestFile("\" />");
|
||
|
WriteEndDestFileLn();
|
||
|
WriteEndXMLtagLine("ItemGroup");
|
||
|
|
||
|
WriteDestFileLn("<Import Project=\""
|
||
|
"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />");
|
||
|
WriteDestFileLn("<ImportGroup Label=\"ExtensionTargets\">");
|
||
|
WriteDestFileLn("</ImportGroup>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</Project>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVC10XMLAddClCompile(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClCompile Include=\"");
|
||
|
WriteSrcFileFilePath();
|
||
|
WriteCStrToDestFile("\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
|
||
|
WriteDestFileLn("<Filter>Source Files</Filter>");
|
||
|
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ClCompile>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoSrcFileMSVC10XMLAddClInclude(void)
|
||
|
{
|
||
|
if ((DoSrcFile_gd()->Flgm & kCSrcFlgmNoHeader) == 0) {
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClInclude Include=\"");
|
||
|
WriteSrcFileHeaderPath();
|
||
|
WriteCStrToDestFile("\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
|
||
|
WriteDestFileLn("<Filter>Header Files</Filter>");
|
||
|
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ClInclude>");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCALPROC DoExtraHeaderMSVC10XMLAddClInclude(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<ClInclude Include=\"");
|
||
|
WriteExtraHeaderFilePath();
|
||
|
WriteCStrToDestFile("\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
|
||
|
WriteDestFileLn("<Filter>Include Files</Filter>");
|
||
|
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</ClInclude>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteDocTypeMSVC10resource(void)
|
||
|
{
|
||
|
WriteBgnDestFileLn();
|
||
|
WriteCStrToDestFile("<None Include=\"");
|
||
|
WriteDocTypeIconFilePath();
|
||
|
WriteCStrToDestFile("\">");
|
||
|
WriteEndDestFileLn();
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<Filter>Resource Files</Filter>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</None>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersProps(void)
|
||
|
{
|
||
|
WriteCStrToDestFile(" ToolsVersion=\"4.0\" xmlns="
|
||
|
"\"http://schemas.microsoft.com/developer/msbuild/2003\"");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyFilters(void)
|
||
|
{
|
||
|
WriteDestFileLn("<Filter Include=\"Header Files\">");
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<UniqueIdentifier>"
|
||
|
"{00030000-0000-0000-0000-000000000000}"
|
||
|
"</UniqueIdentifier>");
|
||
|
WriteDestFileLn("<Extensions>"
|
||
|
"h;hpp;hxx;hm;inl;inc;xsd"
|
||
|
"</Extensions>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</Filter>");
|
||
|
|
||
|
WriteDestFileLn("<Filter Include=\"Resource Files\">");
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<UniqueIdentifier>"
|
||
|
"{00040000-0000-0000-0000-000000000000}"
|
||
|
"</UniqueIdentifier>");
|
||
|
WriteDestFileLn("<Extensions>"
|
||
|
"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;"
|
||
|
"resx;tiff;tif;png;wav"
|
||
|
"</Extensions>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</Filter>");
|
||
|
|
||
|
WriteDestFileLn("<Filter Include=\"Include Files\">");
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<UniqueIdentifier>"
|
||
|
"{00050000-0000-0000-0000-000000000000}"
|
||
|
"</UniqueIdentifier>");
|
||
|
WriteDestFileLn("<Extensions>"
|
||
|
"h;hpp;hxx;hm;inl;inc;xsd"
|
||
|
"</Extensions>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</Filter>");
|
||
|
|
||
|
WriteDestFileLn("<Filter Include=\"Source Files\">");
|
||
|
++DestFileIndent;
|
||
|
WriteDestFileLn("<UniqueIdentifier>"
|
||
|
"{00020000-0000-0000-0000-000000000000}"
|
||
|
"</UniqueIdentifier>");
|
||
|
WriteDestFileLn("<Extensions>"
|
||
|
"cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||
|
"</Extensions>");
|
||
|
--DestFileIndent;
|
||
|
WriteDestFileLn("</Filter>");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyClCompiles(void)
|
||
|
{
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVC10XMLAddClCompile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyClIncludes(void)
|
||
|
{
|
||
|
DoAllSrcFilesWithSetup(
|
||
|
DoSrcFileMSVC10XMLAddClInclude);
|
||
|
DoAllExtraHeaders2WithSetup(
|
||
|
DoExtraHeaderMSVC10XMLAddClInclude);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyResourceCompileProp(void)
|
||
|
{
|
||
|
WriteCStrToDestFile(" Include=\"");
|
||
|
WriteMainRsrcSrcPath();
|
||
|
WriteCStrToDestFile("\"");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyResourceCompileBody(void)
|
||
|
{
|
||
|
WriteXMLtagBeginValEndLine("Filter", "Resource Files");
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyResourceCompiles(void)
|
||
|
{
|
||
|
WriteXMLtaggedLinesWith1LnProps("ResourceCompile",
|
||
|
WriteMSVC10XMLProjectFiltersBodyResourceCompileProp,
|
||
|
WriteMSVC10XMLProjectFiltersBodyResourceCompileBody);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBodyResourceFiles(void)
|
||
|
{
|
||
|
DoAllDocTypesWithSetup(WriteDocTypeMSVC10resource);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersItemGroup(MyProc p)
|
||
|
{
|
||
|
WriteXMLtaggedLines("ItemGroup", p);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVC10XMLProjectFiltersBody(void)
|
||
|
{
|
||
|
WriteMSVC10XMLProjectFiltersItemGroup(
|
||
|
WriteMSVC10XMLProjectFiltersBodyFilters);
|
||
|
WriteMSVC10XMLProjectFiltersItemGroup(
|
||
|
WriteMSVC10XMLProjectFiltersBodyClCompiles);
|
||
|
WriteMSVC10XMLProjectFiltersItemGroup(
|
||
|
WriteMSVC10XMLProjectFiltersBodyClIncludes);
|
||
|
WriteMSVC10XMLProjectFiltersItemGroup(
|
||
|
WriteMSVC10XMLProjectFiltersBodyResourceCompiles);
|
||
|
WriteMSVC10XMLProjectFiltersItemGroup(
|
||
|
WriteMSVC10XMLProjectFiltersBodyResourceFiles);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXML10ProjectFiltersFile(void)
|
||
|
{
|
||
|
WriteCStrToDestFile("\357\273\277"); /* UTF-8 byte-order mark */
|
||
|
WriteDestFileLn("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
|
||
|
WriteXMLtaggedLinesWith1LnProps("Project",
|
||
|
WriteMSVC10XMLProjectFiltersProps,
|
||
|
WriteMSVC10XMLProjectFiltersBody);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMSVCXML10SpecificFiles(void)
|
||
|
{
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, ".sln", "Solutions file",
|
||
|
WriteMSVCXMLSolutionFile);
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, ".vcxproj", "Project file",
|
||
|
WriteMSVCXML10ProjectFile);
|
||
|
WriteADstFile1("my_project_d",
|
||
|
vStrAppAbbrev, ".vcxproj.filters", "Project Filters file",
|
||
|
WriteMSVCXML10ProjectFiltersFile);
|
||
|
}
|
||
|
|
||
|
LOCALPROC WriteMsvSpecificFiles(void)
|
||
|
{
|
||
|
if (UseCmndLine) {
|
||
|
WriteNMakeSpecificFiles();
|
||
|
} else {
|
||
|
if (ide_vers >= 10000) {
|
||
|
WriteMSVCXML10SpecificFiles();
|
||
|
} else if (ide_vers >= 7000) {
|
||
|
WriteMSVCXMLSpecificFiles();
|
||
|
} else {
|
||
|
WriteMSVCSpecificFiles();
|
||
|
}
|
||
|
}
|
||
|
}
|