- Added build configurations

- Configured csprojects
- CopyLibs functionality in builder
This commit is contained in:
robert 2024-07-11 23:46:32 +02:00
parent 97c2b308f1
commit fe582c4fba
50 changed files with 868 additions and 86 deletions

5
.gitignore vendored
View File

@ -1,3 +1,6 @@
Bin/
Intermediate/
#------------------------- Rider -------------------------
# Source: https://github.com/JetBrains/resharper-rider-samples/blob/master/.gitignore
@ -455,4 +458,4 @@ imgui.ini
# include libs
!/libs/lib64
!/libs/x64
!/libs/x64

7
Directory.Build.props Normal file
View File

@ -0,0 +1,7 @@
<Project>
<PropertyGroup>
<OutDir>../Bin/$(MSBuildProjectName)</OutDir>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">../Intermediate/$(MSBuildProjectName)</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,61 @@
{
"format": 1,
"restore": {
"/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj": {}
},
"projects": {
"/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj",
"projectName": "Nerfed.Builder",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Builder/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/robert/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/robert/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/robert/.nuget/packages/" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,66 @@
{
"version": 3,
"targets": {
"net8.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net8.0": []
},
"packageFolders": {
"/home/robert/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj",
"projectName": "Nerfed.Builder",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Builder/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj","projectName":"Nerfed.Builder","projectPath":"/home/robert/Dev/Nerfed/Nerfed.Builder/Nerfed.Builder.csproj","outputPath":"/home/robert/Dev/Nerfed/Intermediate/Nerfed.Builder/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17207335648006353

View File

@ -0,0 +1,138 @@
{
"format": 1,
"restore": {
"/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj": {}
},
"projects": {
"/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj",
"projectName": "Nerfed.Editor",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Editor/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj": {
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
},
"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"projectName": "Nerfed.Runtime",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Runtime/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.DotNet.ILCompiler": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "runtime.linux-x64.Microsoft.DotNet.ILCompiler",
"version": "[8.0.4, 8.0.4]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/robert/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/robert/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/robert/.nuget/packages/" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,89 @@
{
"version": 3,
"targets": {
"net8.0": {
"Nerfed.Runtime/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/Nerfed.Runtime.dll": {}
},
"runtime": {
"bin/placeholder/Nerfed.Runtime.dll": {}
}
}
}
},
"libraries": {
"Nerfed.Runtime/1.0.0": {
"type": "project",
"path": "../Nerfed.Runtime/Nerfed.Runtime.csproj",
"msbuildProject": "../Nerfed.Runtime/Nerfed.Runtime.csproj"
}
},
"projectFileDependencyGroups": {
"net8.0": [
"Nerfed.Runtime >= 1.0.0"
]
},
"packageFolders": {
"/home/robert/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj",
"projectName": "Nerfed.Editor",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Editor/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj": {
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj","projectName":"Nerfed.Editor","projectPath":"/home/robert/Dev/Nerfed/Nerfed.Editor/Nerfed.Editor.csproj","outputPath":"/home/robert/Dev/Nerfed/Intermediate/Nerfed.Editor/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj":{"projectPath":"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17207335648006353

View File

@ -0,0 +1,81 @@
{
"format": 1,
"restore": {
"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj": {}
},
"projects": {
"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"projectName": "Nerfed.Runtime",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Runtime/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.DotNet.ILCompiler": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "runtime.linux-x64.Microsoft.DotNet.ILCompiler",
"version": "[8.0.4, 8.0.4]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/robert/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/robert/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/robert/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks/8.0.4/build/Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks/8.0.4/build/Microsoft.NET.ILLink.Tasks.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.dotnet.ilcompiler/8.0.4/build/Microsoft.DotNet.ILCompiler.props" Condition="Exists('$(NuGetPackageRoot)microsoft.dotnet.ilcompiler/8.0.4/build/Microsoft.DotNet.ILCompiler.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">/home/robert/.nuget/packages/microsoft.net.illink.tasks/8.0.4</PkgMicrosoft_NET_ILLink_Tasks>
<PkgMicrosoft_DotNet_ILCompiler Condition=" '$(PkgMicrosoft_DotNet_ILCompiler)' == '' ">/home/robert/.nuget/packages/microsoft.dotnet.ilcompiler/8.0.4</PkgMicrosoft_DotNet_ILCompiler>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,184 @@
{
"version": 3,
"targets": {
"net8.0": {
"Microsoft.DotNet.ILCompiler/8.0.4": {
"type": "package",
"build": {
"build/Microsoft.DotNet.ILCompiler.props": {}
}
},
"Microsoft.NET.ILLink.Tasks/8.0.4": {
"type": "package",
"build": {
"build/Microsoft.NET.ILLink.Tasks.props": {}
}
}
}
},
"libraries": {
"Microsoft.DotNet.ILCompiler/8.0.4": {
"sha512": "bVK6XD5E/BpkPmdrx99ZkloZZX3nOvTAcW+W6jW4cs8elWlLFAc9BXHk2esxSVHMiaCLiLdIJAyhUfhV50TW+Q==",
"type": "package",
"path": "microsoft.dotnet.ilcompiler/8.0.4",
"hasTools": true,
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"build/BuildFrameworkNativeObjects.proj",
"build/Microsoft.DotNet.ILCompiler.SingleEntry.targets",
"build/Microsoft.DotNet.ILCompiler.props",
"build/Microsoft.NETCore.Native.Publish.targets",
"build/Microsoft.NETCore.Native.Unix.targets",
"build/Microsoft.NETCore.Native.Windows.targets",
"build/Microsoft.NETCore.Native.targets",
"build/NativeAOT.natstepfilter",
"build/NativeAOT.natvis",
"build/WindowsAPIs.txt",
"build/findvcvarsall.bat",
"microsoft.dotnet.ilcompiler.8.0.4.nupkg.sha512",
"microsoft.dotnet.ilcompiler.nuspec",
"runtime.json",
"tools/netstandard/ILCompiler.Build.Tasks.deps.json",
"tools/netstandard/ILCompiler.Build.Tasks.dll",
"tools/netstandard/ILCompiler.Build.Tasks.pdb"
]
},
"Microsoft.NET.ILLink.Tasks/8.0.4": {
"sha512": "PZb5nfQ+U19nhnmnR9T1jw+LTmozhuG2eeuzuW5A7DqxD/UXW2ucjmNJqnqOuh8rdPzM3MQXoF8AfFCedJdCUw==",
"type": "package",
"path": "microsoft.net.illink.tasks/8.0.4",
"hasTools": true,
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"Sdk/Sdk.props",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/cs/ILLink.CodeFixProvider.dll",
"analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll",
"build/Microsoft.NET.ILLink.Analyzers.props",
"build/Microsoft.NET.ILLink.Tasks.props",
"build/Microsoft.NET.ILLink.targets",
"microsoft.net.illink.tasks.8.0.4.nupkg.sha512",
"microsoft.net.illink.tasks.nuspec",
"tools/net472/ILLink.Tasks.dll",
"tools/net472/ILLink.Tasks.dll.config",
"tools/net472/Mono.Cecil.Mdb.dll",
"tools/net472/Mono.Cecil.Pdb.dll",
"tools/net472/Mono.Cecil.Rocks.dll",
"tools/net472/Mono.Cecil.dll",
"tools/net472/Sdk/Sdk.props",
"tools/net472/System.Buffers.dll",
"tools/net472/System.Collections.Immutable.dll",
"tools/net472/System.Memory.dll",
"tools/net472/System.Numerics.Vectors.dll",
"tools/net472/System.Reflection.Metadata.dll",
"tools/net472/System.Runtime.CompilerServices.Unsafe.dll",
"tools/net472/build/Microsoft.NET.ILLink.Analyzers.props",
"tools/net472/build/Microsoft.NET.ILLink.Tasks.props",
"tools/net472/build/Microsoft.NET.ILLink.targets",
"tools/net8.0/ILLink.Tasks.deps.json",
"tools/net8.0/ILLink.Tasks.dll",
"tools/net8.0/Mono.Cecil.Mdb.dll",
"tools/net8.0/Mono.Cecil.Pdb.dll",
"tools/net8.0/Mono.Cecil.Rocks.dll",
"tools/net8.0/Mono.Cecil.dll",
"tools/net8.0/Sdk/Sdk.props",
"tools/net8.0/build/Microsoft.NET.ILLink.Analyzers.props",
"tools/net8.0/build/Microsoft.NET.ILLink.Tasks.props",
"tools/net8.0/build/Microsoft.NET.ILLink.targets",
"tools/net8.0/illink.deps.json",
"tools/net8.0/illink.dll",
"tools/net8.0/illink.runtimeconfig.json",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net8.0": [
"Microsoft.DotNet.ILCompiler >= 8.0.4",
"Microsoft.NET.ILLink.Tasks >= 8.0.4"
]
},
"packageFolders": {
"/home/robert/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"projectName": "Nerfed.Runtime",
"projectPath": "/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj",
"packagesPath": "/home/robert/.nuget/packages/",
"outputPath": "/home/robert/Dev/Nerfed/Intermediate/Nerfed.Runtime/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/robert/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.DotNet.ILCompiler": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "runtime.linux-x64.Microsoft.DotNet.ILCompiler",
"version": "[8.0.4, 8.0.4]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj","projectName":"Nerfed.Runtime","projectPath":"/home/robert/Dev/Nerfed/Nerfed.Runtime/Nerfed.Runtime.csproj","outputPath":"/home/robert/Dev/Nerfed/Intermediate/Nerfed.Runtime/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Microsoft.DotNet.ILCompiler":{"suppressParent":"All","target":"Package","version":"[8.0.4, )","autoReferenced":true},"Microsoft.NET.ILLink.Tasks":{"suppressParent":"All","target":"Package","version":"[8.0.4, )","autoReferenced":true}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"runtime.linux-x64.Microsoft.DotNet.ILCompiler","version":"[8.0.4, 8.0.4]"}],"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/lib64/dotnet/sdk/8.0.104/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17207335648046353

View File

@ -25,6 +25,8 @@ public void Run(BuildArgs args)
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
CopyLibs(args.ProjectPath);
List<string> contentFiles = args.ContentFiles;
string absContentPath = $"{args.ProjectPath}/{PathUtil.ContentFolderName}";
@ -91,6 +93,34 @@ public void Run(BuildArgs args)
Console.WriteLine($"Build content completed in {stopwatch.Elapsed.TotalSeconds:F2} seconds");
}
private void CopyLibs(string projectPath)
{
string libDir = $"{Directory.GetCurrentDirectory()}/../../Native/";
if (OperatingSystem.IsWindows())
{
libDir += "x64";
}
else if (OperatingSystem.IsLinux())
{
libDir += "lib64";
}
else if (OperatingSystem.IsMacOS())
{
libDir += "osx";
}
libDir = Path.GetFullPath(libDir);
foreach (string libFile in Directory.EnumerateFiles(libDir))
{
FileInfo srcFileInfo = new FileInfo(libFile);
FileInfo dstFileInfo = new FileInfo($"{projectPath}/{PathUtil.BuildFolderName}/{Path.GetFileName(libFile)}");
if (FileUtil.IsNewer(srcFileInfo, dstFileInfo))
{
FileUtil.Copy(srcFileInfo, dstFileInfo);
}
}
}
private void CollectAssetFiles(string assetDir, string dir, ref List<string> files)
{
foreach (string file in Directory.EnumerateFiles(dir))

View File

@ -2,9 +2,16 @@ namespace Nerfed.Builder;
public static class FileUtil
{
public static void Copy(string srcFile, string dstFile) {
public static void Copy(FileInfo srcFile, FileInfo dstFile)
{
Copy(srcFile.FullName, dstFile.FullName);
}
public static void Copy(string srcFile, string dstFile)
{
string dstDir = Path.GetDirectoryName(dstFile);
if(!Directory.Exists(dstDir)) {
if (!Directory.Exists(dstDir))
{
Directory.CreateDirectory(dstDir);
}
@ -12,12 +19,14 @@ public static void Copy(string srcFile, string dstFile) {
UpdateFileTimeAttributes(dstFile);
}
public static void WriteBytes(string dstFile, byte[] bytes) {
public static void WriteBytes(string dstFile, byte[] bytes)
{
File.WriteAllBytes(dstFile, bytes);
UpdateFileTimeAttributes(dstFile);
}
public static void UpdateFileTimeAttributes(string file) {
public static void UpdateFileTimeAttributes(string file)
{
// Copy over date time attributes so we can check if the file changed.
FileInfo dstFileInfo = new FileInfo(file);
DateTime now = DateTime.Now;
@ -33,7 +42,8 @@ public static void UpdateFileTimeAttributes(string file) {
/// <summary>
/// True if the inFileInfo is newer than the outFileInfo.
/// </summary>
public static bool IsNewer(FileInfo inFileInfo, FileInfo outFileInfo) {
public static bool IsNewer(FileInfo inFileInfo, FileInfo outFileInfo)
{
return !outFileInfo.Exists || outFileInfo.LastWriteTime <= inFileInfo.LastWriteTime;
}
}

View File

@ -6,14 +6,20 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<IsPackable>false</IsPackable>
<Configurations>Debug;Test;Release</Configurations>
<Platforms>x64</Platforms>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>../Tools</OutputPath>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>../Tools</OutputPath>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Test|x64' ">
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<Optimize>true</Optimize>
</PropertyGroup>
</Project>

View File

@ -3,7 +3,8 @@ namespace Nerfed.Builder;
public static class PathUtil
{
public const string ImportedFileExtension = ".bin";
public const string BuildFolderName = ".build";
public const string ImportFileExtension = ".import";
public const string ImportFolderName = "Import";
public const string ImportFolderName = $"{BuildFolderName}/Import";
public const string ContentFolderName = "Content";
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Runtime ID" AfterTargets="Build">
<Message Text="Runtime ID: $(RuntimeIdentifier)" Importance="high"/>
</Target>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))">
<Libs Include="..\Native\x64\**\*.*"/>
</ItemGroup>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))">
<Libs Include="..\Native\lib64\**\*.*"/>
</ItemGroup>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))">
<Libs Include="..\Native\osx\**\*.*"/>
</ItemGroup>
<Target Name="CopyLibs" AfterTargets="Build">
<Copy SourceFiles="@(Libs)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true"/>
</Target>
</Project>

View File

@ -0,0 +1,30 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<IsPackable>false</IsPackable>
<Configurations>Debug;Test;Release</Configurations>
<Platforms>x64</Platforms>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Test|x64' ">
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<Optimize>true</Optimize>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Nerfed.Runtime\Nerfed.Runtime.csproj"/>
</ItemGroup>
<Import Project=".\CopyLibs.targets"/>
</Project>

View File

@ -1,4 +1,6 @@
namespace Nerfed.Runtime;
using Nerfed.Runtime;
namespace Nerfed.Editor;
internal class Program
{
@ -6,4 +8,4 @@ private static void Main(string[] args)
{
Engine.Run(args);
}
}
}

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Runtime ID" AfterTargets="Build">
<Message Text="Runtime ID: $(RuntimeIdentifier)" Importance="high"/>
</Target>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))">
<Content Include="..\libs\x64\**\*.*" >
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))">
<Content Include="..\libs\lib64\**\*.*" >
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup Condition="$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))">
<Content Include="..\libs\osx\**\*.*" >
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

View File

@ -39,7 +39,7 @@ public static class Engine
private const string WindowTitle = "Nerfed";
//..
internal static void Run(string[] args)
public static void Run(string[] args)
{
Timestep = TimeSpan.FromTicks(TimeSpan.TicksPerSecond / TargetTimestep);
gameTimer = Stopwatch.StartNew();

View File

@ -1,26 +1,42 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);Libraries\**\*</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<Compile Include="Libraries\SDL2CS\src\SDL2.cs" />
<Compile Include="Libraries\RefreshCS\RefreshCS.cs" />
<Compile Include="Libraries\FAudio\csharp\FAudio.cs" />
<Compile Include="Libraries\WellspringCS\WellspringCS.cs" />
<Compile Include="Libraries\dav1dfile\csharp\dav1dfile.cs" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<PublishAot>true</PublishAot>
<InvariantGlobalization>true</InvariantGlobalization>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<IsPackable>false</IsPackable>
<Configurations>Debug;Test;Release</Configurations>
<Platforms>x64</Platforms>
</PropertyGroup>
<Import Project=".\CopyLibs.targets" />
<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);Libraries\**\*</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DefineConstants>TRACE;LOG_INFO;PROFILING</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Test|x64' ">
<DefineConstants>TRACE;LOG_ERROR;PROFILING</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<DefineConstants>TRACE;LOG_ERROR</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<ItemGroup>
<Compile Include="Libraries\SDL2CS\src\SDL2.cs"/>
<Compile Include="Libraries\RefreshCS\RefreshCS.cs"/>
<Compile Include="Libraries\FAudio\csharp\FAudio.cs"/>
<Compile Include="Libraries\WellspringCS\WellspringCS.cs"/>
<Compile Include="Libraries\dav1dfile\csharp\dav1dfile.cs"/>
</ItemGroup>
</Project>

View File

@ -17,12 +17,12 @@ public void Dispose() {
public static class Profiler
{
[Conditional("PROFILER")]
[Conditional("PROFILING")]
public static void BeginSample(string label) {
}
[Conditional("PROFILER")]
[Conditional("PROFILING")]
public static void EndSample() {
}

View File

@ -7,20 +7,33 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nerfed.Runtime", "Nerfed.Ru
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nerfed.Builder", "Nerfed.Builder\Nerfed.Builder.csproj", "{1B88DE56-2AD8-441E-9B10-073AA43840BF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nerfed.Editor", "Nerfed.Editor\Nerfed.Editor.csproj", "{FF7D032D-7F0B-4700-A818-0606D66AECF8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Test|x64 = Test|x64
Release|x64 = Release|x64
Debug|x64 = Debug|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{98E09BAF-587F-4238-89BD-7693C036C233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98E09BAF-587F-4238-89BD-7693C036C233}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98E09BAF-587F-4238-89BD-7693C036C233}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98E09BAF-587F-4238-89BD-7693C036C233}.Release|Any CPU.Build.0 = Release|Any CPU
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Release|Any CPU.Build.0 = Release|Any CPU
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Test|x64.ActiveCfg = Test|x64
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Test|x64.Build.0 = Test|x64
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Release|x64.ActiveCfg = Release|x64
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Release|x64.Build.0 = Release|x64
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Debug|x64.ActiveCfg = Debug|x64
{1B88DE56-2AD8-441E-9B10-073AA43840BF}.Debug|x64.Build.0 = Debug|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Test|x64.ActiveCfg = Test|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Test|x64.Build.0 = Test|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Release|x64.ActiveCfg = Release|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Release|x64.Build.0 = Release|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Debug|x64.ActiveCfg = Debug|x64
{FF7D032D-7F0B-4700-A818-0606D66AECF8}.Debug|x64.Build.0 = Debug|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Test|x64.ActiveCfg = Test|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Test|x64.Build.0 = Test|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Release|x64.ActiveCfg = Release|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Release|x64.Build.0 = Release|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Debug|x64.ActiveCfg = Debug|x64
{98E09BAF-587F-4238-89BD-7693C036C233}.Debug|x64.Build.0 = Debug|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

BIN
Tools/Nerfed.Builder.dll (Stored with Git LFS)

Binary file not shown.

BIN
Tools/Nerfed.Builder/Nerfed.Builder.dll (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -6,6 +6,7 @@
"version": "8.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}

BIN
libs/x64/FAudio.dll (Stored with Git LFS)

Binary file not shown.

BIN
libs/x64/Refresh.dll (Stored with Git LFS)

Binary file not shown.

BIN
libs/x64/SDL2.dll (Stored with Git LFS)

Binary file not shown.

BIN
libs/x64/Wellspring.dll (Stored with Git LFS)

Binary file not shown.

BIN
libs/x64/dav1dfile.dll (Stored with Git LFS)

Binary file not shown.