summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua')
-rw-r--r--3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua262
1 files changed, 0 insertions, 262 deletions
diff --git a/3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua b/3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua
deleted file mode 100644
index fe3b6df8992..00000000000
--- a/3rdparty/genie/src/actions/vstudio/vs2005_csproj.lua
+++ /dev/null
@@ -1,262 +0,0 @@
---
--- vs2005_csproj.lua
--- Generate a Visual Studio 2005/2008 C# project.
--- Copyright (c) 2009-2011 Jason Perkins and the Premake project
---
-
---
--- Set up namespaces
---
-
- premake.vstudio.cs2005 = { }
- local vstudio = premake.vstudio
- local cs2005 = premake.vstudio.cs2005
-
-
---
--- Figure out what elements a particular source code file need in its item
--- block, based on its build action and any related files in the project.
---
-
- local function getelements(prj, action, fname)
-
- if action == "Compile" and fname:endswith(".cs") then
- if fname:endswith(".Designer.cs") then
- -- is there a matching *.cs file?
- local basename = fname:sub(1, -13)
- local testname = basename .. ".cs"
- if premake.findfile(prj, testname) then
- return "Dependency", testname
- end
- -- is there a matching *.resx file?
- testname = basename .. ".resx"
- if premake.findfile(prj, testname) then
- return "AutoGen", testname
- end
- else
- -- is there a *.Designer.cs file?
- local basename = fname:sub(1, -4)
- local testname = basename .. ".Designer.cs"
- if premake.findfile(prj, testname) then
- return "SubTypeForm"
- end
- end
- end
-
- if action == "EmbeddedResource" and fname:endswith(".resx") then
- -- is there a matching *.cs file?
- local basename = fname:sub(1, -6)
- local testname = path.getname(basename .. ".cs")
- if premake.findfile(prj, testname) then
- if premake.findfile(prj, basename .. ".Designer.cs") then
- return "DesignerType", testname
- else
- return "Dependency", testname
- end
- else
- -- is there a matching *.Designer.cs?
- testname = path.getname(basename .. ".Designer.cs")
- if premake.findfile(prj, testname) then
- return "AutoGenerated"
- end
- end
- end
-
- if action == "Content" then
- return "CopyNewest"
- end
-
- return "None"
- end
-
-
---
--- Return the Visual Studio architecture identification string. The logic
--- to select this is getting more complicated in VS2010, but I haven't
--- tackled all the permutations yet.
---
-
- function cs2005.arch(prj)
- return "AnyCPU"
- end
-
-
---
--- Write out the <Files> element.
---
-
- function cs2005.files(prj)
- local tr = premake.project.buildsourcetree(prj)
- premake.tree.traverse(tr, {
- onleaf = function(node)
- local action = premake.dotnet.getbuildaction(node.cfg)
- local fname = path.translate(premake.esc(node.cfg.name), "\\")
- local elements, dependency = getelements(prj, action, node.path)
-
- if elements == "None" then
- _p(' <%s Include="%s" />', action, fname)
- else
- _p(' <%s Include="%s">', action, fname)
- if elements == "AutoGen" then
- _p(' <AutoGen>True</AutoGen>')
- elseif elements == "AutoGenerated" then
- _p(' <SubType>Designer</SubType>')
- _p(' <Generator>ResXFileCodeGenerator</Generator>')
- _p(' <LastGenOutput>%s.Designer.cs</LastGenOutput>', premake.esc(path.getbasename(node.name)))
- elseif elements == "SubTypeDesigner" then
- _p(' <SubType>Designer</SubType>')
- elseif elements == "SubTypeForm" then
- _p(' <SubType>Form</SubType>')
- elseif elements == "PreserveNewest" then
- _p(' <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>')
- end
- if dependency then
- _p(' <DependentUpon>%s</DependentUpon>', path.translate(premake.esc(dependency), "\\"))
- end
- _p(' </%s>', action)
- end
- end
- }, false)
- end
-
-
---
--- Write the opening <Project> element.
---
-
- function cs2005.projectelement(prj)
- local action = premake.action.current()
-
- local toolversion = ''
- if action.vstudio.toolsVersion then
- toolversion = string.format(' ToolsVersion="%s"', action.vstudio.toolsVersion)
- end
-
- if _ACTION > "vs2008" then
- _p('<?xml version="1.0" encoding="utf-8"?>')
- end
- _p('<Project%s DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">', toolversion)
- end
-
-
---
--- Write the opening PropertyGroup, which contains the project-level settings.
---
-
- function cs2005.projectsettings(prj)
- _p(' <PropertyGroup>')
- _p(' <Configuration Condition=" \'$(Configuration)\' == \'\' ">%s</Configuration>', premake.esc(prj.solution.configurations[1]))
- _p(' <Platform Condition=" \'$(Platform)\' == \'\' ">%s</Platform>', cs2005.arch(prj))
-
- local action = premake.action.current()
- if action.vstudio.productVersion then
- _p(' <ProductVersion>%s</ProductVersion>', action.vstudio.productVersion)
- end
-
- if _ACTION < "vs2012" then
- _p(' <SchemaVersion>2.0</SchemaVersion>')
- end
-
- _p(' <ProjectGuid>{%s}</ProjectGuid>', prj.uuid)
- _p(' <OutputType>%s</OutputType>', premake.dotnet.getkind(prj))
- _p(' <AppDesignerFolder>Properties</AppDesignerFolder>')
- _p(' <RootNamespace>%s</RootNamespace>', prj.buildtarget.basename)
- _p(' <AssemblyName>%s</AssemblyName>', prj.buildtarget.basename)
-
- local framework = prj.framework or action.vstudio.targetFramework
- if framework then
- _p(' <TargetFrameworkVersion>v%s</TargetFrameworkVersion>', framework)
- end
-
- if _ACTION == 'vs2010' then
- _p(' <TargetFrameworkProfile></TargetFrameworkProfile>')
- end
-
- if _ACTION >= "vs2010" then
- _p(' <FileAlignment>512</FileAlignment>')
- end
-
- _p(' </PropertyGroup>')
- end
-
-
---
--- Write the PropertyGroup element for a specific configuration block.
---
-
- function cs2005.propertygroup(cfg)
- _p(' <PropertyGroup Condition=" \'$(Configuration)|$(Platform)\' == \'%s|%s\' ">', premake.esc(cfg.name), cs2005.arch(cfg))
- if _ACTION > "vs2008" then
- _p(' <PlatformTarget>%s</PlatformTarget>', cs2005.arch(cfg))
- end
- end
-
-
---
--- The main function: write the project file.
---
-
- function cs2005.generate(prj)
- io.eol = "\r\n"
-
- cs2005.projectelement(prj)
-
- if _ACTION > "vs2010" then
- _p(' <Import Project="$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props" Condition="Exists(\'$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\')" />')
- end
-
- cs2005.projectsettings(prj)
-
- for cfg in premake.eachconfig(prj) do
- cs2005.propertygroup(cfg)
-
- if cfg.flags.Symbols then
- _p(' <DebugSymbols>true</DebugSymbols>')
- _p(' <DebugType>full</DebugType>')
- else
- _p(' <DebugType>pdbonly</DebugType>')
- end
- _p(' <Optimize>%s</Optimize>', iif(cfg.flags.Optimize or cfg.flags.OptimizeSize or cfg.flags.OptimizeSpeed, "true", "false"))
- _p(' <OutputPath>%s</OutputPath>', cfg.buildtarget.directory)
- _p(' <DefineConstants>%s</DefineConstants>', table.concat(premake.esc(cfg.defines), ";"))
- _p(' <ErrorReport>prompt</ErrorReport>')
- _p(' <WarningLevel>4</WarningLevel>')
- if cfg.flags.Unsafe then
- _p(' <AllowUnsafeBlocks>true</AllowUnsafeBlocks>')
- end
- if cfg.flags.FatalWarnings then
- _p(' <TreatWarningsAsErrors>true</TreatWarningsAsErrors>')
- end
- _p(' </PropertyGroup>')
- end
-
- _p(' <ItemGroup>')
- for _, ref in ipairs(premake.getlinks(prj, "siblings", "object")) do
- _p(' <ProjectReference Include="%s">', path.translate(path.getrelative(prj.location, vstudio.projectfile(ref)), "\\"))
- _p(' <Project>{%s}</Project>', ref.uuid)
- _p(' <Name>%s</Name>', premake.esc(ref.name))
- _p(' </ProjectReference>')
- end
- for _, linkname in ipairs(premake.getlinks(prj, "system", "basename")) do
- _p(' <Reference Include="%s" />', premake.esc(linkname))
- end
- _p(' </ItemGroup>')
-
- _p(' <ItemGroup>')
- cs2005.files(prj)
- _p(' </ItemGroup>')
-
- local msbuild = iif(_ACTION < "vs2012", "Bin", "Tools")
- _p(' <Import Project="$(MSBuild%sPath)\\Microsoft.CSharp.targets" />', msbuild)
-
- _p(' <!-- To modify your build process, add your task inside one of the targets below and uncomment it.')
- _p(' Other similar extension points exist, see Microsoft.Common.targets.')
- _p(' <Target Name="BeforeBuild">')
- _p(' </Target>')
- _p(' <Target Name="AfterBuild">')
- _p(' </Target>')
- _p(' -->')
- _p('</Project>')
-
- end
-