mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 03:00:46 +03:00
Add Visual Studio 2017 support (#336)
This commit is contained in:
parent
b382579789
commit
cce85f3ba8
4 changed files with 99 additions and 10 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -68,6 +68,11 @@ Icon
|
||||||
.Trashes
|
.Trashes
|
||||||
.VolumeIcon.icns
|
.VolumeIcon.icns
|
||||||
|
|
||||||
|
# Visual Studio
|
||||||
|
.vs
|
||||||
|
build-vc
|
||||||
|
vcpkg
|
||||||
|
|
||||||
# Directories potentially created on remote AFP share
|
# Directories potentially created on remote AFP share
|
||||||
.AppleDB
|
.AppleDB
|
||||||
.AppleDesktop
|
.AppleDesktop
|
||||||
|
|
|
@ -37,12 +37,7 @@ include(LMDB)
|
||||||
#
|
#
|
||||||
# Discover Qt dependencies.
|
# Discover Qt dependencies.
|
||||||
#
|
#
|
||||||
find_package(Qt5Widgets REQUIRED)
|
find_package(Qt5 COMPONENTS Core Widgets Network LinguistTools Concurrent Svg Multimedia REQUIRED)
|
||||||
find_package(Qt5Network REQUIRED)
|
|
||||||
find_package(Qt5LinguistTools REQUIRED)
|
|
||||||
find_package(Qt5Concurrent REQUIRED)
|
|
||||||
find_package(Qt5Svg REQUIRED)
|
|
||||||
find_package(Qt5Multimedia REQUIRED)
|
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
find_package(Qt5MacExtras REQUIRED)
|
find_package(Qt5MacExtras REQUIRED)
|
||||||
|
@ -58,20 +53,23 @@ endif(Qt5Widgets_FOUND)
|
||||||
#
|
#
|
||||||
# Set up compiler flags.
|
# Set up compiler flags.
|
||||||
#
|
#
|
||||||
set(CMAKE_C_COMPILER gcc)
|
if (NOT MSVC)
|
||||||
|
set(CMAKE_C_COMPILER gcc)
|
||||||
|
endif(NOT MSVC)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
include(CompilerFlags)
|
include(CompilerFlags)
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT (CMAKE_BUILD_TYPE OR CMAKE_CONFIGURATION_TYPES))
|
||||||
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
|
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
|
||||||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
||||||
FORCE)
|
FORCE)
|
||||||
message("Setting build type to '${CMAKE_BUILD_TYPE}'")
|
message("Setting build type to '${CMAKE_BUILD_TYPE}'")
|
||||||
else(NOT CMAKE_BUILD_TYPE)
|
else(NOT (CMAKE_BUILD_TYPE OR CMAKE_CONFIGURATION_TYPES))
|
||||||
message("Build type set to '${CMAKE_BUILD_TYPE}'")
|
message("Build type set to '${CMAKE_BUILD_TYPE}'")
|
||||||
endif(NOT CMAKE_BUILD_TYPE)
|
endif(NOT (CMAKE_BUILD_TYPE OR CMAKE_CONFIGURATION_TYPES))
|
||||||
|
|
||||||
find_program(GIT git)
|
find_program(GIT git)
|
||||||
if(GIT)
|
if(GIT)
|
||||||
|
|
38
CMakeSettings.json
Normal file
38
CMakeSettings.json
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Debug",
|
||||||
|
"generator": "Visual Studio 15 2017 Win64",
|
||||||
|
"configurationType": "Debug",
|
||||||
|
"buildRoot": "${workspaceRoot}\\build-vc\\${name}",
|
||||||
|
"cmakeCommandArgs": "",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "CMAKE_TOOLCHAIN_FILE",
|
||||||
|
"value": "${workspaceRoot}\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" // <-- change vcpkg location here
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Qt5_DIR",
|
||||||
|
"value": "C:\\Qt\\5.10.1\\msvc2017_64\\lib\\cmake\\Qt5" // <-- change qt location here
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Release",
|
||||||
|
"generator": "Visual Studio 15 2017 Win64",
|
||||||
|
"configurationType": "Release",
|
||||||
|
"buildRoot": "${workspaceRoot}\\build-vc\\${name}",
|
||||||
|
"cmakeCommandArgs": "",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "CMAKE_TOOLCHAIN_FILE",
|
||||||
|
"value": "${workspaceRoot}\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" // <-- change vcpkg location here
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Qt5_DIR",
|
||||||
|
"value": "C:\\Qt\\5.10.1\\msvc2017_64\\lib\\cmake\\Qt5" // <-- change qt location here
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
48
README.md
48
README.md
|
@ -115,6 +115,25 @@ brew update
|
||||||
brew install qt5 lmdb cmake llvm
|
brew install qt5 lmdb cmake llvm
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### Windows
|
||||||
|
|
||||||
|
1. Install Visual Studio 2017's "Desktop Development" and "Linux Development with C++"
|
||||||
|
(for the CMake integration) workloads.
|
||||||
|
|
||||||
|
2. Download the latest Qt for windows installer and install it somewhere.
|
||||||
|
Make sure to install the `MSVC 2017 64-bit` toolset for at least Qt 5.9
|
||||||
|
(lower versions does not support VS2017).
|
||||||
|
|
||||||
|
3. Install lmdb and openssl with `vcpkg`. You can simply clone it into a subfolder
|
||||||
|
of the root nheko source directory.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
git clone http:\\github.com\Microsoft\vcpkg
|
||||||
|
cd vcpkg
|
||||||
|
.\bootstrap-vcpkg.bat
|
||||||
|
.\vcpkg install --triplet x64-windows lmdb openssl
|
||||||
|
```
|
||||||
|
|
||||||
### Building
|
### Building
|
||||||
|
|
||||||
Clone the repo and run
|
Clone the repo and run
|
||||||
|
@ -161,6 +180,35 @@ in the project folder. This will output a binary to `result/bin/nheko`.
|
||||||
|
|
||||||
You can also install nheko by running `nix-env -f . -i`
|
You can also install nheko by running `nix-env -f . -i`
|
||||||
|
|
||||||
|
#### Windows
|
||||||
|
|
||||||
|
After installing all dependencies, you need to edit the `CMakeSettings.json` to
|
||||||
|
be able to load and compile nheko within Visual Studio.
|
||||||
|
|
||||||
|
You need to fill out the paths for the `CMAKE_TOOLCHAIN_FILE` and the `Qt5_DIR`.
|
||||||
|
The toolchain file should point to the `vcpkg.cmake` and the Qt5 dir to the `lib\cmake\Qt5` dir.
|
||||||
|
|
||||||
|
Examples for the paths are:
|
||||||
|
- `C:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake`
|
||||||
|
- `C:\\Qt\\5.10.1\\msvc2017_64\\lib\\cmake\\Qt5`
|
||||||
|
|
||||||
|
Now right click into the root nheko source directory and choose `Open in Visual Studio`.
|
||||||
|
You can choose the build type Release and Debug in the top toolbar.
|
||||||
|
After a successful CMake generation you can select the `nheko.exe` as the run target.
|
||||||
|
Now choose `Build all` in the CMake menu or press `F7` to compile the executable.
|
||||||
|
|
||||||
|
To be able to run the application the last step is to install the needed Qt dependencies next to the
|
||||||
|
nheko binary.
|
||||||
|
|
||||||
|
Start the "Qt x.xx.x 64-bit for Desktop (MSVC 2017)" command promt and run `windeployqt`.
|
||||||
|
```cmd
|
||||||
|
cd <path-to-nheko>\build-vc\Release\Release
|
||||||
|
windeployqt nheko.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
The final binary will be located inside `build-vc\Release\Release` for the Release build
|
||||||
|
and `build-vc\Debug\Debug` for the Debug build.
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
See [CONTRIBUTING](.github/CONTRIBUTING.md)
|
See [CONTRIBUTING](.github/CONTRIBUTING.md)
|
||||||
|
|
Loading…
Reference in a new issue