X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=build%2Fmake%2Fgen_msvs_vcxproj.sh;h=171d0b99b6e8f4df2d13469abf1c0120e42b4c19;hb=ff42e04f9cb60e63ca3fe12ac497f27c68555e1f;hp=56b9a3b50b4442eda60eadea76a4109f59f30690;hpb=e9d106bd4571010c2224b2fcfdb69e50aa888494;p=libvpx diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh index 56b9a3b50..171d0b99b 100755 --- a/build/make/gen_msvs_vcxproj.sh +++ b/build/make/gen_msvs_vcxproj.sh @@ -34,7 +34,7 @@ Options: --name=project_name Name of the project (required) --proj-guid=GUID GUID to use for the project --module-def=filename File containing export definitions (for DLLs) - --ver=version Version (10,11,12) of visual studio to generate for + --ver=version Version (10,11,12,14,15) of visual studio to generate for --src-path-bare=dir Path to root of source tree -Ipath/to/include Additional include directories -DFLAG[=value] Preprocessor macros to define @@ -82,7 +82,7 @@ generate_filter() { | sed -e "s,$src_path_bare,," \ -e 's/^[\./]\+//g' -e 's,[:/ ],_,g') - if ([ "$pat" == "asm" ] || [ "$pat" == "s" ]) && $asm_use_custom_step; then + if ([ "$pat" == "asm" ] || [ "$pat" == "s" ] || [ "$pat" == "S" ]) && $asm_use_custom_step; then # Avoid object file name collisions, i.e. vpx_config.c and # vpx_config.asm produce the same object file without # this additional suffix. @@ -168,7 +168,7 @@ for opt in "$@"; do --ver=*) vs_ver="$optval" case "$optval" in - 10|11|12) + 10|11|12|14|15) ;; *) die Unrecognized Visual Studio Version in $opt ;; @@ -203,7 +203,7 @@ for opt in "$@"; do # The paths in file_list are fixed outside of the loop. file_list[${#file_list[@]}]="$opt" case "$opt" in - *.asm|*.s) uses_asm=true + *.asm|*.[Ss]) uses_asm=true ;; esac ;; @@ -211,14 +211,14 @@ for opt in "$@"; do done # Make one call to fix_path for file_list to improve performance. -fix_file_list +fix_file_list file_list outfile=${outfile:-/dev/stdout} guid=${guid:-`generate_uuid`} asm_use_custom_step=false uses_asm=${uses_asm:-false} case "${vs_ver:-11}" in - 10|11|12) + 10|11|12|14|15) asm_use_custom_step=$uses_asm ;; esac @@ -262,15 +262,9 @@ case "$target" in asm_Release_cmdline="yasm -Xvc -f win32 ${yasmincs} "%(FullPath)"" ;; arm*) - asm_Debug_cmdline="armasm -nologo "%(FullPath)"" - asm_Release_cmdline="armasm -nologo "%(FullPath)"" - if [ "$name" = "obj_int_extract" ]; then - # We don't want to build this tool for the target architecture, - # but for an architecture we can run locally during the build. - platforms[0]="Win32" - else - platforms[0]="ARM" - fi + platforms[0]="ARM" + asm_Debug_cmdline="armasm -nologo -oldit "%(FullPath)"" + asm_Release_cmdline="armasm -nologo -oldit "%(FullPath)"" ;; *) die "Unsupported target $target!" ;; @@ -350,6 +344,12 @@ generate_vcxproj() { # has to enable AppContainerApplication as well. tag_content PlatformToolset v120 fi + if [ "$vs_ver" = "14" ]; then + tag_content PlatformToolset v140 + fi + if [ "$vs_ver" = "15" ]; then + tag_content PlatformToolset v141 + fi tag_content CharacterSet Unicode if [ "$config" = "Release" ]; then tag_content WholeProgramOptimization true @@ -400,23 +400,13 @@ generate_vcxproj() { if [ "$hostplat" == "ARM" ]; then hostplat=Win32 fi - open_tag PreBuildEvent - tag_content Command "call obj_int_extract.bat "$src_path_bare" $hostplat\\\$(Configuration)" - close_tag PreBuildEvent fi open_tag ClCompile if [ "$config" = "Debug" ]; then opt=Disabled runtime=$debug_runtime curlibs=$debug_libs - case "$name" in - obj_int_extract) - debug=DEBUG - ;; - *) - debug=_DEBUG - ;; - esac + debug=_DEBUG else opt=MaxSpeed runtime=$release_runtime @@ -424,14 +414,7 @@ generate_vcxproj() { tag_content FavorSizeOrSpeed Speed debug=NDEBUG fi - case "$name" in - obj_int_extract) - extradefines=";_CONSOLE" - ;; - *) - extradefines=";$defines" - ;; - esac + extradefines=";$defines" tag_content Optimization $opt tag_content AdditionalIncludeDirectories "$incs;%(AdditionalIncludeDirectories)" tag_content PreprocessorDefinitions "WIN32;$debug;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE$extradefines;%(PreprocessorDefinitions)" @@ -451,10 +434,6 @@ generate_vcxproj() { case "$proj_kind" in exe) open_tag Link - if [ "$name" != "obj_int_extract" ]; then - tag_content AdditionalDependencies "$curlibs;%(AdditionalDependencies)" - tag_content AdditionalLibraryDirectories "$libdirs;%(AdditionalLibraryDirectories)" - fi tag_content GenerateDebugInformation true # Console is the default normally, but if # AppContainerApplication is set, we need to override it. @@ -476,7 +455,7 @@ generate_vcxproj() { done open_tag ItemGroup - generate_filter "Source Files" "c;cc;cpp;def;odl;idl;hpj;bat;asm;asmx;s" + generate_filter "Source Files" "c;cc;cpp;def;odl;idl;hpj;bat;asm;asmx;s;S" close_tag ItemGroup open_tag ItemGroup generate_filter "Header Files" "h;hm;inl;inc;xsd"