Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sepember 4, 2024 #169

Merged
merged 8 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/wsl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686

name: 'CMake (WSL)'

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
paths-ignore:
- '*.md'
- LICENSE
- '.nuget/*'
- build/*.mdb
- build/*.props
- build/*.ps1
- 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 }}
2 changes: 1 addition & 1 deletion .nuget/uvatlas_desktop_2019.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<description>This version is for Windows desktop applications using Visual Studio 2019 (16.11) or Visual Studio 2022.

UVAtlas, a shared source library for creating and packing an isochart texture atlas.</description>
<releaseNotes>Matches the June 5, 2024 release on GitHub.</releaseNotes>
<releaseNotes>Matches the September 4, 2024 release on GitHub.</releaseNotes>
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=512686</projectUrl>
<repository type="git" url="https://github.com/microsoft/UVAtlas.git" />
<icon>images\icon.jpg</icon>
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Release available for download on [GitHub](https://github.com/microsoft/UVAtlas/

## Release History

### September 4, 2024
* CMake project updates including support for ARM64EC
* Code review
* Added GitHub Actions YAML files

### June 5, 2024
* CMake project updates
* Retired VS 2019 projects for the UWP platform
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

cmake_minimum_required (VERSION 3.20)

set(UVATLAS_VERSION 1.8.7)
set(UVATLAS_VERSION 1.8.8)

if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET))
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=512686

Copyright (c) Microsoft Corporation.

**June 5, 2024**
**September 4, 2024**

This package contains UVAtlas, a shared source library for creating and packing an isochart texture atlas.

Expand Down
2 changes: 1 addition & 1 deletion UVAtlas/inc/UVAtlas.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

#include <DirectXMath.h>

#define UVATLAS_VERSION 187
#define UVATLAS_VERSION 188


namespace DirectX
Expand Down
5 changes: 5 additions & 0 deletions build/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -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>
Expand Down
126 changes: 126 additions & 0 deletions build/preparerelease.ps1
Original file line number Diff line number Diff line change
@@ -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/UVAtlas/wiki

#>

param(
[string]$BaseBranch = "main",
[string]$TargetBranch = $null,
[bool]$UpdateVersion = $true
)

$reporoot = Split-Path -Path $PSScriptRoot -Parent
$cmake = $reporoot + "\CMakeLists.txt"
$header = $reporoot + "\UVAtlas\inc\UVAtlas.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\(UVATLAS_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(UVATLAS_VERSION $version)","set(UVATLAS_VERSION $newversion)") | Set-Content $cmake
(Get-Content $header).Replace("#define UVATLAS_VERSION $rawversion","#define UVATLAS_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
}
5 changes: 5 additions & 0 deletions build/versioninfo.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<#
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
#>

param(
[string]$version
)
Expand Down
Loading