projects: Fix Visual Studio projects SSH builds

- Generate VQUIC and VSSH filenames in Visual Studio project files.

Prior to this change generated Visual Studio project configurations that
enabled SSH did not build properly. Broken since SSH files were moved to
lib/vssh 3 months ago in 5b2d703.

Fixes https://github.com/curl/curl/issues/4492
Fixes https://github.com/curl/curl/issues/4630
Closes https://github.com/curl/curl/pull/4607
This commit is contained in:
Jay Satiro 2019-11-17 03:08:40 -05:00
parent 036ebac013
commit ee5c68a963
12 changed files with 219 additions and 2 deletions

View File

@ -328,6 +328,10 @@ vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS) \
win32_lib_rc='$(LIB_RCFILES)'; \
win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \
win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \
win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \
win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \
win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \
win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \
win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \
win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \
win32_src_srcs='$(CURL_CFILES)'; \
@ -340,6 +344,10 @@ vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS) \
sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \
sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \
sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \
sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \
sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \
sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \
sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \
sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
@ -351,10 +359,15 @@ vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS) \
function gen_element(type, dir, file)\
{\
sub(/vauth\//, "", file);\
sub(/vquic\//, "", file);\
sub(/vssh\//, "", file);\
sub(/vtls\//, "", file);\
\
spaces=" ";\
if(dir == "lib\\vauth" || dir == "lib\\vtls")\
if(dir == "lib\\vauth" ||\
dir == "lib\\vquic" ||\
dir == "lib\\vssh" ||\
dir == "lib\\vtls")\
tabs=" ";\
else\
tabs=" ";\
@ -416,6 +429,22 @@ function gen_element(type, dir, file)\
split(lib_vauth_hdrs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
}\
else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\
split(lib_vquic_srcs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
}\
else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\
split(lib_vquic_hdrs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
}\
else if($$0 == "CURL_LIB_VSSH_C_FILES") {\
split(lib_vssh_srcs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
}\
else if($$0 == "CURL_LIB_VSSH_H_FILES") {\
split(lib_vssh_hdrs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
}\
else if($$0 == "CURL_LIB_VTLS_C_FILES") {\
split(lib_vtls_srcs, arr);\
for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
@ -461,6 +490,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \
@ -481,6 +514,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \
@ -501,6 +538,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \
@ -521,6 +562,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \
@ -541,6 +586,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \
@ -561,6 +610,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \
@ -581,6 +634,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \
@ -601,6 +658,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \
@ -621,6 +682,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \
@ -641,6 +706,10 @@ function gen_element(type, dir, file)\
-v lib_rc="$$win32_lib_rc" \
-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
"$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \

View File

@ -2325,11 +2325,15 @@
<ItemGroup>
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
</ItemGroup>
<ItemGroup>
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
</ItemGroup>
<ItemGroup>

View File

@ -2381,11 +2381,15 @@
<ItemGroup>
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
</ItemGroup>
<ItemGroup>
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
</ItemGroup>
<ItemGroup>

View File

@ -2381,11 +2381,15 @@
<ItemGroup>
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
</ItemGroup>
<ItemGroup>
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
</ItemGroup>
<ItemGroup>

View File

@ -2381,11 +2381,15 @@
<ItemGroup>
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
</ItemGroup>
<ItemGroup>
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
</ItemGroup>
<ItemGroup>

View File

@ -2353,11 +2353,15 @@
<ItemGroup>
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
</ItemGroup>
<ItemGroup>
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
</ItemGroup>
<ItemGroup>

View File

@ -730,6 +730,8 @@ LIB32=link.exe -lib
# PROP Default_Filter ""
CURL_LIB_C_FILES
CURL_LIB_VAUTH_C_FILES
CURL_LIB_VQUIC_C_FILES
CURL_LIB_VSSH_C_FILES
CURL_LIB_VTLS_C_FILES
# End Group
# Begin Group "Header Files"
@ -737,6 +739,8 @@ CURL_LIB_VTLS_C_FILES
# PROP Default_Filter ""
CURL_LIB_H_FILES
CURL_LIB_VAUTH_H_FILES
CURL_LIB_VQUIC_H_FILES
CURL_LIB_VSSH_H_FILES
CURL_LIB_VTLS_H_FILES
# End Group
# Begin Group "Resource Files"

View File

@ -1281,6 +1281,34 @@ CURL_LIB_VAUTH_C_FILES
CURL_LIB_VAUTH_H_FILES
</Filter>
</Filter>
<Filter
Name="vquic"
Filter="">
<Filter
Name="Source Files"
Filter="">
CURL_LIB_VQUIC_C_FILES
</Filter>
<Filter
Name="Header Files"
Filter="">
CURL_LIB_VQUIC_H_FILES
</Filter>
</Filter>
<Filter
Name="vssh"
Filter="">
<Filter
Name="Source Files"
Filter="">
CURL_LIB_VSSH_C_FILES
</Filter>
<Filter
Name="Header Files"
Filter="">
CURL_LIB_VSSH_H_FILES
</Filter>
</Filter>
<Filter
Name="vtls"
Filter="">

View File

@ -1135,6 +1135,34 @@ CURL_LIB_VAUTH_C_FILES
CURL_LIB_VAUTH_H_FILES
</Filter>
</Filter>
<Filter
Name="vquic"
Filter="">
<Filter
Name="Source Files"
Filter="">
CURL_LIB_VQUIC_C_FILES
</Filter>
<Filter
Name="Header Files"
Filter="">
CURL_LIB_VQUIC_H_FILES
</Filter>
</Filter>
<Filter
Name="vssh"
Filter="">
<Filter
Name="Source Files"
Filter="">
CURL_LIB_VSSH_C_FILES
</Filter>
<Filter
Name="Header Files"
Filter="">
CURL_LIB_VSSH_H_FILES
</Filter>
</Filter>
<Filter
Name="vtls"
Filter="">

View File

@ -3642,6 +3642,34 @@ CURL_LIB_VAUTH_C_FILES
CURL_LIB_VAUTH_H_FILES
</Filter>
</Filter>
<Filter
Name="vquic"
>
<Filter
Name="Source Files"
>
CURL_LIB_VQUIC_C_FILES
</Filter>
<Filter
Name="Header Files"
>
CURL_LIB_VQUIC_H_FILES
</Filter>
</Filter>
<Filter
Name="vssh"
>
<Filter
Name="Source Files"
>
CURL_LIB_VSSH_C_FILES
</Filter>
<Filter
Name="Header Files"
>
CURL_LIB_VSSH_H_FILES
</Filter>
</Filter>
<Filter
Name="vtls"
>

View File

@ -3583,6 +3583,34 @@ CURL_LIB_VAUTH_C_FILES
CURL_LIB_VAUTH_H_FILES
</Filter>
</Filter>
<Filter
Name="vquic"
>
<Filter
Name="Source Files"
>
CURL_LIB_VQUIC_C_FILES
</Filter>
<Filter
Name="Header Files"
>
CURL_LIB_VQUIC_H_FILES
</Filter>
</Filter>
<Filter
Name="vssh"
>
<Filter
Name="Source Files"
>
CURL_LIB_VSSH_C_FILES
</Filter>
<Filter
Name="Header Files"
>
CURL_LIB_VSSH_H_FILES
</Filter>
</Filter>
<Filter
Name="vtls"
>

View File

@ -303,6 +303,14 @@ rem
for /f "delims=" %%c in ('dir /b ..\lib\vauth\*.c') do call :element %1 lib\vauth "%%c" %3
) else if "!var!" == "CURL_LIB_VAUTH_H_FILES" (
for /f "delims=" %%h in ('dir /b ..\lib\vauth\*.h') do call :element %1 lib\vauth "%%h" %3
) else if "!var!" == "CURL_LIB_VQUIC_C_FILES" (
for /f "delims=" %%c in ('dir /b ..\lib\vquic\*.c') do call :element %1 lib\vquic "%%c" %3
) else if "!var!" == "CURL_LIB_VQUIC_H_FILES" (
for /f "delims=" %%h in ('dir /b ..\lib\vquic\*.h') do call :element %1 lib\vquic "%%h" %3
) else if "!var!" == "CURL_LIB_VSSH_C_FILES" (
for /f "delims=" %%c in ('dir /b ..\lib\vssh\*.c') do call :element %1 lib\vssh "%%c" %3
) else if "!var!" == "CURL_LIB_VSSH_H_FILES" (
for /f "delims=" %%h in ('dir /b ..\lib\vssh\*.h') do call :element %1 lib\vssh "%%h" %3
) else if "!var!" == "CURL_LIB_VTLS_C_FILES" (
for /f "delims=" %%c in ('dir /b ..\lib\vtls\*.c') do call :element %1 lib\vtls "%%c" %3
) else if "!var!" == "CURL_LIB_VTLS_H_FILES" (
@ -319,7 +327,7 @@ rem Generates a single file xml element.
rem
rem %1 - Project Type (dsp for VC6, vcproj1 for VC7 and VC7.1, vcproj2 for VC8 and VC9
rem or vcxproj for VC10, VC11, VC12, VC14 and VC15)
rem %2 - Directory (src, lib, lib\vauth or lib\vtls)
rem %2 - Directory (src, lib, lib\vauth, lib\vquic, lib\vssh, lib\vtls)
rem %3 - Source filename
rem %4 - Output project file
rem
@ -327,6 +335,10 @@ rem
set "SPACES= "
if "%2" == "lib\vauth" (
set "TABS= "
) else if "%2" == "lib\vquic" (
set "TABS= "
) else if "%2" == "lib\vssh" (
set "TABS= "
) else if "%2" == "lib\vtls" (
set "TABS= "
) else (