gencpp/scripts/Readme.md

48 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2023-07-15 20:38:53 -07:00
# Scripts
Generation, testing, and cleanup scripts for the test directory are found here along with `natvis` and `natstepfilter` files for debugging.
2023-07-15 20:38:53 -07:00
## Refactoring
2023-07-15 20:38:53 -07:00
`refactor.ps1` Provides a way to run the [refactor](github.com/Ed94/refactor) program. It uses the `gencpp.refactor` script to complete a mass refactor of all content within the files of the specified within the script.
2023-07-15 20:38:53 -07:00
Currently `refactor` only supports naive sort of *find and replace* feature set and will not be able to rename identifiers excluisvely to a specific context (such as only renaming member names of a specific struct, etc).
**Note: The following macros are used with specifiers and token parsing within the library:**
* global
* internal
* local_persist
* forceinline
* neverinline
IF they are changed the following files would need adjustment:
* `./project/enums/ESpecifier.csv`
* `./project/enums/ETokType.csv`
* `./project/helpers/helper.hpp`
## Build & Run Scripts
**`clean.ps1`**
Remove any generated content from the repository.
**`build.ps1`**
Build bootstrap, singleheader, or tests. Supports MSVC or clang, release or debug.
```
args:
bootstrap
singleheader
test
clang
msvc : By default this project builds with clang, specifying msvc will build with MSVC.
debug
release : By default this project builds in debug mode, specifying release will build with optimizations.
```
**`package_release.ps1`**
Will build the project as fast as possible, then package the release into a zip file.
*Note: My env is Windows 11 with MSVC 2022 and clang 16.0.6*