OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 ## | 2 ## |
3 ## Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 3 ## Copyright (c) 2013 The WebM project authors. All Rights Reserved. |
4 ## | 4 ## |
5 ## Use of this source code is governed by a BSD-style license | 5 ## Use of this source code is governed by a BSD-style license |
6 ## that can be found in the LICENSE file in the root of the source | 6 ## that can be found in the LICENSE file in the root of the source |
7 ## tree. An additional intellectual property rights grant can be found | 7 ## tree. An additional intellectual property rights grant can be found |
8 ## in the file PATENTS. All contributing project authors may | 8 ## in the file PATENTS. All contributing project authors may |
9 ## be found in the AUTHORS file in the root of the source tree. | 9 ## be found in the AUTHORS file in the root of the source tree. |
10 ## | 10 ## |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 This script generates a Visual Studio project file from a list of source | 22 This script generates a Visual Studio project file from a list of source |
23 code files. | 23 code files. |
24 | 24 |
25 Options: | 25 Options: |
26 --help Print this message | 26 --help Print this message |
27 --exe Generate a project for building an Application | 27 --exe Generate a project for building an Application |
28 --lib Generate a project for creating a static library | 28 --lib Generate a project for creating a static library |
29 --dll Generate a project for creating a dll | 29 --dll Generate a project for creating a dll |
30 --static-crt Use the static C runtime (/MT) | 30 --static-crt Use the static C runtime (/MT) |
| 31 --enable-werror Treat warnings as errors (/WX) |
31 --target=isa-os-cc Target specifier (required) | 32 --target=isa-os-cc Target specifier (required) |
32 --out=filename Write output to a file [stdout] | 33 --out=filename Write output to a file [stdout] |
33 --name=project_name Name of the project (required) | 34 --name=project_name Name of the project (required) |
34 --proj-guid=GUID GUID to use for the project | 35 --proj-guid=GUID GUID to use for the project |
35 --module-def=filename File containing export definitions (for DLLs) | 36 --module-def=filename File containing export definitions (for DLLs) |
36 --ver=version Version (10,11,12) of visual studio to generate
for | 37 --ver=version Version (10,11,12) of visual studio to generate
for |
37 --src-path-bare=dir Path to root of source tree | 38 --src-path-bare=dir Path to root of source tree |
38 -Ipath/to/include Additional include directories | 39 -Ipath/to/include Additional include directories |
39 -DFLAG[=value] Preprocessor macros to define | 40 -DFLAG[=value] Preprocessor macros to define |
40 -Lpath/to/lib Additional library search paths | 41 -Lpath/to/lib Additional library search paths |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 for cfg in Debug Release; do | 167 for cfg in Debug Release; do |
167 tag_content Message "Assembling %(Filename)%(Extensi
on)" \ | 168 tag_content Message "Assembling %(Filename)%(Extensi
on)" \ |
168 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 169 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
169 tag_content Command "$(eval echo \$asm_${cfg}_cmdlin
e) -o \$(IntDir)$objf" \ | 170 tag_content Command "$(eval echo \$asm_${cfg}_cmdlin
e) -o \$(IntDir)$objf" \ |
170 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 171 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
171 tag_content Outputs "\$(IntDir)$objf" \ | 172 tag_content Outputs "\$(IntDir)$objf" \ |
172 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" | 173 Condition="'\$(Configuration)|\$(Platform)'=='$c
fg|$plat'" |
173 done | 174 done |
174 done | 175 done |
175 close_tag CustomBuild | 176 close_tag CustomBuild |
176 elif [ "$pat" == "c" ] || [ "$pat" == "cc" ] ; then | 177 elif [ "$pat" == "c" ] || \ |
| 178 [ "$pat" == "cc" ] || [ "$pat" == "cpp" ]; then |
177 open_tag ClCompile \ | 179 open_tag ClCompile \ |
178 Include=".\\$f" | 180 Include=".\\$f" |
179 # Separate file names with Condition? | 181 # Separate file names with Condition? |
180 tag_content ObjectFileName "\$(IntDir)$objf" | 182 tag_content ObjectFileName "\$(IntDir)$objf" |
181 # Check for AVX and turn it on to avoid warnings. | 183 # Check for AVX and turn it on to avoid warnings. |
182 if [[ $f =~ avx.?\.c$ ]]; then | 184 if [[ $f =~ avx.?\.c$ ]]; then |
183 tag_content AdditionalOptions "/arch:AVX" | 185 tag_content AdditionalOptions "/arch:AVX" |
184 fi | 186 fi |
185 close_tag ClCompile | 187 close_tag ClCompile |
186 elif [ "$pat" == "h" ] ; then | 188 elif [ "$pat" == "h" ] ; then |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 --exe) proj_kind="exe" | 228 --exe) proj_kind="exe" |
227 ;; | 229 ;; |
228 --dll) proj_kind="dll" | 230 --dll) proj_kind="dll" |
229 ;; | 231 ;; |
230 --lib) proj_kind="lib" | 232 --lib) proj_kind="lib" |
231 ;; | 233 ;; |
232 --src-path-bare=*) src_path_bare="$optval" | 234 --src-path-bare=*) src_path_bare="$optval" |
233 ;; | 235 ;; |
234 --static-crt) use_static_runtime=true | 236 --static-crt) use_static_runtime=true |
235 ;; | 237 ;; |
| 238 --enable-werror) werror=true |
| 239 ;; |
236 --ver=*) | 240 --ver=*) |
237 vs_ver="$optval" | 241 vs_ver="$optval" |
238 case "$optval" in | 242 case "$optval" in |
239 10|11|12) | 243 10|11|12) |
240 ;; | 244 ;; |
241 *) die Unrecognized Visual Studio Version in $opt | 245 *) die Unrecognized Visual Studio Version in $opt |
242 ;; | 246 ;; |
243 esac | 247 esac |
244 ;; | 248 ;; |
245 -I*) | 249 -I*) |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 ;; | 489 ;; |
486 *) | 490 *) |
487 extradefines=";$defines" | 491 extradefines=";$defines" |
488 ;; | 492 ;; |
489 esac | 493 esac |
490 tag_content Optimization $opt | 494 tag_content Optimization $opt |
491 tag_content AdditionalIncludeDirectories "$incs;%(AdditionalIncludeD
irectories)" | 495 tag_content AdditionalIncludeDirectories "$incs;%(AdditionalIncludeD
irectories)" |
492 tag_content PreprocessorDefinitions "WIN32;$debug;_CRT_SECURE_NO_WAR
NINGS;_CRT_SECURE_NO_DEPRECATE$extradefines;%(PreprocessorDefinitions)" | 496 tag_content PreprocessorDefinitions "WIN32;$debug;_CRT_SECURE_NO_WAR
NINGS;_CRT_SECURE_NO_DEPRECATE$extradefines;%(PreprocessorDefinitions)" |
493 tag_content RuntimeLibrary $runtime | 497 tag_content RuntimeLibrary $runtime |
494 tag_content WarningLevel Level3 | 498 tag_content WarningLevel Level3 |
495 # DebugInformationFormat | 499 if ${werror:-false}; then |
| 500 tag_content TreatWarningAsError true |
| 501 fi |
496 close_tag ClCompile | 502 close_tag ClCompile |
497 case "$proj_kind" in | 503 case "$proj_kind" in |
498 exe) | 504 exe) |
499 open_tag Link | 505 open_tag Link |
500 if [ "$name" != "obj_int_extract" ]; then | 506 if [ "$name" != "obj_int_extract" ]; then |
501 tag_content AdditionalDependencies "$curlibs" | 507 tag_content AdditionalDependencies "$curlibs" |
502 tag_content AdditionalLibraryDirectories "$libdirs;%(Additio
nalLibraryDirectories)" | 508 tag_content AdditionalLibraryDirectories "$libdirs;%(Additio
nalLibraryDirectories)" |
503 fi | 509 fi |
504 tag_content GenerateDebugInformation true | 510 tag_content GenerateDebugInformation true |
505 close_tag Link | 511 close_tag Link |
506 ;; | 512 ;; |
507 dll) | 513 dll) |
508 open_tag Link | 514 open_tag Link |
509 tag_content GenerateDebugInformation true | 515 tag_content GenerateDebugInformation true |
510 tag_content ModuleDefinitionFile $module_def | 516 tag_content ModuleDefinitionFile $module_def |
511 close_tag Link | 517 close_tag Link |
512 ;; | 518 ;; |
513 lib) | 519 lib) |
514 ;; | 520 ;; |
515 esac | 521 esac |
516 close_tag ItemDefinitionGroup | 522 close_tag ItemDefinitionGroup |
517 done | 523 done |
518 | 524 |
519 done | 525 done |
520 | 526 |
521 open_tag ItemGroup | 527 open_tag ItemGroup |
522 generate_filter "Source Files" "c;cc;def;odl;idl;hpj;bat;asm;asmx;s" | 528 generate_filter "Source Files" "c;cc;cpp;def;odl;idl;hpj;bat;asm;asmx;s" |
523 close_tag ItemGroup | 529 close_tag ItemGroup |
524 open_tag ItemGroup | 530 open_tag ItemGroup |
525 generate_filter "Header Files" "h;hm;inl;inc;xsd" | 531 generate_filter "Header Files" "h;hm;inl;inc;xsd" |
526 close_tag ItemGroup | 532 close_tag ItemGroup |
527 open_tag ItemGroup | 533 open_tag ItemGroup |
528 generate_filter "Build Files" "mk" | 534 generate_filter "Build Files" "mk" |
529 close_tag ItemGroup | 535 close_tag ItemGroup |
530 open_tag ItemGroup | 536 open_tag ItemGroup |
531 generate_filter "References" "vcxproj" | 537 generate_filter "References" "vcxproj" |
532 close_tag ItemGroup | 538 close_tag ItemGroup |
(...skipping 15 matching lines...) Expand all Loading... |
548 } | 554 } |
549 | 555 |
550 # This regexp doesn't catch most of the strings in the vcxproj format, | 556 # This regexp doesn't catch most of the strings in the vcxproj format, |
551 # since they're like <tag>path</tag> instead of <tag attr="path" /> | 557 # since they're like <tag>path</tag> instead of <tag attr="path" /> |
552 # as previously. It still seems to work ok despite this. | 558 # as previously. It still seems to work ok despite this. |
553 generate_vcxproj | | 559 generate_vcxproj | |
554 sed -e '/"/s;\([^ "]\)/;\1\\;g' | | 560 sed -e '/"/s;\([^ "]\)/;\1\\;g' | |
555 sed -e '/xmlns/s;\\;/;g' > ${outfile} | 561 sed -e '/xmlns/s;\\;/;g' > ${outfile} |
556 | 562 |
557 exit | 563 exit |
OLD | NEW |