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

📄 default.js

📁 这个是一个开发osg的很好的工程建立向导
💻 JS
字号:
// (c) 2001 Microsoft Corporation

function OnFinish(selProj, selObj)
{
	try
	{
		var strProjectPath = wizard.FindSymbol("PROJECT_PATH");
		var strProjectName = wizard.FindSymbol("PROJECT_NAME");

		var bEmptyProject = wizard.FindSymbol("EMPTY_PROJECT");

		selProj = CreateProject(strProjectName, strProjectPath);
		selProj.Object.Keyword = "Win32Proj";

		AddCommonConfig(selProj, strProjectName);
		var strAppType = GetAppType();
		AddSpecificConfig(selProj, strProjectName, bEmptyProject, strAppType);

		SetupFilters(selProj);
		
		if (!bEmptyProject)
		{
			if (IsDBCSCharSet(wizard))
				wizard.AddSymbol("ABOUTBOX_FONT_SIZE", "9"); //VS-supported codedepages that require FontSize 9
			else
				wizard.AddSymbol("ABOUTBOX_FONT_SIZE", "8"); //all the rest and unsupported codepages: Fontsize 8 
			
			var Pch = wizard.FindSymbol("PRE_COMPILED_HEADER");

			if ((strAppType == "LIB" || ((strAppType == "CONSOLE") && 
		                !wizard.FindSymbol("SUPPORT_MFC") && !wizard.FindSymbol("SUPPORT_ATL"))) && !Pch) 
			{
				AddFilesToProjectWithInfFile(selProj, strProjectName);
				SetNoPchSettings(selProj);
			}
			else
			{
				AddFilesToProjectWithInfFile(selProj, strProjectName);
				//SetCommonPchSettings(selProj);	
			}
		}
		
		selProj.Object.Save();
	}
	catch(e)
	{
		if (e.description.length != 0)
			SetErrorInfo(e);
		return e.number
	}
}

function SetFileProperties(projfile, strName)
{
	return false;
}

function GetTargetName(strName, strProjectName, strResPath, strHelpPath)
{
	try
	{
		var strTarget = strName;

		if (strName == "readme.txt")
			strTarget = "ReadMe.txt";
		if (strName == "resource.h")
			strTarget = "Resource.h";

		if (strName == "small.ico")
		{
			strTarget = "small.ico";
		}
		if (strName.substr(0, 4) == "root")
		{
			strTarget = strProjectName + strName.substr(4);

		}
		return strTarget; 
	}
	catch(e)
	{
		throw e;
	}
}

function GetAppType()
{
	try
	{
		var strAppType = "";
		if (wizard.FindSymbol("CONSOLE_APP"))
			strAppType = "CONSOLE";
		else
		{
			if (wizard.FindSymbol("WIN_APP"))
				strAppType = "WIN";
			else
			{
				if (wizard.FindSymbol("DLL_APP"))
					strAppType = "DLL";
				else
				{
					if (wizard.FindSymbol("LIB_APP"))
						strAppType = "LIB";
				}
			}
		}
		return strAppType;
	}
	catch(e)
	{
		throw e;
	}
}

function AddSpecificConfig(proj, strProjectName, bEmptyProject, strAppType)
{
	try
	{
		var bMFC = wizard.FindSymbol("SUPPORT_MFC");
		var bATL = wizard.FindSymbol("SUPPORT_ATL");

		var config = proj.Object.Configurations("Debug");
		config.CharacterSet = charSetMBCS;

		if (strAppType == "LIB")
			config.ConfigurationType = typeStaticLibrary;
		else if (strAppType == "DLL")
			config.ConfigurationType = typeDynamicLibrary;

		var CLTool = config.Tools("VCCLCompilerTool");
		
		// Add for OSG
		CLTool.AdditionalIncludeDirectories = "$(OSGHOME)/include";
		CLTool.RuntimeTypeInfo = true;
		CLTool.RuntimeLibrary = runtimeLibraryOption.rtMultiThreadedDebugDLL; 

		var strDefines = GetPlatformDefine(config);
		strDefines += "_DEBUG";

		switch(strAppType)
		{
			case "CONSOLE":
				strDefines += ";_CONSOLE";
				if (bMFC)
					config.UseOfMFC = useMfcDynamic;
				if (bATL)
					config.UseOfATL = useATLStatic;
				break;
			case "LIB":
				strDefines += ";_LIB";
				if (bMFC)
					config.UseOfMFC = useMfcDynamic;
				break;
			case "DLL":
				strDefines += ";_WINDOWS;_USRDLL;";
				var strExports = wizard.FindSymbol("UPPER_CASE_PROJECT_NAME") + "_EXPORTS";
				strDefines += strExports;
				break;
			case "WIN":
				strDefines += ";_WINDOWS";
				break;
			default:
				break;
		}

		CLTool.PreprocessorDefinitions = strDefines;
		if (bEmptyProject)
			CLTool.UsePrecompiledHeader = pchNone;
		else
			CLTool.UsePrecompiledHeader = pchCreateUsingSpecific;

		CLTool.DebugInformationFormat = debugEditAndContinue;

		if (strAppType == "LIB")
		{
			var LibTool = config.Tools("VCLibrarianTool");
			LibTool.OutputFile = "$(OutDir)/" + strProjectName + ".lib";
			
			// Add for OSG
			LibTool.IgnoreDefaultLibraryNames = "libcmt.lib";
			LibTool.AdditionalLibraryDirectories = "$(OSGHOME)/lib"
			LibTool.AdditionalDependencies= "OpenThreadsd.lib osgd.lib osgDBd.lib osgGAd.lib osgUtild.lib osgViewerd.lib";
		}
		else
		{
			var LinkTool = config.Tools("VCLinkerTool");
			LinkTool.ProgramDatabaseFile = "$(OutDir)/" + strProjectName + ".pdb";
			LinkTool.GenerateDebugInformation = true;
			LinkTool.LinkIncremental = linkIncrementalYes;
			
			// Add for OSG
			LinkTool.IgnoreDefaultLibraryNames = "libcmt.lib";
			LinkTool.AdditionalLibraryDirectories = "$(OSGHOME)/lib"
			LinkTool.AdditionalDependencies= "OpenThreadsd.lib osgd.lib osgDBd.lib osgGAd.lib osgUtild.lib osgViewerd.lib";

			if (strAppType == "DLL" || strAppType == "WIN")
				LinkTool.SubSystem = subSystemWindows;
			else
				LinkTool.SubSystem = subSystemConsole;

			if (strAppType == "DLL")
			{
				LinkTool.ImportLibrary = "$(OutDir)/" + strProjectName + ".lib";
				LinkTool.OutputFile = "$(OutDir)/" + strProjectName + ".dll";
			}
			else
				LinkTool.OutputFile = "$(OutDir)/" + strProjectName + ".exe";
		}

		config = proj.Object.Configurations.Item("Release");
		config.CharacterSet = charSetMBCS;

		if (strAppType == "LIB")
			config.ConfigurationType = typeStaticLibrary;
		else if (strAppType == "DLL")
			config.ConfigurationType = typeDynamicLibrary;

		var CLTool = config.Tools("VCCLCompilerTool");
		
		// Add for OSG
		CLTool.AdditionalIncludeDirectories= "$(OSGHOME)/include";
		CLTool.RuntimeTypeInfo = true;
		CLTool.RuntimeLibrary = runtimeLibraryOption.rtMultiThreadedDLL; 

		var strDefines = GetPlatformDefine(config);
		strDefines += "NDEBUG";
		if (bEmptyProject)
			CLTool.UsePrecompiledHeader = pchNone;
		else
			CLTool.UsePrecompiledHeader = pchCreateUsingSpecific;

		CLTool.DebugInformationFormat = debugEnabled;

		switch(strAppType)
		{
			case "CONSOLE":
				strDefines += ";_CONSOLE";
				if (bMFC)
					config.UseOfMFC = useMfcDynamic;
				if (bATL)
					config.UseOfATL = useATLStatic;
				break;
			case "LIB":
				strDefines += ";_LIB";
				if (bMFC)
					config.UseOfMFC = useMfcDynamic;
				break;
			case "DLL":
				strDefines += ";_WINDOWS;_USRDLL;";
				var strExports = wizard.FindSymbol("UPPER_CASE_PROJECT_NAME") + "_EXPORTS";
				strDefines += strExports;
				break;
			case "WIN":
				strDefines += ";_WINDOWS";
				break;
			default:
				break;
		}

		CLTool.PreprocessorDefinitions = strDefines;

		if (strAppType == "LIB")
		{
			var LibTool = config.Tools("VCLibrarianTool");
			LibTool.OutputFile = "$(OutDir)/" + strProjectName + ".lib";
			
			// Add for OSG
			LibTool.IgnoreDefaultLibraryNames = "libcmt.lib";
			LibTool.AdditionalLibraryDirectories = "$(OSGHOME)/lib"
			LibTool.AdditionalDependencies= "OpenThreads.lib osg.lib osgDB.lib osgGA.lib osgUtil.lib osgViewer.lib";
		}
		else
		{
			var LinkTool = config.Tools("VCLinkerTool");
			LinkTool.GenerateDebugInformation = true;
			LinkTool.LinkIncremental = linkIncrementalNo;
			
			// Add for OSG
			LinkTool.IgnoreDefaultLibraryNames = "libcmt.lib";
			LinkTool.AdditionalLibraryDirectories = "$(OSGHOME)/lib"
			LinkTool.AdditionalDependencies= "OpenThreads.lib osg.lib osgDB.lib osgGA.lib osgUtil.lib osgViewer.lib";

			if (strAppType == "DLL" || strAppType == "WIN")
				LinkTool.SubSystem = subSystemWindows;
			else
				LinkTool.SubSystem = subSystemConsole;

			if (strAppType == "DLL")
			{
				LinkTool.ImportLibrary = "$(OutDir)/" + strProjectName + ".lib";
				LinkTool.OutputFile = "$(OutDir)/" + strProjectName + ".dll";
			}
			else
			{
				LinkTool.OutputFile = "$(OutDir)/" + strProjectName + ".exe";
			}
		}
	}
	catch(e)
	{
		throw e;
	}
}

⌨️ 快捷键说明

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