This commit is contained in:
Chuck Walbourn 2024-09-04 17:51:02 -07:00 коммит произвёл GitHub
Родитель c37b79b61e
Коммит e4ea40246d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
9 изменённых файлов: 203 добавлений и 4 удалений

58
.github/workflows/wsl.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,58 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# https://go.microsoft.com/fwlink/?LinkID=324981
name: 'CMake (WSL)'
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
paths-ignore:
- '*.md'
- LICENSE
- '.nuget/*'
- build/*.cmd
- build/*.props
- build/*.ps1
- build/*.targets
- build/*.yml
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type: [x64-Debug-Linux, x64-Release-Linux]
gcc: [10, 11, 12]
steps:
- uses: actions/checkout@v4
- uses: seanmiddleditch/gha-setup-ninja@v5
- uses: lukka/run-vcpkg@v11
with:
runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '7516a02de04e8f8ff4e4beb8f5bac0565f9bf9da'
- name: 'Configure CMake'
working-directory: ${{ github.workspace }}
run: >
cmake --preset=${{ matrix.build_type }}
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="x64-linux"
env:
CC: gcc-${{ matrix.gcc }}
CXX: g++-${{ matrix.gcc }}
- name: 'Build'
working-directory: ${{ github.workspace }}
run: cmake --build out/build/${{ matrix.build_type }}

Просмотреть файл

@ -10,7 +10,7 @@
<description>This version is for Windows desktop applications using Visual Studio 2019 (16.11) or Visual Studio 2022 and supports Windows 7 / DirectX 11.
DirectXMesh, a shared source library for performing various geometry content processing operations including generating normals and tangent frames, triangle adjacency computations, vertex cache optimization, and meshlet generation.</description>
<releaseNotes>Matches the June 4, 2024 release on GitHub.</releaseNotes>
<releaseNotes>Matches the September 4, 2024 release on GitHub.</releaseNotes>
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=324981</projectUrl>
<repository type="git" url="https://github.com/microsoft/DirectXMesh.git" />
<icon>images\icon.jpg</icon>

Просмотреть файл

@ -10,7 +10,7 @@
<description>This version is for Windows desktop applications using Visual Studio 2019 (16.11) or Visual Studio 2022 and supports Windows 10 / Windows 11 including both DirectX 11 and DirectX 12.
DirectXMesh, a shared source library for performing various geometry content processing operations including generating normals and tangent frames, triangle adjacency computations, vertex cache optimization, and meshlet generation.</description>
<releaseNotes>Matches the June 4, 2024 release on GitHub.</releaseNotes>
<releaseNotes>Matches the September 4, 2024 release on GitHub.</releaseNotes>
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=324981</projectUrl>
<repository type="git" url="https://github.com/microsoft/DirectXMesh.git" />
<icon>images\icon.jpg</icon>

Просмотреть файл

@ -10,7 +10,7 @@
<description>This version is for Universal Windows Platform apps on Windows 10 / Windows 11 using Visual Studio 2022.
DirectXMesh, a shared source library for performing various geometry content processing operations including generating normals and tangent frames, triangle adjacency computations, vertex cache optimization, and meshlet generation.</description>
<releaseNotes>Matches the June 4, 2024 release on GitHub.</releaseNotes>
<releaseNotes>Matches the September 4, 2024 release on GitHub.</releaseNotes>
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=324981</projectUrl>
<repository type="git" url="https://github.com/microsoft/DirectXMesh.git" />
<icon>images\icon.jpg</icon>

Просмотреть файл

@ -6,6 +6,11 @@ Releases available for download on [GitHub](https://github.com/microsoft/DirectX
## Release History
### September 4, 2024
* CMake project updates including support for ARM64EC
* Minor code review
* Added GitHub Actions YAML files
### June 4, 2024
* CMake project updates
* Retired VS 2019 projects for the UWP platform

Просмотреть файл

@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=324981
Copyright (c) Microsoft Corporation.
**June 4, 2024**
**September 4, 2024**
This package contains DirectXMesh, a shared source library for performing various geometry content processing operations including generating normals and tangent frames, triangle adjacency computations, vertex cache optimization, and meshlet generation.

Просмотреть файл

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
-->
<PropertyGroup>
<ExtractedFolder Condition="'$(ExtractedFolder)'==''">C:\xtracted\</ExtractedFolder>
<ExtractedFolder Condition="!HasTrailingSlash('$(ExtractedFolder)')">$(ExtractedFolder)\</ExtractedFolder>

126
build/preparerelease.ps1 Normal file
Просмотреть файл

@ -0,0 +1,126 @@
<#
.NOTES
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
.SYNOPSIS
Prepares a PR for release
.DESCRIPTION
This script is used to do the edits required for preparing a release PR.
.PARAMETER BaseBranch
This the branch to use as the base of the release. Defaults to 'main'.
.PARAMETER TargetBranch
This is the name of the newly created branch for the release PR. Defaults to '<DATETAG>release'. If set to 'none', then no branch is created.
.PARAMETER UpdateVersion
This is a $true or $false value that indicates if the library version number should be incremented. Defaults to $true.
.LINK
https://github.com/microsoft/DirectXMesh/wiki
#>
param(
[string]$BaseBranch = "main",
[string]$TargetBranch = $null,
[bool]$UpdateVersion = $true
)
$reporoot = Split-Path -Path $PSScriptRoot -Parent
$cmake = $reporoot + "\CMakeLists.txt"
$header = $reporoot + "\DirectXMesh\DirectXMesh.h"
$readme = $reporoot + "\README.md"
$history = $reporoot + "\CHANGELOG.md"
if ((-Not (Test-Path $cmake)) -Or (-Not (Test-Path $header)) -Or (-Not (Test-Path $readme)) -Or (-Not (Test-Path $history))) {
Write-Error "ERROR: Unexpected location of script file!" -ErrorAction Stop
}
$branch = git branch --show-current
if ($branch -ne $BaseBranch) {
Write-Error "ERROR: Must be in the $BaseBranch branch!" -ErrorAction Stop
}
git pull -q
if ($LastExitCode -ne 0) {
Write-Error "ERROR: Failed to sync branch!" -ErrorAction Stop
}
$version = Get-Content ($cmake) | Select-String -Pattern "set\(DIRECTXMESH_VERSION" -CaseSensitive
if (-Not ($version -match "([0-9]?\.[0-9]?\.[0-9]?)")) {
Write-Error "ERROR: Failed to current version!" -ErrorAction Stop
}
$version = $Matches.0
$rawversion = $version.replace('.','')
$newreleasedate = Get-Date -Format "MMMM d, yyyy"
$newreleasetag = (Get-Date -Format "MMMyyyy").ToLower()
if($UpdateVersion) {
[string]$newrawversion = ([int]$rawversion + 1)
}
else {
$newrawversion = $rawversion
}
$newversion = $newrawversion[0] + "." + $newrawversion[1] + "." + $newrawversion[2]
$rawreleasedate = $(Get-Content $readme) | Select-String -Pattern "\*\*[A-Z][a-z]+\S.\d+,?\S.\d\d\d\d\*\*"
if ([string]::IsNullOrEmpty($rawreleasedate)) {
Write-Error "ERROR: Failed to current release date!" -ErrorAction Stop
}
$releasedate = $rawreleasedate -replace '\*',''
if($releasedate -eq $newreleasedate) {
Write-Error ("ERROR: Release "+$releasedate+" already exists!") -ErrorAction Stop
}
if ($TargetBranch -ne 'none') {
if ([string]::IsNullOrEmpty($TargetBranch)) {
$TargetBranch = $newreleasetag + "release"
}
git checkout -b $TargetBranch
if ($LastExitCode -ne 0) {
Write-Error "ERROR: Failed to create new topic branch!" -ErrorAction Stop
}
}
Write-Host " Old Version: " $version
Write-Host "Old Release Date: " $releasedate
Write-Host "->"
Write-Host " Release Date: " $newreleasedate
Write-Host " Release Tag: " $newreleasetag
Write-Host " Release Version: " $newversion
if($UpdateVersion) {
(Get-Content $cmake).Replace("set(DIRECTXMESH_VERSION $version)","set(DIRECTXMESH_VERSION $newversion)") | Set-Content $cmake
(Get-Content $header).Replace("#define DIRECTX_MESH_VERSION $rawversion","#define DIRECTX_MESH_VERSION $newrawversion") | Set-Content $header
}
(Get-Content $readme).Replace("$rawreleasedate", "**$newreleasedate**") | Set-Content $readme
Get-ChildItem -Path ($reporoot + "\.nuget") -Filter *.nuspec | Foreach-Object {
(Get-Content -Path $_.Fullname).Replace("$releasedate", "$newreleasedate") | Set-Content -Path $_.Fullname -Encoding utf8
}
[System.Collections.ArrayList]$file = Get-Content $history
$inserthere = @()
for ($i=0; $i -lt $file.count; $i++) {
if ($file[$i] -match "## Release History") {
$inserthere += $i + 1
}
}
$file.insert($inserthere[0], "`n### $newreleasedate`n* change history here")
Set-Content -Path $history -Value $file
code $history $readme
if ($LastExitCode -ne 0) {
Write-Error "ERROR: Failed to launch VS Code!" -ErrorAction Stop
}

Просмотреть файл

@ -1,3 +1,8 @@
<#
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
#>
param(
[string]$version
)