mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Add guide for building chatterino2 on Windows with vcpkg (#3634)
This commit is contained in:
parent
3119a9bab3
commit
addcbb10f9
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -104,3 +104,6 @@ Stamp
|
||||||
tmp
|
tmp
|
||||||
Source
|
Source
|
||||||
Dependencies_*
|
Dependencies_*
|
||||||
|
|
||||||
|
# vcpkg
|
||||||
|
vcpkg_installed/
|
||||||
|
|
35
BUILDING_ON_WINDOWS_WITH_VCPKG.md
Normal file
35
BUILDING_ON_WINDOWS_WITH_VCPKG.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Building on Windows with vcpkg
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
1. Install [Visual Studio](https://visualstudio.microsoft.com/) with "Desktop development with C++" (~9.66 GB)
|
||||||
|
1. Install [CMake](https://cmake.org/) (~109 MB)
|
||||||
|
1. Install [git](https://git-scm.com/) (~264 MB)
|
||||||
|
1. Install [vcpkg](https://vcpkg.io/) (~80 MB)
|
||||||
|
- `git clone https://github.com/Microsoft/vcpkg.git`
|
||||||
|
- `cd .\vcpkg\`
|
||||||
|
- `.\bootstrap-vcpkg.bat`
|
||||||
|
- `.\vcpkg integrate install`
|
||||||
|
- `.\vcpkg integrate powershell`
|
||||||
|
- `cd ..`
|
||||||
|
1. Configure the environment for vcpkg
|
||||||
|
- `set VCPKG_DEFAULT_TRIPLET=x64-windows`
|
||||||
|
- [default](https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md#additional-remarks) is `x86-windows`
|
||||||
|
- `set VCPKG_ROOT=C:\path\to\vcpkg\`
|
||||||
|
- `set PATH=%PATH%;%VCPKG_ROOT%`
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
1. Clone
|
||||||
|
- `git clone --recurse-submodules https://github.com/Chatterino/chatterino2.git`
|
||||||
|
1. Install dependencies (~21 GB)
|
||||||
|
- `cd .\chatterino2\`
|
||||||
|
- `vcpkg install`
|
||||||
|
1. Build
|
||||||
|
- `mkdir .\build\`
|
||||||
|
- `cd .\build\`
|
||||||
|
- (cmd) `cmake .. -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake`
|
||||||
|
- (ps1) `cmake .. -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"`
|
||||||
|
- `cmake --build . --parallel <threads> --config Release`
|
||||||
|
1. Run
|
||||||
|
- `.\bin\chatterino2.exe`
|
|
@ -59,6 +59,7 @@ find_package(Sanitizers)
|
||||||
|
|
||||||
# Find boost on the system
|
# Find boost on the system
|
||||||
find_package(Boost REQUIRED)
|
find_package(Boost REQUIRED)
|
||||||
|
find_package(Boost COMPONENTS random)
|
||||||
|
|
||||||
# Find OpenSSL on the system
|
# Find OpenSSL on the system
|
||||||
find_package(OpenSSL REQUIRED)
|
find_package(OpenSSL REQUIRED)
|
||||||
|
|
|
@ -36,6 +36,8 @@ git submodule update --init --recursive
|
||||||
|
|
||||||
[Building on Windows](../master/BUILDING_ON_WINDOWS.md)
|
[Building on Windows](../master/BUILDING_ON_WINDOWS.md)
|
||||||
|
|
||||||
|
[Building on Windows with vcpkg](../master/BUILDING_ON_WINDOWS_WITH_VCPKG.md)
|
||||||
|
|
||||||
[Building on Linux](../master/BUILDING_ON_LINUX.md)
|
[Building on Linux](../master/BUILDING_ON_LINUX.md)
|
||||||
|
|
||||||
[Building on Mac](../master/BUILDING_ON_MAC.md)
|
[Building on Mac](../master/BUILDING_ON_MAC.md)
|
||||||
|
|
|
@ -649,7 +649,7 @@ if (WIN32)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
target_compile_options(${LIBRARY_PROJECT} PUBLIC /EHsc)
|
target_compile_options(${LIBRARY_PROJECT} PUBLIC /EHsc /bigobj)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (APPLE AND BUILD_APP)
|
if (APPLE AND BUILD_APP)
|
||||||
|
@ -682,7 +682,7 @@ if (USE_CONAN AND TARGET CONAN_PKG::boost)
|
||||||
else ()
|
else ()
|
||||||
target_link_libraries(${LIBRARY_PROJECT}
|
target_link_libraries(${LIBRARY_PROJECT}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Boost::boost
|
${Boost_LIBRARIES}
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ add_sanitizers(${PROJECT_NAME})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE chatterino-lib)
|
target_link_libraries(${PROJECT_NAME} PRIVATE chatterino-lib)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE gtest)
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${GTEST_BOTH_LIBRARIES})
|
||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
||||||
CHATTERINO_TEST
|
CHATTERINO_TEST
|
||||||
|
|
21
vcpkg.json
Normal file
21
vcpkg.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
|
||||||
|
"name": "chatterino",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"dependencies": [
|
||||||
|
"benchmark",
|
||||||
|
"boost-asio",
|
||||||
|
"boost-foreach",
|
||||||
|
"boost-interprocess",
|
||||||
|
"boost-random",
|
||||||
|
"boost-variant",
|
||||||
|
"gtest",
|
||||||
|
"openssl",
|
||||||
|
"qt5-multimedia",
|
||||||
|
"qt5-tools"
|
||||||
|
],
|
||||||
|
"builtin-baseline": "2ac61f87f69f0484b8044f95ab274038fbaf7bdd",
|
||||||
|
"overrides": [
|
||||||
|
{ "name": "openssl", "version-string": "1.1.1n" }
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in a new issue