build: stand alone from the OpenNest repo

Engines are moving out of OpenNest so they can be published on their own
and so OpenNest checkouts handed to a model for an engine-building run no
longer contain the competing engines. History for Engines/ (and the
pre-move root-level engine folders) was carried over with git filter-repo.

Engines now build against a sibling OpenNest clone via $(OpenNestRoot),
overridable with /p:OpenNestRoot, with a clear error when it is missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
aj
2026-09-24 10:01:19 -04:00
co-authored by Claude Opus 5.5
parent fc9e46cad3
commit cfce484952
14 changed files with 335 additions and 39 deletions
+9 -3
View File
@@ -1,15 +1,21 @@
<Project>
<!--
Shared settings for out-of-solution nesting engine plugins. Each engine lives in
Engines/OpenNest.Engine.<Name>/ with an optional tests/ subproject; both import this.
Shared settings for OpenNest nesting engine plugins. Each engine lives in
OpenNest.Engine.<Name>/ with an optional tests/ subproject; both import this.
AssemblyName and RootNamespace default to the project file name.
Engines build against an OpenNest checkout. By default that is a sibling clone
(../OpenNest next to this repo); override with /p:OpenNestRoot=<path> or an
OpenNestRoot environment variable.
-->
<PropertyGroup>
<OpenNestRoot Condition="'$(OpenNestRoot)' == ''">$(MSBuildThisFileDirectory)../OpenNest/</OpenNestRoot>
<OpenNestRoot>$([MSBuild]::EnsureTrailingSlash('$(OpenNestRoot)'))</OpenNestRoot>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="$(MSBuildThisFileDirectory)../OpenNest.Engine/OpenNest.Engine.csproj" />
<ProjectReference Include="$(OpenNestRoot)OpenNest.Engine/OpenNest.Engine.csproj" />
</ItemGroup>
</Project>