mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Update Windows build instructions
This commit is contained in:
parent
199c01ab93
commit
9711bfba43
1 changed files with 32 additions and 29 deletions
|
@ -33,6 +33,8 @@ Some open source code required to be installed to build the code include:
|
||||||
Clone it at the same level to be used to clone/develop the lsquic-client.
|
Clone it at the same level to be used to clone/develop the lsquic-client.
|
||||||
The package must be compiled following the instructions on the git
|
The package must be compiled following the instructions on the git
|
||||||
repository.
|
repository.
|
||||||
|
- Perform builds using the _Developer Command Prompt for Visual Studio_ instead
|
||||||
|
of the regular `cmd.exe`.
|
||||||
- Once the package manager has been built, it must be used to install
|
- Once the package manager has been built, it must be used to install
|
||||||
and build some open source projects. Before doing that, an environment
|
and build some open source projects. Before doing that, an environment
|
||||||
variable must be defined which specifies how the package should be built.
|
variable must be defined which specifies how the package should be built.
|
||||||
|
@ -48,15 +50,18 @@ Some open source code required to be installed to build the code include:
|
||||||
install *openssl*. If it does not, it may need to be manually specified
|
install *openssl*. If it does not, it may need to be manually specified
|
||||||
to properly link the lsquic-client executables.
|
to properly link the lsquic-client executables.
|
||||||
```
|
```
|
||||||
vcpkg install zlib
|
vcpkg install zlib:x86-windows-static
|
||||||
vcpkg install libevent
|
vcpkg install libevent:x64-windows-static
|
||||||
|
vcpkg integrate install
|
||||||
```
|
```
|
||||||
- Clone and compile boringssl. It can be cloned from [here](https://boringssl.googlesource.com/boringssl)
|
- Clone and compile boringssl. It can be cloned from [here](https://boringssl.googlesource.com/boringssl).
|
||||||
and should be cloned at the same level to be used to clone/develop
|
|
||||||
the lsquic-client. Once cloned, cmake must be run to create the projects
|
|
||||||
(the dot at the end of the line is required):
|
|
||||||
```
|
```
|
||||||
|
git clone https://boringssl.googlesource.com/boringssl
|
||||||
|
cd boringssl
|
||||||
cmake -DCMAKE_GENERATOR_PLATFORM=x64 --config Debug -DBUILD_SHARED_LIBS=OFF -DOPENSSL_NO_ASM=1 .
|
cmake -DCMAKE_GENERATOR_PLATFORM=x64 --config Debug -DBUILD_SHARED_LIBS=OFF -DOPENSSL_NO_ASM=1 .
|
||||||
|
msbuild ALL_BUILD.vcxproj
|
||||||
|
set boringssl=%cd%
|
||||||
```
|
```
|
||||||
- Visual Studio can be run, and the project opened within the boringssl
|
- Visual Studio can be run, and the project opened within the boringssl
|
||||||
directory. Set the solution configuration to *Debug* and the solution
|
directory. Set the solution configuration to *Debug* and the solution
|
||||||
|
@ -66,42 +71,40 @@ Some open source code required to be installed to build the code include:
|
||||||
Make and Compile LSQUIC-Client
|
Make and Compile LSQUIC-Client
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
The LSQUIC-Client for Windows is currently housed on the master branch.
|
|
||||||
To check it out specify (from the directory where the code will be housed):
|
Clone lsquic-client:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/litespeedtech/lsquic-client.git
|
git clone https://github.com/litespeedtech/lsquic-client.git
|
||||||
cd lsquic-client
|
cd lsquic-client
|
||||||
git checkout master
|
|
||||||
```
|
```
|
||||||
|
|
||||||
cmake must be run to prepare to build the software in the top level
|
Configure the build using cmake (you can specify `Release` instead of `Debug`
|
||||||
cloned directory. The dot at the end is required. Begin with the debug
|
to build an optimized version of the library, but that won't build tests):
|
||||||
version as it includes all of the programs.
|
|
||||||
```
|
```
|
||||||
cmake -DCMAKE_GENERATOR_PLATFORM=x64 --config Debug -DBUILD_SHARED_LIBS=OFF
|
cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DBUILD_SHARED_LIBS=OFF ^
|
||||||
|
-DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_BUILD_TYPE=Debug ^
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||||
|
-DBORINGSSL_DIR=%boringssl% .
|
||||||
```
|
```
|
||||||
|
|
||||||
Visual Studio can now be brought up, and there will be projects in the
|
Compile everything (add `/m` flag if you have processors to spare):
|
||||||
cloned directory. The ALL_BUILD project will build the full project.
|
|
||||||
Make sure the solution configuration is set to *Debug*. The project may
|
|
||||||
need to be built twice as the first time some of the compiles will fail
|
|
||||||
as the lsquic.lib library has not completed building in the first attempt.
|
|
||||||
|
|
||||||
Both the debug and optmized versions can co-exist in the same
|
|
||||||
environment as they are compiled to different directories.
|
|
||||||
|
|
||||||
To build the optimized version, repeat the process above with a slightly
|
|
||||||
different cmake command:
|
|
||||||
```
|
```
|
||||||
cmake -DCMAKE_GENERATOR_PLATFORM=x64 --config Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release .
|
msbuild ALL_BUILD.vcxproj
|
||||||
```
|
```
|
||||||
|
|
||||||
After cmake has finished, you can open the project, set the solution
|
`http_client.exe` should be found in the `Debug` (or `Release`) directory.
|
||||||
configuration to *Release* and build the ALL_BUILD project. There are
|
|
||||||
many fewer programs in the optimized version.
|
Run tests (assuming `Debug` build):
|
||||||
|
|
||||||
|
```
|
||||||
|
msbuild RUN_TESTS.vcxproj
|
||||||
|
```
|
||||||
|
|
||||||
Have fun,
|
Have fun,
|
||||||
|
|
||||||
LiteSpeed QUIC Team.
|
LiteSpeed QUIC Team.
|
||||||
|
|
||||||
Copyright (c) 2017-2018 LiteSpeed Technologies Inc
|
Copyright (c) 2017 - 2019 LiteSpeed Technologies Inc
|
||||||
|
|
Loading…
Reference in a new issue