mirror of
https://github.com/Ed94/gencpp.git
synced 2024-12-22 07:44:45 -08:00
128 lines
7.4 KiB
PowerShell
128 lines
7.4 KiB
PowerShell
$misc = Join-Path $PSScriptRoot 'helpers/misc.psm1'
|
|
Import-Module $misc
|
|
|
|
$build = Join-Path $PSScriptRoot 'build.ci.ps1'
|
|
|
|
if ( $IsWindows ) {
|
|
& $build release msvc debug base segmented singleheader unreal c_lib c_lib_static c_lib_dyn
|
|
}
|
|
|
|
$path_root = Get-ScriptRepoRoot
|
|
$path_docs = Join-Path $path_root docs
|
|
$path_base = Join-Path $path_root base
|
|
$path_c_library = Join-Path $path_root gen_c_library
|
|
$path_c_library_build = Join-Path $path_c_library build
|
|
$path_c_library_gen = Join-Path $path_c_library gen
|
|
$path_segmented = Join-Path $path_root gen_segmented
|
|
$path_segmented_gen = Join-Path $path_segmented gen
|
|
$path_singleheader = Join-Path $path_root gen_singleheader
|
|
$path_singleheader_gen = Join-Path $path_singleheader gen
|
|
$path_unreal = Join-Path $path_root gen_unreal_engine
|
|
$path_unreal_gen = Join-Path $path_unreal gen
|
|
$path_release = Join-Path $path_root release
|
|
$path_release_content = Join-Path $path_release content
|
|
|
|
if ( -not(Test-Path $path_release) ) {
|
|
New-Item -ItemType Directory -Path $path_release
|
|
}
|
|
|
|
function prep-ReleaseContent()
|
|
{
|
|
New-Item -ItemType Directory -Path $path_release_content
|
|
|
|
$license = Join-Path $path_root LICENSE
|
|
$readme_root = Join-Path $path_root Readme.md
|
|
$readme_docs = Join-Path $path_docs Readme.md
|
|
$readme_ast_design = Join-Path $path_docs AST_Design.md
|
|
$readme_ast_types = Join-Path $path_docs AST_Types.md
|
|
$readme_parsing = Join-Path $path_docs Parsing.md
|
|
$readme_parser_algo = Join-Path $path_docs Parser_Algo.md
|
|
|
|
Copy-Item $license -Destination (Join-Path $path_release_content "LICENSE")
|
|
Copy-Item $readme_root -Destination (Join-Path $path_release_content "Readme.md")
|
|
Copy-Item $readme_docs -Destination (Join-Path $path_release_content "Readme_Docs.md")
|
|
Copy-Item $readme_ast_design -Destination (Join-Path $path_release_content "AST_Design.md")
|
|
Copy-Item $readme_ast_types -Destination (Join-Path $path_release_content "AST_Types.md")
|
|
Copy-Item $readme_parsing -Destination (Join-Path $path_release_content "Parsing.md")
|
|
Copy-Item $readme_parser_algo -Destination (Join-Path $path_release_content "Parser_Algo.md")
|
|
}
|
|
|
|
# Singleheader
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_singleheader\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_singleheader_gen\gen.hpp -Destination $path_release_content
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_singleheader.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# Segmented
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_segmented\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_segmented_gen\* -Destination $path_release_content
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_segmented.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# Unreal
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_unreal\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_unreal_gen\* -Destination $path_release_content
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_unreal.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# C Library Singleheader
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_c_library\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen_singleheader.h -Destination $path_release_content\gen.h
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_c11_singleheader.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# C Library Segmented
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_c_library\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.dep.c -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.dep.h -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.c -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.h -Destination $path_release_content
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_c11_segmented.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# C Library Segmented
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_c_library\Readme.md -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.dep.c -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.dep.h -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.c -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_c_library_gen\gen.h -Destination $path_release_content
|
|
Compress-Archive -Path $path_release_content\* -DestinationPath $path_release\gencpp_c11_segmented.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|
|
|
|
# C Lib Static & Dyanmic Libs
|
|
Copy-Item -Verbose -Path $path_c_library_build\gencpp_c11.lib -Destination $path_release
|
|
Copy-Item -Verbose -Path $path_c_library_build\gencpp_c11.dll -Destination $path_release
|
|
|
|
# Base
|
|
|
|
prep-ReleaseContent
|
|
Copy-Item -Verbose -Path $path_base\gen.hpp -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_base\gen.cpp -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_base\gen.dep.hpp -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_base\gen.dep.cpp -Destination $path_release_content
|
|
Copy-Item -Verbose -Path $path_base\auxiliary\builder.hpp -Destination $path_release_content\auxiliary
|
|
Copy-Item -Verbose -Path $path_base\auxiliary\builder.cpp -Destination $path_release_content\auxiliary
|
|
Copy-Item -Verbose -Path $path_base\auxiliary\scanner.hpp -Destination $path_release_content\auxiliary
|
|
Copy-Item -Verbose -Path $path_base\auxiliary\scanner.cpp -Destination $path_release_content\auxiliary
|
|
|
|
New-Item -ItemType Directory -Force -Path "$path_release_content\components"
|
|
New-Item -ItemType Directory -Force -Path "$path_release_content\components\gen"
|
|
New-Item -ItemType Directory -Force -Path "$path_release_content\dependencies"
|
|
New-Item -ItemType Directory -Force -Path "$path_release_content\enums"
|
|
New-Item -ItemType Directory -Force -Path "$path_release_content\helpers"
|
|
|
|
Get-ChildItem -Verbose -Path "$path_base\components\*" -Include *.cpp,*.hpp | Copy-Item -Verbose -Destination "$path_release_content\components"
|
|
Get-ChildItem -Verbose -Path "$path_base\components\gen\*" -Include *.cpp,*.hpp | Copy-Item -Verbose -Destination "$path_release_content\components\gen"
|
|
Get-ChildItem -Verbose -Path "$path_base\dependencies\*" -Include *.cpp,*.hpp | Copy-Item -Verbose -Destination "$path_release_content\dependencies"
|
|
Get-ChildItem -Verbose -Path "$path_base\enums\*" -Include *.csv | Copy-Item -Verbose -Destination "$path_release_content\enums"
|
|
Get-ChildItem -Verbose -Path "$path_base\helpers\*" -Include *.cpp,*.hpp | Copy-Item -Verbose -Destination "$path_release_content\helpers"
|
|
|
|
Compress-Archive -Path $path_release_content\** -DestinationPath $path_release\gencpp_base.zip -Force
|
|
Remove-Item -Path $path_release_content -Recurse
|