Skip to content

Commit a2a8cc9

Browse files
authored
Add arm64 config (#98)
1 parent 0e8f8cf commit a2a8cc9

File tree

6 files changed

+265
-4
lines changed

6 files changed

+265
-4
lines changed

.github/dependabot.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
9+
# Maintain dependencies for GitHub Actions
10+
- package-ecosystem: "github-actions"
11+
directory: "/"
12+
schedule:
13+
interval: "monthly"

.github/workflows/CI_build.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CI_build
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: windows-latest
9+
strategy:
10+
max-parallel: 6
11+
matrix:
12+
build_configuration: [Release, Debug]
13+
build_platform: [x64, Win32, ARM64]
14+
15+
steps:
16+
- name: Checkout repo
17+
uses: actions/checkout@v3
18+
19+
- name: Add msbuild to PATH
20+
uses: microsoft/setup-msbuild@v1
21+
22+
- name: MSBuild of plugin dll
23+
working-directory: .\
24+
run: msbuild LuaScript.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" /p:PlatformToolset="v143"
25+
26+
- name: Archive artifacts
27+
if: matrix.build_configuration == 'Release'
28+
uses: actions/upload-artifact@v3
29+
with:
30+
name: plugin_dll_${{ matrix.build_platform }}
31+
path: |
32+
bin\${{ matrix.build_configuration }}_${{ matrix.build_platform }}\LuaScript.dll
33+
bin\${{ matrix.build_configuration }}_${{ matrix.build_platform }}\Lua.dll

LuaScript.sln

+10
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,34 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "src\Lua.vcxproj", "{
1212
EndProject
1313
Global
1414
GlobalSection(SolutionConfigurationPlatforms) = preSolution
15+
Debug|ARM64 = Debug|ARM64
1516
Debug|Win32 = Debug|Win32
1617
Debug|x64 = Debug|x64
18+
Release|ARM64 = Release|ARM64
1719
Release|Win32 = Release|Win32
1820
Release|x64 = Release|x64
1921
EndGlobalSection
2022
GlobalSection(ProjectConfigurationPlatforms) = postSolution
23+
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|ARM64.ActiveCfg = Debug|ARM64
24+
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|ARM64.Build.0 = Debug|ARM64
2125
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|Win32.ActiveCfg = Debug|Win32
2226
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|Win32.Build.0 = Debug|Win32
2327
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|x64.ActiveCfg = Debug|x64
2428
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Debug|x64.Build.0 = Debug|x64
29+
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|ARM64.ActiveCfg = Release|ARM64
30+
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|ARM64.Build.0 = Release|ARM64
2531
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|Win32.ActiveCfg = Release|Win32
2632
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|Win32.Build.0 = Release|Win32
2733
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|x64.ActiveCfg = Release|x64
2834
{1590D7CD-7D3A-4AB7-A355-EE02F7FB987D}.Release|x64.Build.0 = Release|x64
35+
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|ARM64.ActiveCfg = Debug|ARM64
36+
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|ARM64.Build.0 = Debug|ARM64
2937
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|Win32.ActiveCfg = Debug|Win32
3038
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|Win32.Build.0 = Debug|Win32
3139
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|x64.ActiveCfg = Debug|x64
3240
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Debug|x64.Build.0 = Debug|x64
41+
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Release|ARM64.ActiveCfg = Release|ARM64
42+
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Release|ARM64.Build.0 = Release|ARM64
3343
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Release|Win32.ActiveCfg = Release|Win32
3444
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Release|Win32.Build.0 = Release|Win32
3545
{FCFBB3B0-8628-4CD0-A9B7-1BFB34E31E2A}.Release|x64.ActiveCfg = Release|x64

appveyor.yml

+11-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ image: Visual Studio 2019
44
platform:
55
- x64
66
- Win32
7+
- arm64
78

89
configuration:
910
- Release
@@ -16,15 +17,15 @@ install:
1617
- if "%platform%"=="Win32" set archi=x86
1718
- if "%platform%"=="Win32" set build_platform=Win32
1819

20+
- if "%platform%"=="arm64" set archi=amd64_arm64
21+
- if "%platform%"=="arm64" set build_platform=arm64
22+
1923
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %archi%
2024

21-
build:
22-
parallel: true
23-
verbosity: minimal
2425

2526
build_script:
2627
- cd "%APPVEYOR_BUILD_FOLDER%"
27-
- msbuild LuaScript.sln /p:Configuration="%configuration%" /p:Platform="%build_platform%" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
28+
- msbuild LuaScript.sln /m /p:Configuration="%configuration%" /p:Platform="%build_platform%" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
2829

2930
after_build:
3031
- cd "%APPVEYOR_BUILD_FOLDER%"
@@ -39,6 +40,9 @@ after_build:
3940
if ($env:BUILD_PLATFORM -eq "x64") {
4041
$SdkFileName = "LuaScript_SDK_x64.zip"
4142
}
43+
if ($env:BUILD_PLATFORM -eq "arm64") {
44+
$SdkFileName = "LuaScript_SDK_arm64.zip"
45+
}
4246
if ($env:BUILD_PLATFORM -eq "Win32") {
4347
$SdkFileName = "LuaScript_SDK.zip"
4448
}
@@ -61,6 +65,9 @@ after_build:
6165
if ($env:BUILD_PLATFORM -eq "x64") {
6266
$ZipFileName = "LuaScript_$($env:APPVEYOR_REPO_TAG_NAME)_x64.zip"
6367
}
68+
if ($env:BUILD_PLATFORM -eq "arm64") {
69+
$ZipFileName = "LuaScript_$($env:APPVEYOR_REPO_TAG_NAME)_arm64.zip"
70+
}
6471
if ($env:BUILD_PLATFORM -eq "Win32") {
6572
$ZipFileName = "LuaScript_$($env:APPVEYOR_REPO_TAG_NAME).zip"
6673
}

src/Lua.vcxproj

+94
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|ARM64">
5+
<Configuration>Debug</Configuration>
6+
<Platform>ARM64</Platform>
7+
</ProjectConfiguration>
48
<ProjectConfiguration Include="Debug|Win32">
59
<Configuration>Debug</Configuration>
610
<Platform>Win32</Platform>
@@ -9,6 +13,10 @@
913
<Configuration>Debug</Configuration>
1014
<Platform>x64</Platform>
1115
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|ARM64">
17+
<Configuration>Release</Configuration>
18+
<Platform>ARM64</Platform>
19+
</ProjectConfiguration>
1220
<ProjectConfiguration Include="Release|Win32">
1321
<Configuration>Release</Configuration>
1422
<Platform>Win32</Platform>
@@ -35,6 +43,11 @@
3543
<CharacterSet>Unicode</CharacterSet>
3644
<PlatformToolset>v142</PlatformToolset>
3745
</PropertyGroup>
46+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
47+
<ConfigurationType>DynamicLibrary</ConfigurationType>
48+
<CharacterSet>Unicode</CharacterSet>
49+
<PlatformToolset>v142</PlatformToolset>
50+
</PropertyGroup>
3851
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3952
<ConfigurationType>DynamicLibrary</ConfigurationType>
4053
<CharacterSet>Unicode</CharacterSet>
@@ -47,6 +60,12 @@
4760
<PlatformToolset>v142</PlatformToolset>
4861
<WholeProgramOptimization>true</WholeProgramOptimization>
4962
</PropertyGroup>
63+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
64+
<ConfigurationType>DynamicLibrary</ConfigurationType>
65+
<CharacterSet>Unicode</CharacterSet>
66+
<PlatformToolset>v142</PlatformToolset>
67+
<WholeProgramOptimization>true</WholeProgramOptimization>
68+
</PropertyGroup>
5069
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
5170
<ImportGroup Label="ExtensionSettings">
5271
</ImportGroup>
@@ -58,6 +77,10 @@
5877
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
5978
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
6079
</ImportGroup>
80+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
81+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
82+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
83+
</ImportGroup>
6184
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
6285
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
6386
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
@@ -66,34 +89,50 @@
6689
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
6790
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
6891
</ImportGroup>
92+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
93+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
94+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
95+
</ImportGroup>
6996
<PropertyGroup Label="UserMacros" />
7097
<PropertyGroup>
7198
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
7299
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
73100
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
74101
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
75102
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
103+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
76104
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
105+
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
77106
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
107+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">true</LinkIncremental>
78108
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
79109
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
80110
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
81111
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
112+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
82113
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
114+
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\build\$(ProjectName)\</IntDir>
83115
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
116+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
84117
</PropertyGroup>
85118
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
86119
<TargetExt>.dll</TargetExt>
87120
</PropertyGroup>
88121
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
89122
<TargetExt>.dll</TargetExt>
90123
</PropertyGroup>
124+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
125+
<TargetExt>.dll</TargetExt>
126+
</PropertyGroup>
91127
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
92128
<TargetExt>.dll</TargetExt>
93129
</PropertyGroup>
94130
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
95131
<TargetExt>.dll</TargetExt>
96132
</PropertyGroup>
133+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
134+
<TargetExt>.dll</TargetExt>
135+
</PropertyGroup>
97136
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
98137
<ClCompile>
99138
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -157,6 +196,38 @@
157196
</Command>
158197
</PostBuildEvent>
159198
</ItemDefinitionGroup>
199+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
200+
<ClCompile>
201+
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
202+
<PreprocessorDefinitions>WIN32;LUA_BUILD_AS_DLL;NDEBUG;_WINDOWS;_USRDLL;LuaScript_EXPORTS;__STDC_WANT_SECURE_LIB__=1;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
203+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
204+
<WarningLevel>Level3</WarningLevel>
205+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
206+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
207+
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
208+
<TreatWarningAsError>true</TreatWarningAsError>
209+
<Optimization>MaxSpeed</Optimization>
210+
<ExceptionHandling>Sync</ExceptionHandling>
211+
<BufferSecurityCheck>true</BufferSecurityCheck>
212+
<CompileAs>CompileAsC</CompileAs>
213+
<MinimalRebuild>
214+
</MinimalRebuild>
215+
</ClCompile>
216+
<Link>
217+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
218+
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
219+
<GenerateDebugInformation>true</GenerateDebugInformation>
220+
<SubSystem>Windows</SubSystem>
221+
<OptimizeReferences>true</OptimizeReferences>
222+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
223+
<RandomizedBaseAddress>true</RandomizedBaseAddress>
224+
<DataExecutionPrevention>true</DataExecutionPrevention>
225+
</Link>
226+
<PostBuildEvent>
227+
<Command>
228+
</Command>
229+
</PostBuildEvent>
230+
</ItemDefinitionGroup>
160231
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
161232
<ClCompile>
162233
<Optimization>Disabled</Optimization>
@@ -203,6 +274,29 @@
203274
<DataExecutionPrevention>true</DataExecutionPrevention>
204275
</Link>
205276
</ItemDefinitionGroup>
277+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
278+
<ClCompile>
279+
<Optimization>Disabled</Optimization>
280+
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
281+
<PreprocessorDefinitions>WIN32;LUA_BUILD_AS_DLL;_DEBUG;_WINDOWS;_USRDLL;LuaScript_EXPORTS;__STDC_WANT_SECURE_LIB__=1;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
282+
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
283+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
284+
<WarningLevel>Level3</WarningLevel>
285+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
286+
<CompileAs>CompileAsC</CompileAs>
287+
<MinimalRebuild>
288+
</MinimalRebuild>
289+
</ClCompile>
290+
<Link>
291+
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
292+
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
293+
<GenerateDebugInformation>true</GenerateDebugInformation>
294+
<ProgramDatabaseFile>$(OutDir)LuaScript.pdb</ProgramDatabaseFile>
295+
<SubSystem>Windows</SubSystem>
296+
<RandomizedBaseAddress>true</RandomizedBaseAddress>
297+
<DataExecutionPrevention>true</DataExecutionPrevention>
298+
</Link>
299+
</ItemDefinitionGroup>
206300
<ItemGroup>
207301
<ClInclude Include="lua\src\lapi.h" />
208302
<ClInclude Include="lua\src\lauxlib.h" />

0 commit comments

Comments
 (0)