Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Perkins <starkos@industriousone.com>2012-01-10 00:35:28 +0400
committerJason Perkins <starkos@industriousone.com>2012-01-10 00:35:28 +0400
commit06c55cc5f13a437ff9d70e8c79651081bf385b06 (patch)
tree52256c2afacab907e726e44b5f0869534c6d8f2a
parentb5b2fc35ca7e0f78c2888216717ff5f4387977b5 (diff)
Bug 3413866: Incorrect VS200x .csproj relative source paths
-rw-r--r--CHANGES.txt1
-rw-r--r--src/actions/vstudio/vs2002_csproj.lua2
-rw-r--r--src/actions/vstudio/vs2005_csproj.lua2
-rwxr-xr-xtests/actions/vstudio/cs2002/test_files.lua (renamed from tests/actions/vstudio/cs2002/files.lua)23
-rwxr-xr-xtests/actions/vstudio/cs2005/test_files.lua (renamed from tests/actions/vstudio/cs2005/files.lua)18
-rw-r--r--tests/premake4.lua4
6 files changed, 42 insertions, 8 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index db18f71..0c30308 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -51,6 +51,7 @@
* Patch 3430158: Reorder LINKCMD for Gmake (rjmyst3)
* Patch 3451212: Fix Visual Studio MFC with StaticRuntime
* Patch 3463020: Add windres environment variable for makefiles (icebreaker)
+* Bug 3413866: Incorrect VS200x .csproj relative source paths
-------
diff --git a/src/actions/vstudio/vs2002_csproj.lua b/src/actions/vstudio/vs2002_csproj.lua
index 41c76a6..a4ee47f 100644
--- a/src/actions/vstudio/vs2002_csproj.lua
+++ b/src/actions/vstudio/vs2002_csproj.lua
@@ -42,7 +42,7 @@
premake.tree.traverse(tr, {
onleaf = function(node)
local action = premake.dotnet.getbuildaction(node.cfg)
- local fname = path.translate(premake.esc(node.path), "\\")
+ local fname = path.translate(premake.esc(node.cfg.name), "\\")
local elements, dependency = getelements(prj, action, node.path)
_p(4,'<File')
diff --git a/src/actions/vstudio/vs2005_csproj.lua b/src/actions/vstudio/vs2005_csproj.lua
index 99c390f..c5ec9b5 100644
--- a/src/actions/vstudio/vs2005_csproj.lua
+++ b/src/actions/vstudio/vs2005_csproj.lua
@@ -90,7 +90,7 @@
premake.tree.traverse(tr, {
onleaf = function(node)
local action = premake.dotnet.getbuildaction(node.cfg)
- local fname = path.translate(premake.esc(node.path), "\\")
+ local fname = path.translate(premake.esc(node.cfg.name), "\\")
local elements, dependency = getelements(prj, action, node.path)
if elements == "None" then
diff --git a/tests/actions/vstudio/cs2002/files.lua b/tests/actions/vstudio/cs2002/test_files.lua
index 0d97b0a..4a62e63 100755
--- a/tests/actions/vstudio/cs2002/files.lua
+++ b/tests/actions/vstudio/cs2002/test_files.lua
@@ -1,7 +1,7 @@
--
--- tests/actions/vstudio/cs2002/files.lua
+-- tests/actions/vstudio/cs2002/test_files.lua
-- Validate generation of <Files/> block in Visual Studio 2002 .csproj
--- Copyright (c) 2009-2011 Jason Perkins and the Premake project
+-- Copyright (c) 2009-2012 Jason Perkins and the Premake project
--
T.vstudio_cs2002_files = { }
@@ -57,6 +57,25 @@
--
+-- The relative path to the file is correct for files that live outside
+-- the project's folder.
+--
+
+ function suite.filesUseRelativePath_onOutOfTreePath()
+ files { "../Src/Hello.cs" }
+ prepare()
+ test.capture [[
+ <File
+ RelPath = "..\Src\Hello.cs"
+ BuildAction = "Compile"
+ SubType = "Code"
+ />
+ ]]
+ end
+
+
+
+--
-- Test file dependencies
--
diff --git a/tests/actions/vstudio/cs2005/files.lua b/tests/actions/vstudio/cs2005/test_files.lua
index 05d5c79..01e7f44 100755
--- a/tests/actions/vstudio/cs2005/files.lua
+++ b/tests/actions/vstudio/cs2005/test_files.lua
@@ -1,7 +1,7 @@
--
--- tests/actions/vstudio/cs2005/files.lua
+-- tests/actions/vstudio/cs2005/test_files.lua
-- Validate generation of <Files/> block in Visual Studio 2005 .csproj
--- Copyright (c) 2009-2011 Jason Perkins and the Premake project
+-- Copyright (c) 2009-2012 Jason Perkins and the Premake project
--
T.vstudio_cs2005_files = { }
@@ -49,6 +49,20 @@
--
+-- The relative path to the file is correct for files that live outside
+-- the project's folder.
+--
+
+ function suite.filesUseRelativePath_onOutOfTreePath()
+ files { "../Src/Hello.cs" }
+ prepare()
+ test.capture [[
+ <Compile Include="..\Src\Hello.cs" />
+ ]]
+ end
+
+
+--
-- Test file dependencies
--
diff --git a/tests/premake4.lua b/tests/premake4.lua
index ca4ecff..f5a7a30 100644
--- a/tests/premake4.lua
+++ b/tests/premake4.lua
@@ -78,10 +78,10 @@
dofile("actions/vstudio/test_vs2010_project_kinds.lua")
-- Visual Studio 2002-2003 C# projects
- dofile("actions/vstudio/cs2002/files.lua")
+ dofile("actions/vstudio/cs2002/test_files.lua")
-- Visual Studio 2005-2010 C# projects
- dofile("actions/vstudio/cs2005/files.lua")
+ dofile("actions/vstudio/cs2005/test_files.lua")
dofile("actions/vstudio/cs2005/projectelement.lua")
dofile("actions/vstudio/cs2005/projectsettings.lua")
dofile("actions/vstudio/cs2005/propertygroup.lua")