From 0a19a1a9ba068517369c347e23c6cbfdf2a10333 Mon Sep 17 00:00:00 2001 From: Amit Rastogi Date: Mon, 1 Jun 2020 01:06:47 +0530 Subject: [PATCH 1/7] Updated ReadMe.md #761 Updated the build instructions in ReadMe.md to use the vcpkg submodule present in this STL repository. The user can alternatively, use a separate installation of vcpkg. Both the build steps given below have been updated - 1. How To Build With The Visual Studio IDE 2. How To Build With A Native Tools Command Prompt --- README.md | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 19d2eab7841..c83fd16d6ed 100644 --- a/README.md +++ b/README.md @@ -141,17 +141,17 @@ The STL uses boost-math headers to provide P0226R1 Mathematical Special Function acquire this dependency. 1. Install Visual Studio 2019 16.6 Preview 2 or later. -2. Invoke `git clone https://github.com/microsoft/vcpkg` -3. Invoke `cd vcpkg` -4. Invoke `.\bootstrap-vcpkg.bat` -5. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` +2. Change directories to a location where you'd like a clone of this STL repository. +3. Invoke `git clone https://github.com/microsoft/STL` +4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` +5. Invoke `.\bootstrap-vcpkg.bat` +6. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. -6. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never +7. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never done this before, you may be prompted to elevate. -7. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL to this - repository, typically `https://github.com/microsoft/STL` -8. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake +8. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. +9. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake settings are set by `CMakeSettings.json` and `vcpkg integrate` # How To Build With A Native Tools Command Prompt @@ -160,18 +160,17 @@ These instructions assume you're targeting `x64-windows`; you can change this co architectures. 1. Install [CMake][] 3.16.5 or later, [Ninja][] 1.10.0 or later, and Visual Studio 2019 16.6 Preview 2 or later. -2. Invoke `git clone https://github.com/microsoft/vcpkg` -3. Invoke `cd vcpkg` -4. Invoke `.\bootstrap-vcpkg.bat` -5. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. -6. Open an "x64 Native Tools Command Prompt for VS 2019". -7. Change directories to a location where you'd like a clone of this STL repository. -8. Invoke `git clone https://github.com/microsoft/STL` -9. Invoke `cd STL` -10. Invoke `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE={where your vcpkg clone is located}\scripts\buildsystems\vcpkg.cmake +2. Change directories to a location where you'd like a clone of this STL repository. +3. Invoke `git clone https://github.com/microsoft/STL` +4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` +5. Invoke `.\bootstrap-vcpkg.bat` +6. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. +7. Open an "x64 Native Tools Command Prompt for VS 2019". +8. Change directories to the folder where this STL repository has been cloned. +9. Invoke `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE={where your vcpkg is located}\scripts\buildsystems\vcpkg.cmake -S . -B {wherever you want binaries}` to configure the project. For example, `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=C:\Dev\vcpkg\scripts\buildsystems\vcpkg.cmake -S . -B out\build\x64` -11. Invoke `ninja -C {wherever you want binaries}` to build the project. For example, `ninja -C out\build\x64` +10. Invoke `ninja -C {wherever you want binaries}` to build the project. For example, `ninja -C out\build\x64` # How To Consume From f49e3b8354e2420f75f304b3e6f589b012619db4 Mon Sep 17 00:00:00 2001 From: Amit Rastogi Date: Tue, 2 Jun 2020 19:17:59 +0530 Subject: [PATCH 2/7] Updated ReadMe.md with review comments Updated ReadMe.md with the following steps as per review comments- cd STL git submodule update --init -- vcpkg/ --- README.md | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index c83fd16d6ed..ab019bc9736 100644 --- a/README.md +++ b/README.md @@ -143,15 +143,17 @@ acquire this dependency. 1. Install Visual Studio 2019 16.6 Preview 2 or later. 2. Change directories to a location where you'd like a clone of this STL repository. 3. Invoke `git clone https://github.com/microsoft/STL` -4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` -5. Invoke `.\bootstrap-vcpkg.bat` -6. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` +4. Invoke `cd STL` +5. Invoke `git submodule update --init -- vcpkg/` +6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` +7. Invoke `.\bootstrap-vcpkg.bat` +8. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. -7. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never +9. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never done this before, you may be prompted to elevate. -8. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. -9. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake +10. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. +11. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake settings are set by `CMakeSettings.json` and `vcpkg integrate` # How To Build With A Native Tools Command Prompt @@ -162,15 +164,17 @@ architectures. 1. Install [CMake][] 3.16.5 or later, [Ninja][] 1.10.0 or later, and Visual Studio 2019 16.6 Preview 2 or later. 2. Change directories to a location where you'd like a clone of this STL repository. 3. Invoke `git clone https://github.com/microsoft/STL` -4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` -5. Invoke `.\bootstrap-vcpkg.bat` -6. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. -7. Open an "x64 Native Tools Command Prompt for VS 2019". -8. Change directories to the folder where this STL repository has been cloned. -9. Invoke `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE={where your vcpkg is located}\scripts\buildsystems\vcpkg.cmake +4. Invoke `cd STL` +5. Invoke `git submodule update --init -- vcpkg/` +6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` +7. Invoke `.\bootstrap-vcpkg.bat` +8. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. +9. Open an "x64 Native Tools Command Prompt for VS 2019". +10. Change directories to the folder where this STL repository has been cloned. +11. Invoke `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE={where your vcpkg is located}\scripts\buildsystems\vcpkg.cmake -S . -B {wherever you want binaries}` to configure the project. For example, `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=C:\Dev\vcpkg\scripts\buildsystems\vcpkg.cmake -S . -B out\build\x64` -10. Invoke `ninja -C {wherever you want binaries}` to build the project. For example, `ninja -C out\build\x64` +12. Invoke `ninja -C {wherever you want binaries}` to build the project. For example, `ninja -C out\build\x64` # How To Consume From 8c0c673559a6a5371aab0d8086814a75f970a6d5 Mon Sep 17 00:00:00 2001 From: Amit Rastogi Date: Thu, 4 Jun 2020 04:00:18 +0530 Subject: [PATCH 3/7] Updated ReadMe.md as per review comments Updated ReadMe.md as per review comments mainly - -removed vcpkg submodule init for IDE build step. -updated vcpkg init command for Command Prompt build step -updated example path of vcpkg specified to cmake to use the repository submodule path --- README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ab019bc9736..4f0b2296905 100644 --- a/README.md +++ b/README.md @@ -141,19 +141,18 @@ The STL uses boost-math headers to provide P0226R1 Mathematical Special Function acquire this dependency. 1. Install Visual Studio 2019 16.6 Preview 2 or later. -2. Change directories to a location where you'd like a clone of this STL repository. -3. Invoke `git clone https://github.com/microsoft/STL` -4. Invoke `cd STL` -5. Invoke `git submodule update --init -- vcpkg/` -6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` -7. Invoke `.\bootstrap-vcpkg.bat` -8. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` +2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL to this repository, typically + https://github.com/microsoft/STL. +3. Change directories to the folder where this STL repository has been cloned. +4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg. +5. Invoke `.\bootstrap-vcpkg.bat` +6. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. -9. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never +7. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never done this before, you may be prompted to elevate. -10. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. -11. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake +8. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. +9. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake settings are set by `CMakeSettings.json` and `vcpkg integrate` # How To Build With A Native Tools Command Prompt @@ -165,15 +164,15 @@ architectures. 2. Change directories to a location where you'd like a clone of this STL repository. 3. Invoke `git clone https://github.com/microsoft/STL` 4. Invoke `cd STL` -5. Invoke `git submodule update --init -- vcpkg/` -6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg e.g. `https://github.com/microsoft/vcpkg` +5. Invoke `git submodule update --init vcpkg` +6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg. 7. Invoke `.\bootstrap-vcpkg.bat` 8. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. 9. Open an "x64 Native Tools Command Prompt for VS 2019". 10. Change directories to the folder where this STL repository has been cloned. 11. Invoke `cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE={where your vcpkg is located}\scripts\buildsystems\vcpkg.cmake -S . -B {wherever you want binaries}` to configure the project. For example, `cmake -G Ninja --DCMAKE_TOOLCHAIN_FILE=C:\Dev\vcpkg\scripts\buildsystems\vcpkg.cmake -S . -B out\build\x64` +-DCMAKE_TOOLCHAIN_FILE=C:\STL\vcpkg\scripts\buildsystems\vcpkg.cmake -S . -B out\build\x64` 12. Invoke `ninja -C {wherever you want binaries}` to build the project. For example, `ninja -C out\build\x64` # How To Consume From 588df68cf3ce25fbd560062de3c3c80676f002c1 Mon Sep 17 00:00:00 2001 From: Amit Rastogi Date: Thu, 11 Jun 2020 00:40:44 +0530 Subject: [PATCH 4/7] Updated ReadMe to incorporate review 1. reverted back to using command prompt for cloning the STL repository, init of vcpkg and boost math installation in case of build steps using IDE. 2. added --progress option to submodule update of vcpkg as mentioned in #805 --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4f0b2296905..bf4e33e1ce9 100644 --- a/README.md +++ b/README.md @@ -141,18 +141,19 @@ The STL uses boost-math headers to provide P0226R1 Mathematical Special Function acquire this dependency. 1. Install Visual Studio 2019 16.6 Preview 2 or later. -2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL to this repository, typically - https://github.com/microsoft/STL. -3. Change directories to the folder where this STL repository has been cloned. -4. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg. -5. Invoke `.\bootstrap-vcpkg.bat` -6. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` +2. Open a command prompt and change directories to a location where you'd like a clone of this STL repository. +3. Invoke `git clone https://github.com/microsoft/STL` +4. Invoke `cd STL` +5. Invoke `git submodule update --init --progress vcpkg` +6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg. +7. Invoke `.\bootstrap-vcpkg.bat` +8. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. -7. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never +9. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never done this before, you may be prompted to elevate. -8. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. -9. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake +10. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. +11. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake settings are set by `CMakeSettings.json` and `vcpkg integrate` # How To Build With A Native Tools Command Prompt @@ -161,10 +162,10 @@ These instructions assume you're targeting `x64-windows`; you can change this co architectures. 1. Install [CMake][] 3.16.5 or later, [Ninja][] 1.10.0 or later, and Visual Studio 2019 16.6 Preview 2 or later. -2. Change directories to a location where you'd like a clone of this STL repository. +2. Open a command prompt and change directories to a location where you'd like a clone of this STL repository. 3. Invoke `git clone https://github.com/microsoft/STL` 4. Invoke `cd STL` -5. Invoke `git submodule update --init vcpkg` +5. Invoke `git submodule update --init --progress vcpkg` 6. Invoke `cd vcpkg`. Alternatively, you can use a separate installation of vcpkg. 7. Invoke `.\bootstrap-vcpkg.bat` 8. Invoke `.\vcpkg.exe install boost-math:x64-windows` to install the boost-math dependency. From 05ba28a7f3cbeb8382252c7e801dd4634f9e59a8 Mon Sep 17 00:00:00 2001 From: Curtis J Bezault Date: Wed, 19 Aug 2020 13:00:19 -0700 Subject: [PATCH 5/7] Update README.md After #1124 was merged the steps to get started were simplified to not need `vcpkg integrate`. --- README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index cf6d4c5cbff..0d9c19bbab6 100644 --- a/README.md +++ b/README.md @@ -141,17 +141,19 @@ The STL uses boost-math headers to provide P0226R1 Mathematical Special Function acquire this dependency. 1. Install Visual Studio 2019 16.8 Preview 1 or later. -2. Invoke `git clone https://github.com/microsoft/vcpkg` -3. Invoke `cd vcpkg` -4. Invoke `.\bootstrap-vcpkg.bat` -5. Assuming you are targeting x86 and x64, invoke `.\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` - to install the boost-math dependency. Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM - and ARM64. -9. Run `.\vcpkg.exe integrate install` which tells Visual Studio which vcpkg instance you wish to use. If you have never - done this before, you may be prompted to elevate. -10. Open Visual Studio, and choose the "Open a local folder" option. Navigate to the folder where this STL repository has been cloned. -11. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake - settings are set by `CMakeSettings.json` and `vcpkg integrate` + * We recommend selecting "C++ CMake tools for Windows" in the VS Installer. + This will ensure that you're using supported versions of CMake and Ninja. + * Otherwise, install [CMake][] 3.17 or later, and [Ninja][] 1.8.2 or later. +2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL of this repository, + `https://github.com/microsoft/STL`. +3. Open a terminal in the IDE with ````ctrl + ` ```` by default or press on "view" in the top bar then "Terminal". +4. Invoke `git submodule update --init vcpkg` in the terminal. +5. Invoke `.\vcpkg\bootstrap-vcpkg.bat` in the terminal. +6. Assuming you are targeting x86 and x64, invoke + `.\vcpkg\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. + Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. +7. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake + settings are set by `CMakeSettings.json`. # How To Build With A Native Tools Command Prompt From 856502ae3ac6d0ee1954af06f7a9bdd37a2688a1 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Wed, 19 Aug 2020 13:33:23 -0700 Subject: [PATCH 6/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d9c19bbab6..81cedec5d40 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ acquire this dependency. * Otherwise, install [CMake][] 3.17 or later, and [Ninja][] 1.8.2 or later. 2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL of this repository, `https://github.com/microsoft/STL`. -3. Open a terminal in the IDE with ````ctrl + ` ```` by default or press on "view" in the top bar then "Terminal". +3. Open a terminal in the IDE with ````ctrl + ` ```` (by default) or press on "View" in the top bar, and then "Terminal". 4. Invoke `git submodule update --init vcpkg` in the terminal. 5. Invoke `.\vcpkg\bootstrap-vcpkg.bat` in the terminal. 6. Assuming you are targeting x86 and x64, invoke From 6b99aec4541f5b5ae80f284970af9da4afa76e64 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 19 Aug 2020 16:24:24 -0700 Subject: [PATCH 7/7] Adjust backticks, drop ARM/ARM64 instructions. According to https://github.github.com/gfm/#code-spans , we don't need 4 backticks; 2 will work. We can also get the space trimmed away - we need a single space before and after for that to work. Finally, capitalize Ctrl. Drop the mention of adding `boost-math:arm-windows boost-math:arm64-windows` to the `vcpkg.exe install` command - this requires ARM/ARM64 support to be installed in VS, it has to be performed as a separate `vcpkg.exe install` command (because it requires `boost-build:x86-windows`, installed by the first command), this isn't mentioned in the command-line instructions, and it is unnecessary for most users. We can also drop "Assuming you are targeting x86 and x64," so this exactly matches the command-line phrasing. --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 81cedec5d40..36d179f9d04 100644 --- a/README.md +++ b/README.md @@ -146,12 +146,10 @@ acquire this dependency. * Otherwise, install [CMake][] 3.17 or later, and [Ninja][] 1.8.2 or later. 2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL of this repository, `https://github.com/microsoft/STL`. -3. Open a terminal in the IDE with ````ctrl + ` ```` (by default) or press on "View" in the top bar, and then "Terminal". +3. Open a terminal in the IDE with `` Ctrl + ` `` (by default) or press on "View" in the top bar, and then "Terminal". 4. Invoke `git submodule update --init vcpkg` in the terminal. 5. Invoke `.\vcpkg\bootstrap-vcpkg.bat` in the terminal. -6. Assuming you are targeting x86 and x64, invoke - `.\vcpkg\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. - Add `boost-math:arm-windows boost-math:arm64-windows` to this to target ARM and ARM64. +6. Invoke `.\vcpkg\vcpkg.exe install boost-math:x86-windows boost-math:x64-windows` to install the boost-math dependency. 7. Choose the architecture you wish to build in the IDE, and build as you would any other project. All necessary CMake settings are set by `CMakeSettings.json`.