Skip to content

Commit 56a7b47

Browse files
christianparpartchriseth
authored andcommitted
Release build for Windows.
1 parent ccc6106 commit 56a7b47

File tree

5 files changed

+36
-55
lines changed

5 files changed

+36
-55
lines changed

.circleci/build_win.ps1

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
cd "$PSScriptRoot\.."
2+
3+
if ("$Env:FORCE_RELEASE" -eq "true") {
4+
Out-File -FilePath prerelease.txt
5+
}
6+
27
mkdir build
38
cd build
49
$boost_dir=(Resolve-Path $PSScriptRoot\..\deps\boost\lib\cmake\Boost-*)

.circleci/config.yml

+8-1
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ jobs:
883883
- run: *gitter_notify_failure
884884
- run: *gitter_notify_success
885885

886-
b_win:
886+
b_win: &b_win
887887
executor:
888888
name: win/default
889889
shell: powershell.exe
@@ -906,6 +906,12 @@ jobs:
906906
- store_artifacts: *artifact_solc_windows
907907
- persist_to_workspace: *artifacts_build_dir
908908

909+
b_win_release:
910+
<<: *b_win
911+
environment:
912+
FORCE_RELEASE: ON
913+
914+
909915
workflows:
910916
version: 2
911917

@@ -959,6 +965,7 @@ workflows:
959965

960966
# Windows build and tests
961967
- b_win: *workflow_trigger_on_tags
968+
- b_win_release: *workflow_trigger_on_tags
962969

963970
nightly:
964971

ReleaseChecklist.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
- [ ] Create a pull request from ``develop`` to ``release``, wait for the tests, then merge it.
2626
- [ ] Make a final check that there are no platform-dependency issues in the ``solidity-test-bytecode`` repository.
2727
- [ ] Wait for the tests for the commit on ``release``, create a release in Github, creating the tag (click the `PUBLISH RELEASE` button on the release page.)
28-
- [ ] Wait for the CI runs on the tag itself (travis and appveyor should push artifacts onto the Github release page).
28+
- [ ] Wait for the CI runs on the tag itself (travis should push artifacts onto the Github release page).
29+
- [ ] Take the ``solc.exe`` binary from the ``b_win_release`` run of the released commit in circle-ci and add it to the release page as ``solc-windows.exe``.
2930
- [ ] Run ``scripts/create_source_tarball.sh`` while being on the tag to create the source tarball. Make sure to create ``prerelease.txt`` before: (``echo -n > prerelease.txt``). This will create the tarball in a directory called ``upload``.
3031
- [ ] Take the tarball from the upload directory (its name should be ``solidity_x.x.x.tar.gz``, otherwise ``prerelease.txt`` was missing in the step before) and upload the source tarball to the release page.
3132

docs/installing-solidity.rst

+21-15
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ The following C++ compilers and their minimum versions can build the Solidity co
230230

231231
- `GCC <https://gcc.gnu.org>`_, version 5+
232232
- `Clang <https://clang.llvm.org/>`_, version 3.4+
233-
- `MSVC <https://docs.microsoft.com/en-us/cpp/?view=vs-2019>`_, version 2017+
233+
- `MSVC <https://visualstudio.microsoft.com/vs/>`_, version 2019+
234234

235235
Prerequisites - macOS
236236
---------------------
@@ -262,29 +262,29 @@ You need to install the following dependencies for Windows builds of Solidity:
262262
+-----------------------------------+-------------------------------------------------------+
263263
| Software | Notes |
264264
+===================================+=======================================================+
265-
| `Visual Studio 2017 Build Tools`_ | C++ compiler |
265+
| `Visual Studio 2019 Build Tools`_ | C++ compiler |
266266
+-----------------------------------+-------------------------------------------------------+
267-
| `Visual Studio 2017`_ (Optional) | C++ compiler and dev environment. |
267+
| `Visual Studio 2019`_ (Optional) | C++ compiler and dev environment. |
268268
+-----------------------------------+-------------------------------------------------------+
269269

270270
If you already have one IDE and only need the compiler and libraries,
271-
you could install Visual Studio 2017 Build Tools.
271+
you could install Visual Studio 2019 Build Tools.
272272

273-
Visual Studio 2017 provides both IDE and necessary compiler and libraries.
274-
So if you have not got an IDE and prefer to develop solidity, Visual Studio 2017
273+
Visual Studio 2019 provides both IDE and necessary compiler and libraries.
274+
So if you have not got an IDE and prefer to develop solidity, Visual Studio 2019
275275
may be a choice for you to get everything setup easily.
276276

277277
Here is the list of components that should be installed
278-
in Visual Studio 2017 Build Tools or Visual Studio 2017:
278+
in Visual Studio 2019 Build Tools or Visual Studio 2019:
279279

280280
* Visual Studio C++ core features
281-
* VC++ 2017 v141 toolset (x86,x64)
281+
* VC++ 2019 v141 toolset (x86,x64)
282282
* Windows Universal CRT SDK
283283
* Windows 8.1 SDK
284284
* C++/CLI support
285285

286-
.. _Visual Studio 2017: https://www.visualstudio.com/vs/
287-
.. _Visual Studio 2017 Build Tools: https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
286+
.. _Visual Studio 2019: https://www.visualstudio.com/vs/
287+
.. _Visual Studio 2019 Build Tools: https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019
288288

289289
Dependencies Helper Script
290290
--------------------------
@@ -300,7 +300,10 @@ Or, on Windows:
300300

301301
.. code-block:: bat
302302
303-
scripts\install_deps.bat
303+
scripts\install_deps.ps1
304+
305+
Note that the latter command will install ``boost`` and ``cmake`` to the ``deps`` subdirectory, while the former command
306+
will attempt to install the dependencies globally.
304307

305308
Clone the Repository
306309
--------------------
@@ -362,11 +365,14 @@ And for Windows:
362365
363366
mkdir build
364367
cd build
365-
cmake -G "Visual Studio 15 2017 Win64" ..
368+
cmake -G "Visual Studio 16 2019 Win64" ..
369+
370+
In case you want to use the version of boost installed by ``./scripts/install_deps.ps1``, you will
371+
additionally need to pass ``-DBoost_DIR="..\deps\boost\lib\cmake\Boost-*"`` and ``-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded``
372+
as arguments to the call to ``cmake``.
366373

367-
This latter set of instructions should result in the creation of
368-
**solidity.sln** in that build directory. Double-clicking on that file
369-
should result in Visual Studio firing up. We suggest building
374+
This should result in the creation of **solidity.sln** in that build directory.
375+
Double-clicking on that file should result in Visual Studio firing up. We suggest building
370376
**Release** configuration, but all others work.
371377

372378
Alternatively, you can build for Windows on the command-line, like so:

scripts/release.bat

-38
This file was deleted.

0 commit comments

Comments
 (0)