Skip to content
Permalink
Browse files

Build NVDA with Visual Studio 2019 (#10169)

* Update to VS2019

* Update readme

* Fix flake8 include

* Fix openssl 1.1 on appveyor

* Fix readme

* Bump scons to 3.1.2

* Fix bad merge for download link
  • Loading branch information
leonardder committed Feb 13, 2020
1 parent 9881f37 commit 67ca5c4f9b9c70d166ba3e74cb8c62c828fa4346
Showing with 26 additions and 24 deletions.
  1. +1 −1 .gitmodules
  2. +3 −3 appveyor.yml
  3. +1 −1 include/scons
  4. +3 −3 nvdaHelper/archBuild_sconscript
  5. +3 −2 nvdaHelper/localWin10/sconscript
  6. +14 −13 readme.md
  7. +1 −1 tests/lint/flake8.ini
@@ -24,7 +24,7 @@
url = https://github.com/nvaccess/comtypes-bin
[submodule "include/scons"]
path = include/scons
url = https://github.com/SConsProject/scons
url = https://github.com/SCons/scons
[submodule "include/ia2"]
path = include/ia2
url = https://github.com/LinuxA11y/IAccessible2.git
@@ -1,4 +1,4 @@
os: Visual Studio 2017
os: Visual Studio 2019
version: "{branch}-{build}"

branches:
@@ -63,8 +63,8 @@ install:
# Decrypt files.
- ps: |
if(!$env:APPVEYOR_PULL_REQUEST_NUMBER) {
openssl enc -aes-256-cbc -d -pass pass:$env:encFileKey -in authenticode.pfx.enc -out authenticode.pfx
openssl enc -aes-256-cbc -d -pass pass:$env:encFileKey -in ssh_id_rsa.enc -out ssh_id_rsa
openssl enc -md md5 -aes-256-cbc -d -pass pass:$env:encFileKey -in authenticode.pfx.enc -out authenticode.pfx
openssl enc -md md5 -aes-256-cbc -d -pass pass:$env:encFileKey -in ssh_id_rsa.enc -out ssh_id_rsa
# Install ssh stuff.
copy ssh_id_rsa $env:userprofile\.ssh\id_rsa
}
Submodule scons updated 845 files
@@ -73,9 +73,9 @@ def COMProxyDllBuilder(env,target,source,proxyClsid):
return proxyDll
env.AddMethod(COMProxyDllBuilder,'COMProxyDll')

# We only support compiling with MSVC 14.1 (2017)
if not env.get('MSVC_VERSION')=='14.1':
raise RuntimeError("Visual C++ 14.1 (Visual Studio 2017) not found")
# We only support compiling with MSVC 14.2 (2019)
if not env.get('MSVC_VERSION')=='14.2':
raise RuntimeError("Visual C++ 14.2 (Visual Studio 2019) not found")


TARGET_ARCH=env['TARGET_ARCH']
@@ -41,9 +41,10 @@ localWin10Lib = env.SharedLibrary(
# Therefore, we must include it.
# VS 2017 keeps changing the path to reflect the latest major.minor.build version which we canot easily find out.
# Therefore Search these versioned directories from newest to oldest to collect all the files we need.
msvc = env.get('MSVC_VERSION')
vcRedistDirs = glob.glob(os.path.join(
find_vc_pdir(env.get("MSVC_VERSION")),
r"Redist\MSVC\%s*\x86\Microsoft.VC141.CRT" % env.get("MSVC_VERSION")
find_vc_pdir(msvc),
rf"Redist\MSVC\{msvc}*\x86\Microsoft.VC{msvc.replace('.', '')}.CRT"
))
if len(vcRedistDirs)==0:
raise RuntimeError("Could not locate vc redistributables. Perhaps the Universal Windows Platform component in visual Studio is not installed")
@@ -37,19 +37,20 @@ The following dependencies need to be installed on your system:

* [Python](https://www.python.org/), version 3.7, 32 bit
* Don't use `3.7.6` it causes an error while building, for now use `3.7.5` see #10696.
* Microsoft Visual Studio 2017 Community, Version 15.3 or later:
* Download from https://visualstudio.microsoft.com/vs/older-downloads/
* Microsoft Visual Studio 2019 Community, Version 16.3 or later:
* Download from https://visualstudio.microsoft.com/vs/
* When installing Visual Studio, you need to enable the following:
On the Workloads tab, in the Windows group:
* Universal Windows Platform Development
* Desktop development with C++
* Then in the Installation details section, under Desktop for C++, Optional grouping, ensure the following are selected:
* VC++ 2017 v141 toolset (x86,x64)
* Windows 10 SDK (10.0.17134.0) for Desktop C++ x86 and x64
* Visual C++ ATL for x86 and x64
* In the Installation details section, under Individual components, ensure the following are selected:
* Visual C++ compilers and libraries for ARM64
* Visual C++ ATL for ARM64
* On the Workloads tab
* in the Windows group:
* Desktop development with C++
* Then in the Installation details section, under Desktop for C++, Optional grouping, ensure the following are selected:
* MSVC v142 - VS 2019 C++ x64/x86 build tools
* Windows 10 SDK (10.0.18362.0)
* C++ ATL for v142 build tools (x86 & x64)
* C++ Clang tools for Windows
* On the Individual components tab, ensure the following items are selected:
* MSVC v142 - VS 2019 C++ ARM64 build tools
* C++ ATL for v142 build tools (ARM64)


### Git Submodules
@@ -84,7 +85,7 @@ Additionally, the following build time dependencies are included in Git submodul
* [Py2Exe](https://github.com/albertosottile/py2exe/), version 0.9.3.2 commit b372a8e
* [Python Windows Extensions](https://sourceforge.net/projects/pywin32/ ), build 224, required by py2exe
* [txt2tags](https://txt2tags.org/), version 2.5
* [SCons](https://www.scons.org/), version 3.0.4
* [SCons](https://www.scons.org/), version 3.1.2
* [Nulsoft Install System](https://nsis.sourceforge.io/Main_Page/), version 2.51
* [NSIS UAC plug-in](https://nsis.sourceforge.io/UAC_plug-in), version 0.2.4, ansi
* xgettext and msgfmt from [GNU gettext](https://sourceforge.net/projects/cppcms/files/boost_locale/gettext_for_windows/)
@@ -41,6 +41,6 @@ exclude = # don't bother looking in the following subdirectories / files.
.tox,
build,
output,
include,
include/*,
miscDeps,
source/louis,

0 comments on commit 67ca5c4

Please sign in to comment.
You can’t perform that action at this time.