litespeed-quic/wincompat
Tyler Young f07b3eae43
[WIP] use vcpkg for getopt; build windows shared lib enhancements (#350)
* fix MSVC compiler shared library issues - mostly around 'extern const'

* add vcpkg install getopt to appveyor-windows.yml

show appveyor where to get getopt from vcpkg (non-static lib to avoid LGPL violation)

* add missing else case in lsquic_shared_support.h for windows static lib path

* have cmake spit out it's version

have cmake copy dependent dlls to build dir for tests on windows (getopt.dll)

* copy getopt.dll dep for tests

added commented version that requires >= 3.21 but handles any dll deps

* try caching boringssl dir to reduce CI build time since it's always same commit specified in config file

define VCPKG_ROOT in env since I can't seem to find it by VCPKG_ROOT or VCPKG_INSTALLED_DIR in appveyor's cmake v3.16 + vcpkg

* make windows cache dependent on yml and cmd

* sync up with changes to ls-qpack
2021-12-15 11:38:20 -05:00
..
sys Release 2.27.1 2021-01-06 09:00:05 -05:00
README.txt Release 2.27.1 2021-01-06 09:00:05 -05:00
vc_compat.h Release 2.27.1 2021-01-06 09:00:05 -05:00

# Copyright (c) 2017 - 2021 LiteSpeed Technologies Inc.  See LICENSE.
- only debug and release are expected in the Cmakelists.txt. If you need a different config, please follow the model in that file to add it.

- vcpkg does not have boringssl, so you'll have to build it yourself. Follow the instructions at the boringssl repository.
  With the caveat that you should do it from a VC command prompt for the correct architecture and make sure to set all 
  the paths for perl,ninja,etc. correctly. Also watch out for C runtime library mismatches with the externals you link.


- zlib and libevent do exist in vcpkg. 

- getopt files are really old and could probably use updating.