From 63852af5da2f7a82924504fcca529f2a9ac9a656 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Tue, 23 May 2023 22:10:24 +0100 Subject: [PATCH 01/18] Add CMakePresets instead of CMakeSettings --- CMakePresets.json | 91 ++++++++++++++++++++++++++++++++++++++++++++++ CMakeSettings.json | 52 -------------------------- 2 files changed, 91 insertions(+), 52 deletions(-) create mode 100644 CMakePresets.json delete mode 100644 CMakeSettings.json diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000000..e4519ff3dc --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,91 @@ +{ + "version": 5, + "cmakeMinimumRequired": { + "major": 3, + "minor": 24, + "patch": 0 + }, + "configurePresets": [ + { + "name": "base", + "hidden": true, + "binaryDir": "${sourceDir}/out/build/${presetName}", + "installDir": "${sourceDir}/out/install/${presetName}" + }, + { + "name": "x86", + "inherits": "base", + "description": "x86 Ninja Config", + "generator": "Ninja", + "architecture": { + "strategy": "external", + "value": "x86" + } + }, + { + "name": "x64", + "inherits": "base", + "description": "x64 Ninja Config", + "generator": "Ninja", + "architecture": { + "strategy": "external", + "value": "x64" + } + }, + { + "name": "ARM", + "inherits": "base", + "description": "ARM Ninja Config", + "generator": "Ninja", + "architecture": { + "strategy": "external", + "value": "ARM" + } + }, + { + "name": "ARM64", + "inherits": "base", + "description": "ARM64 Ninja Config", + "generator": "Ninja", + "architecture": { + "strategy": "external", + "value": "ARM64" + } + } + ], + "buildPresets": [ + { + "name": "base-build", + "hidden": true, + "nativeToolOptions": [ "-v" ] + }, + { + "name": "x86", + "inherits": "base-build", + "configurePreset": "x86", + "description": "Build x86 STL", + "configuration": "Release" + }, + { + "name": "x64", + "inherits": "base-build", + "configurePreset": "x64", + "description": "Build x64 STL", + "configuration": "Release" + }, + { + "name": "ARM", + "inherits": "base-build", + "configurePreset": "ARM", + "description": "Build ARM STL", + "configuration": "Release" + }, + { + "name": "ARM64", + "inherits": "base-build", + "configurePreset": "ARM64", + "description": "Build ARM64 STL", + "configuration": "Release" + } + ] +} \ No newline at end of file diff --git a/CMakeSettings.json b/CMakeSettings.json deleted file mode 100644 index f5c1dfff5c..0000000000 --- a/CMakeSettings.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "configurations": [ - { - "name": "x86", - "buildCommandArgs": "-v", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "cmakeCommandArgs": "", - "configurationType": "Debug", - "ctestCommandArgs": "", - "generator": "Ninja", - "inheritEnvironments": [ "msvc_x86" ], - "installRoot": "${projectDir}\\out\\install\\${name}", - "variables": [] - }, - { - "name": "x64", - "buildCommandArgs": "-v", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "cmakeCommandArgs": "", - "configurationType": "Debug", - "ctestCommandArgs": "", - "generator": "Ninja", - "inheritEnvironments": [ "msvc_x64_x64" ], - "installRoot": "${projectDir}\\out\\install\\${name}", - "variables": [] - }, - { - "name": "ARM", - "buildCommandArgs": "-v", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "cmakeCommandArgs": "", - "configurationType": "Debug", - "ctestCommandArgs": "", - "generator": "Ninja", - "inheritEnvironments": [ "msvc_arm" ], - "installRoot": "${projectDir}\\out\\install\\${name}", - "variables": [] - }, - { - "name": "ARM64", - "buildCommandArgs": "-v", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "cmakeCommandArgs": "", - "configurationType": "Debug", - "ctestCommandArgs": "", - "generator": "Ninja", - "inheritEnvironments": [ "msvc_arm64" ], - "installRoot": "${projectDir}\\out\\install\\${name}", - "variables": [] - } - ] -} From 974f0c0566055dfd04810ea8692eaa71d9aaf836 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Tue, 23 May 2023 22:16:22 +0100 Subject: [PATCH 02/18] Update readme --- CMakePresets.json | 2 +- README.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index e4519ff3dc..acf27c34a5 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -2,7 +2,7 @@ "version": 5, "cmakeMinimumRequired": { "major": 3, - "minor": 24, + "minor": 26, "patch": 0 }, "configurePresets": [ diff --git a/README.md b/README.md index bb6c91125e..d12ed62c60 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem 3. Open a terminal in the IDE with `` Ctrl + ` `` (by default) or press on "View" in the top bar, and then "Terminal". 4. In the terminal, invoke `git submodule update --init --progress` 5. 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`. + settings are set by `CMakePresets.json`. # How To Build With A Native Tools Command Prompt @@ -172,15 +172,15 @@ To build the x86 target: 1. Open an "x86 Native Tools Command Prompt for VS 2022 Preview". 2. Change directories to the previously cloned `STL` directory. -3. `cmake -G Ninja -S . -B out\build\x86` -4. `ninja -C out\build\x86` +3. `cmake --preset x86` +4. `cmake --build --preset x86` To build the x64 target (recommended): 1. Open an "x64 Native Tools Command Prompt for VS 2022 Preview". 2. Change directories to the previously cloned `STL` directory. -3. `cmake -G Ninja -S . -B out\build\x64` -4. `ninja -C out\build\x64` +3. `cmake --preset x64 +4. `cmake --build --preset x64` # How To Consume From 9761b65e53820f503fd6fec91742655856ab8c9d Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Tue, 23 May 2023 22:21:01 +0100 Subject: [PATCH 03/18] Remove configuration from build --- CMakePresets.json | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index acf27c34a5..e5cd7e11b0 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -63,29 +63,25 @@ "name": "x86", "inherits": "base-build", "configurePreset": "x86", - "description": "Build x86 STL", - "configuration": "Release" + "description": "Build x86 STL" }, { "name": "x64", "inherits": "base-build", "configurePreset": "x64", - "description": "Build x64 STL", - "configuration": "Release" + "description": "Build x64 STL" }, { "name": "ARM", "inherits": "base-build", "configurePreset": "ARM", - "description": "Build ARM STL", - "configuration": "Release" + "description": "Build ARM STL" }, { "name": "ARM64", "inherits": "base-build", "configurePreset": "ARM64", - "description": "Build ARM64 STL", - "configuration": "Release" + "description": "Build ARM64 STL" } ] } \ No newline at end of file From 5205455d260cc25987472eee9837d53c3e301496 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Wed, 24 May 2023 08:15:17 +0100 Subject: [PATCH 04/18] Add missing newline --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index e5cd7e11b0..0230560235 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -84,4 +84,4 @@ "description": "Build ARM64 STL" } ] -} \ No newline at end of file +} From 79319b250b349b6acbf1f9c34bfae101931a62a9 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:22:25 -0700 Subject: [PATCH 05/18] Upgrade to version 6. --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index 0230560235..d8b60525b5 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 5, + "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 26, From 60a47ac7d2b232b5e3f326656832503ab852e78a Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:26:02 -0700 Subject: [PATCH 06/18] Consolidate the Ninja setting into the base preset. --- CMakePresets.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index d8b60525b5..8c7b73cd88 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -9,6 +9,7 @@ { "name": "base", "hidden": true, + "generator": "Ninja", "binaryDir": "${sourceDir}/out/build/${presetName}", "installDir": "${sourceDir}/out/install/${presetName}" }, @@ -16,7 +17,6 @@ "name": "x86", "inherits": "base", "description": "x86 Ninja Config", - "generator": "Ninja", "architecture": { "strategy": "external", "value": "x86" @@ -26,7 +26,6 @@ "name": "x64", "inherits": "base", "description": "x64 Ninja Config", - "generator": "Ninja", "architecture": { "strategy": "external", "value": "x64" @@ -36,7 +35,6 @@ "name": "ARM", "inherits": "base", "description": "ARM Ninja Config", - "generator": "Ninja", "architecture": { "strategy": "external", "value": "ARM" @@ -46,7 +44,6 @@ "name": "ARM64", "inherits": "base", "description": "ARM64 Ninja Config", - "generator": "Ninja", "architecture": { "strategy": "external", "value": "ARM64" From 79957dc96aaac42be818494eb503f751ec3ed0b8 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:32:41 -0700 Subject: [PATCH 07/18] Drop installDir - we never used it. --- CMakePresets.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 8c7b73cd88..de9988b753 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,8 +10,7 @@ "name": "base", "hidden": true, "generator": "Ninja", - "binaryDir": "${sourceDir}/out/build/${presetName}", - "installDir": "${sourceDir}/out/install/${presetName}" + "binaryDir": "${sourceDir}/out/build/${presetName}" }, { "name": "x86", From f8aa795f5782bf8184620cc43fee5fd5c1ae805b Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:33:20 -0700 Subject: [PATCH 08/18] Simplify binaryDir; we now prefer to omit `build`. --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index de9988b753..280cefd86e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,7 +10,7 @@ "name": "base", "hidden": true, "generator": "Ninja", - "binaryDir": "${sourceDir}/out/build/${presetName}" + "binaryDir": "${sourceDir}/out/${presetName}" }, { "name": "x86", From 756c287294557dc8635b09cd1c585a8a52d0babb Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:37:22 -0700 Subject: [PATCH 09/18] Consolidate description and architecture into the base preset. --- CMakePresets.json | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 280cefd86e..2a51f1808b 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,43 +10,28 @@ "name": "base", "hidden": true, "generator": "Ninja", - "binaryDir": "${sourceDir}/out/${presetName}" - }, - { - "name": "x86", - "inherits": "base", - "description": "x86 Ninja Config", + "binaryDir": "${sourceDir}/out/${presetName}", + "description": "${presetName} Ninja Config", "architecture": { "strategy": "external", - "value": "x86" + "value": "${presetName}" } }, + { + "name": "x86", + "inherits": "base" + }, { "name": "x64", - "inherits": "base", - "description": "x64 Ninja Config", - "architecture": { - "strategy": "external", - "value": "x64" - } + "inherits": "base" }, { "name": "ARM", - "inherits": "base", - "description": "ARM Ninja Config", - "architecture": { - "strategy": "external", - "value": "ARM" - } + "inherits": "base" }, { "name": "ARM64", - "inherits": "base", - "description": "ARM64 Ninja Config", - "architecture": { - "strategy": "external", - "value": "ARM64" - } + "inherits": "base" } ], "buildPresets": [ From 9f6b0ab1a1638c59e48b97654a31431fe34549ae Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:38:50 -0700 Subject: [PATCH 10/18] Drop `-v` from building; it appeared in CMakeSettings.json but we never ordinarily used it. --- CMakePresets.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 2a51f1808b..a83a218289 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -35,32 +35,23 @@ } ], "buildPresets": [ - { - "name": "base-build", - "hidden": true, - "nativeToolOptions": [ "-v" ] - }, { "name": "x86", - "inherits": "base-build", "configurePreset": "x86", "description": "Build x86 STL" }, { "name": "x64", - "inherits": "base-build", "configurePreset": "x64", "description": "Build x64 STL" }, { "name": "ARM", - "inherits": "base-build", "configurePreset": "ARM", "description": "Build ARM STL" }, { "name": "ARM64", - "inherits": "base-build", "configurePreset": "ARM64", "description": "Build ARM64 STL" } From 5d7064bf3c3a4cb66ec32b974121dd79a1965eb6 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:40:52 -0700 Subject: [PATCH 11/18] Set TESTS_BUILD_ONLY for ARM/ARM64; this is needed for test runs to pass. --- CMakePresets.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index a83a218289..5e31d537fb 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -27,11 +27,17 @@ }, { "name": "ARM", - "inherits": "base" + "inherits": "base", + "cacheVariables": { + "TESTS_BUILD_ONLY": true + } }, { "name": "ARM64", - "inherits": "base" + "inherits": "base", + "cacheVariables": { + "TESTS_BUILD_ONLY": true + } } ], "buildPresets": [ From 91eda6979351df551cfcc956f5f9a8fd05150c73 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:48:31 -0700 Subject: [PATCH 12/18] Oops, description isn't inherited. --- CMakePresets.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 5e31d537fb..31b17ebd7c 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -11,7 +11,6 @@ "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/out/${presetName}", - "description": "${presetName} Ninja Config", "architecture": { "strategy": "external", "value": "${presetName}" @@ -19,15 +18,18 @@ }, { "name": "x86", - "inherits": "base" + "inherits": "base", + "description": "x86 Ninja Config" }, { "name": "x64", - "inherits": "base" + "inherits": "base", + "description": "x64 Ninja Config" }, { "name": "ARM", "inherits": "base", + "description": "ARM Ninja Config", "cacheVariables": { "TESTS_BUILD_ONLY": true } @@ -35,6 +37,7 @@ { "name": "ARM64", "inherits": "base", + "description": "ARM64 Ninja Config", "cacheVariables": { "TESTS_BUILD_ONLY": true } From 4a0654a8fb679dde08fb1f00c0d91479791f2f13 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 13:58:44 -0700 Subject: [PATCH 13/18] README.md: Add missing backtick. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d12ed62c60..2015b4cbc2 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ To build the x64 target (recommended): 1. Open an "x64 Native Tools Command Prompt for VS 2022 Preview". 2. Change directories to the previously cloned `STL` directory. -3. `cmake --preset x64 +3. `cmake --preset x64` 4. `cmake --build --preset x64` # How To Consume From b45adfe751cb74bef29b5342f8b7c00de4b0ce70 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 14:14:58 -0700 Subject: [PATCH 14/18] Update README.md: `out\build\x64` => `out\x64` --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2015b4cbc2..d264daf1ad 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ To build the x64 target (recommended): Consumption of the built library is largely based on the build system you're using. There are at least 2 directories you need to hook up. Assuming you built the x64 target with the Visual Studio IDE, with the STL repository cloned to -`C:\Dev\STL`, build outputs will end up at `C:\Dev\STL\out\build\x64\out`. Ensure that the `inc` directory is searched +`C:\Dev\STL`, build outputs will end up at `C:\Dev\STL\out\x64\out`. Ensure that the `inc` directory is searched for headers, and that `lib\{architecture}` is searched for link libraries, before any defaults supplied by MSVC. The names of the import and static libraries are the same as those that ship with MSVC. As a result, the compiler `/MD`, `/MDd`, `/MT`, or `/MTd` switches will work without modification of your build scripts or command-line muscle memory. @@ -210,7 +210,7 @@ variables to ensure that the built headers and libraries are used. From an "x64 Native Tools Command Prompt for VS 2022 Preview": ``` -C:\Users\username\Desktop>C:\Dev\STL\out\build\x64\set_environment.bat +C:\Users\username\Desktop>C:\Dev\STL\out\x64\set_environment.bat C:\Users\username\Desktop>type example.cpp #include @@ -253,7 +253,7 @@ under a category in libcxx, or running a single test in `std` and `tr1`. ## Examples -These examples assume that your current directory is `C:\Dev\STL\out\build\x64`. +These examples assume that your current directory is `C:\Dev\STL\out\x64`. * This command will run all of the test suites with verbose output. + `ctest -V` @@ -368,8 +368,8 @@ steps. Let's assume we want to debug a new feature with tests located in `tests\ As always, build the STL from your branch and run the tests: ``` -C:\STL\out\build\x64> ninja -C:\STL\out\build\x64> python tests\utils\stl-lit\stl-lit.py -v C:\STL\tests\std\tests\GH_XXXX_meow +C:\STL\out\x64> ninja +C:\STL\out\x64> python tests\utils\stl-lit\stl-lit.py -v C:\STL\tests\std\tests\GH_XXXX_meow ``` Let's assume one of the tests fails an assert and we want to debug that configuration. `stl-lit` will conveniently print @@ -379,14 +379,14 @@ provide debug symbols: `/Zi /Fdbark.pdb`. You can replace `bark` with any descriptive name you like. Add these before the `"-link"` option in the command line and recompile. Example: ``` -C:\STL\out\build\x64>cl "C:\STL\tests\std\tests\GH_XXXX_meow\test.cpp" [... more arguments ...] -"-FeC:\STL\out\build\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe" /Zi /Fdbark.pdb "-link" +C:\STL\out\x64>cl "C:\STL\tests\std\tests\GH_XXXX_meow\test.cpp" [... more arguments ...] +"-FeC:\STL\out\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe" /Zi /Fdbark.pdb "-link" [... more arguments ...] ``` You can now start debugging the test via: ``` -devenv "C:\STL\out\build\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe" +devenv "C:\STL\out\x64\tests\std\tests\GH_XXXX_meow\Output\02\GH_XXXX_meow.exe" "C:\STL\tests\std\tests\GH_XXXX_meow\test.cpp" ``` @@ -395,7 +395,7 @@ is that the STL builds those and other DLLs itself and we should under no circum If you are testing one of the configurations with dynamic linkage (`/MD` or `/MDd`) the easiest solution is to add the build folder to your path: ``` -set PATH=C:\STL\out\build\x64\out\bin\amd64;%PATH% +set PATH=C:\STL\out\x64\out\bin\amd64;%PATH% ``` # Benchmarking From 81a4db957389c02084ab6e3673ec6c54fba9f79e Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 14:27:18 -0700 Subject: [PATCH 15/18] README.md: Update build incantations in the benchmarks section. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d264daf1ad..cb154eed26 100644 --- a/README.md +++ b/README.md @@ -416,8 +416,8 @@ for how _we_ use it. To run benchmarks, you'll need to first build the STL, then build the benchmarks: ```cmd -cmake -B out\x64 -S . -G Ninja -cmake --build out\x64 +cmake --preset x64 +cmake --build --preset x64 cmake -B out\benchmark -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64 cmake --build out\benchmark ``` From 016e708ba14d8aeebbbd7e9c815e4fb6ebfcfefd Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 1 Jun 2023 14:31:16 -0700 Subject: [PATCH 16/18] Pre-existing: Fix benchmark dir inconsistency (taken from GH 3353). Co-authored-by: Michael Schellenberger Costa --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cb154eed26..ba01b75077 100644 --- a/README.md +++ b/README.md @@ -418,26 +418,26 @@ To run benchmarks, you'll need to first build the STL, then build the benchmarks ```cmd cmake --preset x64 cmake --build --preset x64 -cmake -B out\benchmark -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64 -cmake --build out\benchmark +cmake -B out\bench -S benchmarks -G Ninja -DSTL_BINARY_DIR=out\x64 +cmake --build out\bench ``` You can then run your benchmark with: ```cmd -out\benchmark\benchmark- --benchmark_out= --benchmark_out_format=csv +out\bench\benchmark- --benchmark_out= --benchmark_out_format=csv ``` And then you can copy this CSV file into Excel, or another spreadsheet program. For example: ```cmd -out\bench\benchmarks\benchmark-std_copy --benchmark_out=benchmark-std_copy-results.csv --benchmark_out_format=csv +out\bench\benchmark-std_copy --benchmark_out=benchmark-std_copy-results.csv --benchmark_out_format=csv ``` If you want to see all the other flags you can pass, run: ```cmd -out\bench\benchmarks\benchmark- --help +out\bench\benchmark- --help ``` # Editing And Testing The Debugger Visualizer From c93db03cc99bc62481a1cb5a02b23ff8cd561fc9 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 7 Jun 2023 12:17:32 -0700 Subject: [PATCH 17/18] Back to version 5. --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index 31b17ebd7c..0ba2169286 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 6, + "version": 5, "cmakeMinimumRequired": { "major": 3, "minor": 26, From 633f1e9ace7043d16b9c25244a426fefa6c1f083 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Wed, 7 Jun 2023 12:21:15 -0700 Subject: [PATCH 18/18] Un-consolidate architecture. --- CMakePresets.json | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 0ba2169286..31e064cebd 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,26 +10,34 @@ "name": "base", "hidden": true, "generator": "Ninja", - "binaryDir": "${sourceDir}/out/${presetName}", - "architecture": { - "strategy": "external", - "value": "${presetName}" - } + "binaryDir": "${sourceDir}/out/${presetName}" }, { "name": "x86", "inherits": "base", - "description": "x86 Ninja Config" + "description": "x86 Ninja Config", + "architecture": { + "strategy": "external", + "value": "x86" + } }, { "name": "x64", "inherits": "base", - "description": "x64 Ninja Config" + "description": "x64 Ninja Config", + "architecture": { + "strategy": "external", + "value": "x64" + } }, { "name": "ARM", "inherits": "base", "description": "ARM Ninja Config", + "architecture": { + "strategy": "external", + "value": "ARM" + }, "cacheVariables": { "TESTS_BUILD_ONLY": true } @@ -38,6 +46,10 @@ "name": "ARM64", "inherits": "base", "description": "ARM64 Ninja Config", + "architecture": { + "strategy": "external", + "value": "ARM64" + }, "cacheVariables": { "TESTS_BUILD_ONLY": true }