changed path seperators to window specific \\

This commit is contained in:
LiamDevine 2010-06-16 00:35:41 +01:00
parent 70a93c68bc
commit b27b21ce82
3 changed files with 68 additions and 61 deletions

View File

@ -364,6 +364,7 @@ premake.vstudio.vcxproj = { }
end
end
--also translates file paths from '/' to '\\'
function sort_input_files(files,sorted_container)
local types =
{
@ -377,13 +378,14 @@ premake.vstudio.vcxproj = { }
}
for _, current_file in ipairs(files) do
local ext = get_file_extension(current_file)
local translated_path = path.translate(current_file, '\\')
local ext = get_file_extension(translated_path)
if ext then
local type = types[ext]
if type then
table.insert(sorted_container[type],current_file)
table.insert(sorted_container[type],translated_path)
else
table.insert(sorted_container.None,current_file)
table.insert(sorted_container.None,translated_path)
end
end
end
@ -400,7 +402,7 @@ premake.vstudio.vcxproj = { }
if #files > 0 then
_p(1,'<ItemGroup>')
for _, current_file in ipairs(files) do
_p(2,'<%s Include=\"%s\" />', group_type,path.translate(current_file, "\\"))
_p(2,'<%s Include=\"%s\" />', group_type,current_file)
end
_p(1,'</ItemGroup>')
end

View File

@ -2,14 +2,14 @@
local vs10_filters = T.vs2010_filters
function remove_relative_path(file)
file = file:gsub("%.%./",'')
file = file:gsub("%./",'')
file = file:gsub("%.%.\\",'')
file = file:gsub("%.\\",'')
return file
end
function file_path(file)
file = remove_relative_path(file)
local path = string.find(file,'/[%w%.%_%-]+$')
local path = string.find(file,'\\[%w%.%_%-]+$')
if path then
return string.sub(file,1,path-1)
else
@ -20,11 +20,11 @@
function list_of_directories_in_path(path)
local list={}
if path then
for dir in string.gmatch(path,"[%w%-%_]+/")do
for dir in string.gmatch(path,"[%w%-%_]+\\")do
if #list == 0 then
list[1] = dir:sub(1,#dir-1)
else
list[#list +1] = list[#list] .."/" ..dir:sub(1,#dir-1)
list[#list +1] = list[#list] .."\\" ..dir:sub(1,#dir-1)
end
end
end
@ -90,43 +90,43 @@
function vs10_filters.path_hasOneDirectoryPath_returnsIsFoo()
local path = "foo"
local result = file_path(path .."/foo.h")
local result = file_path(path .."\\foo.h")
test.isequal(path,result)
end
function vs10_filters.path_hasTwoDirectoryPath_returnsIsFooSlashBar()
local path = "foo/bar"
local result = file_path(path .."/foo.h")
local path = "foo\\bar"
local result = file_path(path .."\\foo.h")
test.isequal(path,result)
end
function vs10_filters.path_hasTwoDirectoryPath_returnsIsFooSlashBar_Baz()
local path = "foo/bar_baz"
local result = file_path(path .."/foo.h")
local path = "foo\\bar_baz"
local result = file_path(path .."\\foo.h")
test.isequal(path,result)
end
function vs10_filters.path_extensionWithHyphen_returnsIsFoo()
local path = "foo"
local result = file_path(path .."/foo-bar.h")
local result = file_path(path .."\\foo-bar.h")
test.isequal(path,result)
end
function vs10_filters.path_extensionWithNumber_returnsIs2Foo()
local path = "foo"
local result = file_path(path .."/2foo.h")
local result = file_path(path .."\\2foo.h")
test.isequal(path,result)
end
function vs10_filters.path_hasThreeDirectoryPath_returnsIsFooSlashBarSlashBaz()
local path = "foo/bar/baz"
local result = file_path(path .."/foo.h")
local path = "foo\\bar\\baz"
local result = file_path(path .."\\foo.h")
test.isequal(path,result)
end
function vs10_filters.path_hasDotDotSlashDirectoryPath_returnsNil()
local path = ".."
local result = file_path(path .."/foo.h")
local result = file_path(path .."\\foo.h")
test.isequal(nil,result)
end
@ -137,19 +137,19 @@
end
function vs10_filters.removeRelativePath_dotDotSlashFoo_returnsFoo()
local path = "../foo"
local path = "..\\foo"
local result = remove_relative_path(path)
test.isequal("foo",result)
end
function vs10_filters.removeRelativePath_dotDotSlashDotDotSlashFoo_returnsFoo()
local path = "../../foo"
local path = "..\\..\\foo"
local result = remove_relative_path(path)
test.isequal("foo",result)
end
function vs10_filters.removeRelativePath_DotSlashFoo_returnsFoo()
local path = "./foo"
local path = ".\\foo"
local result = remove_relative_path(path)
test.isequal("foo",result)
end
@ -160,23 +160,23 @@
end
function vs10_filters.listOfDirectories_oneDirectory_returnsSizeIsOne()
local result = list_of_directories_in_path("foo/bar.h")
local result = list_of_directories_in_path("foo\\bar.h")
test.isequal(1,#result)
end
function vs10_filters.listOfDirectories_oneDirectory_returnsContainsFoo()
local result = list_of_directories_in_path("foo/bar.h")
local result = list_of_directories_in_path("foo\\bar.h")
test.contains(result,"foo")
end
function vs10_filters.listOfDirectories_twoDirectories_returnsSizeIsTwo()
local result = list_of_directories_in_path("foo/bar/bar.h")
local result = list_of_directories_in_path("foo\\bar\\bar.h")
test.isequal(2,#result)
end
function vs10_filters.listOfDirectories_twoDirectories_secondEntryIsFooSlashBar()
local result = list_of_directories_in_path("foo/bar/bar.h")
test.isequal("foo/bar",result[2])
local result = list_of_directories_in_path("foo\\bar\\bar.h")
test.isequal("foo\\bar",result[2])
end
function vs10_filters.tableOfFilters_emptyTable_returnsEmptyTable()
@ -197,7 +197,7 @@
function vs10_filters.tableOfFilters_tableHasOneDirectory_returnSizeIsOne()
t =
{
'bar/foo.h'
'bar\\foo.h'
}
local result = table_of_filters(t)
test.isequal(1,#result)
@ -205,8 +205,8 @@
function vs10_filters.tableOfFilters_tableHasTwoDirectories_returnSizeIsOne()
t =
{
'bar/foo.h',
'baz/foo.h'
'bar\\foo.h',
'baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal(2,#result)
@ -214,8 +214,8 @@
function vs10_filters.tableOfFilters_tableHasTwoDirectories_firstEntryIsBar()
t =
{
'bar/foo.h',
'baz/foo.h'
'bar\\foo.h',
'baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal("bar",result[1])
@ -223,8 +223,8 @@
function vs10_filters.tableOfFilters_tableHasTwoDirectories_secondEntryIsBaz()
t =
{
'bar/foo.h',
'baz/foo.h'
'bar\\foo.h',
'baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal("baz",result[2])
@ -233,8 +233,8 @@
function vs10_filters.tableOfFilters_tableHasTwoSameDirectories_returnSizeIsOne()
t =
{
'bar/foo.h',
'bar/baz.h'
'bar\\foo.h',
'bar\\baz.h'
}
local result = table_of_filters(t)
test.isequal(1,#result)
@ -243,7 +243,7 @@
function vs10_filters.tableOfFilters_tableEntryHasTwoDirectories_returnSizeIsTwo()
t =
{
'bar/baz/foo.h'
'bar\\baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal(2,#result)
@ -252,7 +252,7 @@
function vs10_filters.tableOfFilters_tableEntryHasTwoDirectories_firstEntryIsBarSlashBar()
t =
{
'bar/baz/foo.h'
'bar\\baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal('bar',result[1])
@ -261,18 +261,18 @@
function vs10_filters.tableOfFilters_tableEntryHasTwoDirectories_secondEntryIsBarSlashBaz()
t =
{
'bar/baz/foo.h'
'bar\\baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal('bar/baz',result[2])
test.isequal('bar\\baz',result[2])
end
function vs10_filters.tableOfFilters_tableEntryHasTwoDirectoriesSecondDirisAlsoInNextEntry_returnSizeIsThree()
t =
{
'bar/baz/foo.h',
'baz/foo.h'
'bar\\baz\\foo.h',
'baz\\foo.h'
}
local result = table_of_filters(t)
test.isequal(3,#result)
@ -281,9 +281,9 @@
function vs10_filters.tableOfFileFilters_returnSizeIsTwo()
local t =
{
foo = {'foo/bar.h'},
bar = {'foo/bar.h'},
baz = {'baz/bar.h'}
foo = {'foo\\bar.h'},
bar = {'foo\\bar.h'},
baz = {'baz\\bar.h'}
}
local result = table_of_file_filters(t)
test.isequal(2,#result)
@ -292,9 +292,9 @@
function vs10_filters.tableOfFileFilters_returnContainsFoo()
local t =
{
foo = {'foo/bar.h'},
bar = {'foo/bar.h'},
baz = {'baz/bar.h'}
foo = {'foo\\bar.h'},
bar = {'foo\\bar.h'},
baz = {'baz\\bar.h'}
}
local result = table_of_file_filters(t)
--order is not defined
@ -304,9 +304,9 @@
function vs10_filters.tableOfFileFilters_returnContainsBaz()
local t =
{
foo = {'foo/bar.h'},
bar = {'foo/bar.h'},
baz = {'baz/bar.h'}
foo = {'foo\\bar.h'},
bar = {'foo\\bar.h'},
baz = {'baz\\bar.h'}
}
local result = table_of_file_filters(t)
--order is not defined
@ -316,10 +316,10 @@
function vs10_filters.tableOfFileFilters_returnSizeIsFour()
local t =
{
foo = {'foo/bar.h'},
bar = {'foo/bar/bar.h'},
baz = {'bar/bar.h'},
bazz = {'bar/foo/bar.h'}
foo = {'foo\\bar.h'},
bar = {'foo\\bar\\bar.h'},
baz = {'bar\\bar.h'},
bazz = {'bar\\foo\\bar.h'}
}
local result = table_of_file_filters(t)
--order is not defined
@ -329,7 +329,7 @@
function vs10_filters.tableOfFileFilters_tableHasSubTableWithTwoEntries_returnSizeIsTwo()
local t =
{
foo = {'foo/bar.h','foo/bar/bar.h'}
foo = {'foo\\bar.h','foo\\bar\\bar.h'}
}
local result = table_of_file_filters(t)
--order is not defined
@ -359,7 +359,7 @@
function vs10_filters.oneInputFileWithDirectory_bufferContainsTagFilter()
files
{
"dontCare/dontCare.h"
"dontCare\\dontCare.h"
}
local buffer = get_buffer()
test.string_contains(buffer,"<Filter")
@ -368,7 +368,7 @@
function vs10_filters.oneInputFileWithDirectory_bufferContainsTagFilterInsideItemGroupTag()
files
{
"dontCare/dontCare.h"
"dontCare\\dontCare.h"
}
local buffer = get_buffer()
test.string_contains(buffer,"<ItemGroup>*.*<Filter*.*</Filter>*.*</ItemGroup>")
@ -377,7 +377,7 @@
function vs10_filters.oneInputFileWithDirectory_bufferContainsTagFilterWithIncludeSetToFoo()
files
{
"foo/dontCare.h"
"foo\\dontCare.h"
}
local buffer = get_buffer()
test.string_contains(buffer,'<Filter Include="foo">')
@ -418,4 +418,5 @@
local buffer = get_buffer()
test.string_contains(buffer,'<None')
end

View File

@ -9,14 +9,18 @@ Prevent the generation of an import library for a Windows DLL.
_p(4,'ImportLibrary="%s"', iif(cfg.flags.NoImportLib, cfg.objectsdir .. "\\" .. path.getname(implibname), implibname))
end
add Link section to vcxproj -done
add LinkIncremental support if no optimization and and exe?if cfg.kind ~= "StaticLib" then
add ImportGroup section - which section?????
add X.vcxproj.filters -done mostly just need to convert to ms irectory slash '\\'
support C
support Managed C++
support C#
find out why a unit test is failing
fails at the following test_os line 16
function suite.findlib_FindSystemLib()
local libname = iif(os.is("windows"), "user32", "m")
test.istrue(os.findlib(libname))
end
No64BitChecks is removed after being deprciated in previous releases