mirror of
https://github.com/Ed94/gencpp.git
synced 2024-11-10 02:54:53 -08:00
Ed_
257e9ebf11
Decided not to support the incremental API, its not necessary as the ergonomics are not that big a deal. Got operators to pass the sanity base cases, which means now all upfront constructors pass the base cases! Next up is getting it to pass the array container generation.
103 lines
2.0 KiB
PowerShell
103 lines
2.0 KiB
PowerShell
[string] $type = $null
|
|
[string] $test = $false
|
|
|
|
foreach ( $arg in $args )
|
|
{
|
|
if ( $arg -eq "test" )
|
|
{
|
|
$test = $true
|
|
}
|
|
else
|
|
{
|
|
$type = $arg
|
|
}
|
|
}
|
|
|
|
|
|
$path_root = git rev-parse --show-toplevel
|
|
$path_build = Join-Path $path_root build
|
|
$path_scripts = Join-Path $path_root scripts
|
|
|
|
|
|
# if ( $test -eq $true )
|
|
# {
|
|
#region Test Build
|
|
write-host "`n`nBuilding Test`n"
|
|
|
|
$path_test = Join-Path $path_root test
|
|
$path_gen = Join-Path $path_test gen
|
|
$path_test_build = Join-Path $path_test build
|
|
$path_gen_build = Join-Path $path_gen build
|
|
|
|
# Generate files using metaprogram.
|
|
if ( -not( Test-Path $path_gen_build ) )
|
|
{
|
|
$args_meson = @()
|
|
$args_meson += "setup"
|
|
$args_meson += $path_gen_build
|
|
|
|
Push-Location $path_gen
|
|
& meson $args_meson
|
|
Pop-Location
|
|
}
|
|
|
|
$args_ninja = @()
|
|
$args_ninja += "-C"
|
|
$args_ninja += $path_gen_build
|
|
|
|
Push-Location $path_root
|
|
& ninja $args_ninja
|
|
Pop-Location
|
|
|
|
$gencpp = Join-Path $path_gen_build gencpp.exe
|
|
|
|
Push-location $path_gen
|
|
|
|
Write-Host `nGenerating files...
|
|
& $gencpp
|
|
|
|
Write-Host `nBeginning format...
|
|
$formatParams = @(
|
|
'-i' # In-place
|
|
'-style=file' # Search for a .clang-format file in the parent directory of the source file.
|
|
'-verbose'
|
|
)
|
|
|
|
$include = @('*.gen.hpp', '*.gen.cpp')
|
|
$exclude = $null
|
|
|
|
$targetFiles = @(Get-ChildItem -Recurse -Path $path_gen -Include $include -Exclude $exclude | Select-Object -ExpandProperty FullName)
|
|
|
|
clang-format $formatParams $targetFiles
|
|
Write-Host "`nFormatting complete"
|
|
Pop-Location
|
|
|
|
|
|
# Build the program depending on generated files.
|
|
# if ( -not( Test-Path $path_test_build ) )k
|
|
# {
|
|
# $args_meson = @()
|
|
# $args_meson += "setup"
|
|
# $args_meson += $path_test_build
|
|
|
|
# Push-Location $path_test
|
|
# & meson $args_meson
|
|
# Pop-Location
|
|
# }
|
|
|
|
# $args_ninja = @()
|
|
# $args_ninja += "-C"
|
|
# $args_ninja += $path_test_build
|
|
|
|
# Push-Location $path_root
|
|
# ninja $args_ninja
|
|
# Pop-Location
|
|
|
|
# $testcpp = Join-Path $path_test_build testcpp.exe
|
|
|
|
# Push-Location $path_test
|
|
# & $testcpp
|
|
# Pop-Location
|
|
# endregion Test Build
|
|
# }
|