gencpp/scripts
Ed_ 266163557f Finished draft pass verifying containers.array.hpp is equivalent to container.hpp's array.
gen_generic_selection_function_macro now works generically
Imprvoed _Generic function overloading examples
2024-12-05 21:01:04 -05:00
..
helpers Got refactored raylib working in the vis_ast binary 2023-11-19 00:01:35 -05:00
.clang-format Updated gencpp with latest fixes used in other projects. 2024-04-17 17:40:32 -04:00
build.ci.ps1 Finished draft pass verifying containers.array.hpp is equivalent to container.hpp's array. 2024-12-05 21:01:04 -05:00
build.ps1 Simpilication of build script, added initial support for tests 2023-08-20 12:31:28 -04:00
c_library.refactor new files 2024-11-30 17:22:06 -05:00
clean.ps1 Made clean script remove the gen dir now from test dir. 2023-08-20 15:51:51 -04:00
genccp.natstepfilter Fixes to memory mangment, library is much faster now. 2023-07-16 18:00:07 -04:00
gencpp.natvis Updated docs 2024-04-17 18:29:30 -04:00
gencpp.refactor Finished AST/Code member inferface usage elimination in base library. 2024-12-02 20:20:30 -05:00
package_release.ps1 Need cstdlib for systems calls in generator files. update to package_release.ps1 2024-10-27 21:38:02 -04:00
Readme.md Simpilication of build script, added initial support for tests 2023-08-20 12:31:28 -04:00
refactor_c_library.ps1 new files 2024-11-30 17:22:06 -05:00
refactor_unreal.ps1 inital implemention of UE library variant generator completed 2024-10-25 05:01:37 -04:00
refactor.ps1 Added refactor.ps1 script, fixed the gencpp.refactor script (missing commas) 2023-07-24 23:47:04 -04:00
unreal.refactor progress on unreal variant generator 2024-10-25 03:00:07 -04:00

Scripts

Generation, testing, and cleanup scripts for the test directory are found here along with natvis and natstepfilter files for debugging.

Refactoring

refactor.ps1 Provides a way to run the 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.

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