Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
792509d3
Commit
792509d3
authored
Apr 22, 2014
by
James Zern
Browse files
gen_msvs_vcxproj.sh: support cygwin style paths
Change-Id: I2f05a5d90b3ad6250d31f7b422af4c22527177d1
parent
a757a99c
Changes
1
Hide whitespace changes
Inline
Side-by-side
build/make/gen_msvs_vcxproj.sh
View file @
792509d3
...
...
@@ -14,6 +14,12 @@ self=$0
self_basename
=
${
self
##*/
}
self_dirname
=
$(
dirname
"
$0
"
)
EOL
=
$'
\n
'
if
[
"
$(
uname
-o
2>/dev/null
)
"
=
"Cygwin"
]
\
&&
cygpath
--help
>
/dev/null 2>&1
;
then
FIXPATH
=
'cygpath -m'
else
FIXPATH
=
'echo'
fi
show_help
()
{
cat
<<
EOF
...
...
@@ -55,6 +61,10 @@ die_unknown(){
exit
1
}
fix_path
()
{
$FIXPATH
"
$1
"
}
generate_uuid
()
{
local
hex
=
"0123456789ABCDEF"
local
i
...
...
@@ -154,7 +164,7 @@ generate_filter() {
if
[
"
${
f
##*.
}
"
==
"
$pat
"
]
;
then
unset
file_list[i]
objf
=
$(
echo
${
f
%.*
}
.obj |
sed
-e
's/^[\./]\+//g'
-e
's,
/
,_,g'
)
objf
=
$(
echo
${
f
%.*
}
.obj |
sed
-e
's/^[\./]\+//g'
-e
's,
[:/]
,_,g'
)
if
([
"
$pat
"
==
"asm"
]
||
[
"
$pat
"
==
"s"
])
&&
$asm_use_custom_step
;
then
# Avoid object file name collisions, i.e. vpx_config.c and
...
...
@@ -162,7 +172,7 @@ generate_filter() {
# this additional suffix.
objf
=
${
objf
%.obj
}
_asm.obj
open_tag CustomBuild
\
Include
=
"
.
\\
$f
"
Include
=
"
$f
"
for
plat
in
"
${
platforms
[@]
}
"
;
do
for
cfg
in
Debug Release
;
do
tag_content Message
"Assembling %(Filename)%(Extension)"
\
...
...
@@ -177,7 +187,7 @@ generate_filter() {
elif
[
"
$pat
"
==
"c"
]
||
\
[
"
$pat
"
==
"cc"
]
||
[
"
$pat
"
==
"cpp"
]
;
then
open_tag ClCompile
\
Include
=
"
.
\\
$f
"
Include
=
"
$f
"
# Separate file names with Condition?
tag_content ObjectFileName
"
\$
(IntDir)
$objf
"
# Check for AVX and turn it on to avoid warnings.
...
...
@@ -187,7 +197,7 @@ generate_filter() {
close_tag ClCompile
elif
[
"
$pat
"
==
"h"
]
;
then
tag ClInclude
\
Include
=
"
.
\\
$f
"
Include
=
"
$f
"
elif
[
"
$pat
"
==
"vcxproj"
]
;
then
open_tag ProjectReference
\
Include
=
"
$f
"
...
...
@@ -197,7 +207,7 @@ generate_filter() {
close_tag ProjectReference
else
tag None
\
Include
=
"
.
\\
$f
"
Include
=
"
$f
"
fi
break
...
...
@@ -231,7 +241,7 @@ for opt in "$@"; do
;;
--lib
)
proj_kind
=
"lib"
;;
--src-path-bare
=
*
)
src_path_bare
=
"
$optval
"
--src-path-bare
=
*
)
src_path_bare
=
$(
fix_path
"
$optval
"
)
;;
--static-crt
)
use_static_runtime
=
true
;;
...
...
@@ -248,19 +258,23 @@ for opt in "$@"; do
;;
-I
*
)
opt
=
"
${
opt
%/
}
"
incs
=
"
${
incs
}${
incs
:+
;
}${
opt
##-I
}
"
yasmincs
=
"
${
yasmincs
}
${
opt
}
"
opt
=
${
opt
##-I
}
opt
=
$(
fix_path
"
$opt
"
)
incs
=
"
${
incs
}${
incs
:+
;
}
"
${
opt
}
""
yasmincs
=
"
${
yasmincs
}
-I
${
opt
}
"
;;
-D
*
)
defines
=
"
${
defines
}${
defines
:+
;
}${
opt
##-D
}
"
;;
-L
*
)
# fudge . to $(OutDir)
if
[
"
${
opt
##-L
}
"
==
"."
]
;
then
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}
\$
(OutDir)"
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}
"
\$
(OutDir)
"
"
else
# Also try directories for this platform/configuration
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}${
opt
##-L
}
"
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}${
opt
##-L
}
/
\$
(PlatformName)/
\$
(Configuration)"
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}${
opt
##-L
}
/
\$
(PlatformName)"
opt
=
${
opt
##-L
}
opt
=
$(
fix_path
"
$opt
"
)
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}
"
${
opt
}
""
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}
"
${
opt
}
/
\$
(PlatformName)/
\$
(Configuration)""
libdirs
=
"
${
libdirs
}${
libdirs
:+
;
}
"
${
opt
}
/
\$
(PlatformName)""
fi
;;
-l
*
)
libs
=
"
${
libs
}${
libs
:+
}${
opt
##-l
}
.lib"
...
...
@@ -268,7 +282,7 @@ for opt in "$@"; do
-
*
)
die_unknown
$opt
;;
*
)
file_list[
${#
file_list
[@]
}
]=
"
$opt
"
file_list[
${#
file_list
[@]
}
]=
"
$(
fix_path
$opt
)
"
case
"
$opt
"
in
*
.asm|
*
.s
)
uses_asm
=
true
;;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment