Commit 4512cdb5 authored by wind2009's avatar wind2009

Merge remote branch 'upstream/master'.

parents b37a2163 72e15045
......@@ -7,7 +7,7 @@ on:
branches: [ "master" ]
jobs:
build:
build-windows:
runs-on: windows-2022
steps:
......@@ -16,24 +16,27 @@ jobs:
with:
fetch-depth: 0
- name: Download dependencies
run: |
bash -c " \
curl -Z --retry 5 --connect-timeout 30 --location \
--create-dirs --output-dir temp --remote-name-all \
https://www.lua.org/ftp/lua-5.4.7.tar.gz \
https://github.com/premake/premake-core/releases/download/v5.0.0-beta5/premake-5.0.0-beta5-windows.zip \
; exit 0"
- name: Download lua
id: lua
uses: mercury233/action-cache-download-file@v1.0.0
with:
url: https://www.lua.org/ftp/lua-5.4.7.tar.gz
- name: Lua
run: |
tar -xzf temp/lua-5.4.7.tar.gz
tar -xzf ${{ steps.lua.outputs.filepath }}
move lua-5.4.7 lua
- name: Download premake
id: premake
uses: mercury233/action-cache-download-file@v1.0.0
with:
url: https://github.com/premake/premake-core/releases/download/v5.0.0-beta5/premake-5.0.0-beta5-windows.zip
- name: Premake
run: |
mkdir premake-5
tar -C premake-5 -xzf temp/premake-5.0.0-beta5-windows.zip
tar -C premake-5 -xzf ${{ steps.premake.outputs.filepath }}
copy premake\lua.lua lua\premake5.lua
copy premake\dll.lua dll.lua
.\premake-5\premake5.exe vs2022 --file=dll.lua
......@@ -41,14 +44,18 @@ jobs:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Build
- name: Build x32
run: |
msbuild build\ocgcoredll.sln /t:Build /p:"Configuration=Release;Platform=Win32"
- name: Build x64
run: |
msbuild build\ocgcoredll.sln /t:Build /p:"Configuration=Release;Platform=x64"
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ocgcore-windows
path: |
build\bin\x32\Release\ocgcore.dll
build\bin\x64\Release\ocgcore.dll
......@@ -63,3 +70,63 @@ jobs:
title: "Development Build"
files: |
build/bin/x64/Release/ocgcore.dll
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc-multilib g++-multilib
- name: Download lua
id: lua
uses: mercury233/action-cache-download-file@v1.0.0
with:
url: https://www.lua.org/ftp/lua-5.4.7.tar.gz
- name: Lua
run: |
tar -xzf ${{ steps.lua.outputs.filepath }}
mv lua-5.4.7 lua
- name: Download premake
id: premake
uses: mercury233/action-cache-download-file@v1.0.0
with:
url: https://github.com/premake/premake-core/releases/download/v5.0.0-beta5/premake-5.0.0-beta5-linux.tar.gz
- name: Premake
run: |
mkdir premake-5
tar -C premake-5 -xzf ${{ steps.premake.outputs.filepath }}
cp premake/lua.lua lua/premake5.lua
cp premake/dll.lua dll.lua
chmod +x premake-5/premake5
./premake-5/premake5 gmake --file=dll.lua
- name: Build x32
run: |
cd build
make -j 4 config=release_x32
cd ..
- name: Build x64
run: |
cd build
make -j 4 config=release_x64
cd ..
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ocgcore-linux
path: |
build/bin/x32/Release/libocgcore.so
build/bin/x64/Release/libocgcore.so
......@@ -12,6 +12,7 @@ end
workspace "ocgcoredll"
location "build"
language "C++"
cppdialect "C++14"
configurations { "Release", "Debug" }
platforms { "x32", "x64" }
......@@ -35,7 +36,11 @@ workspace "ocgcoredll"
startproject "ocgcore"
filter { "configurations:Release", "action:vs*" }
linktimeoptimization "On"
if linktimeoptimization then
linktimeoptimization "On"
else
flags { "LinkTimeOptimization" }
end
staticruntime "On"
disablewarnings { "4334" }
......@@ -43,6 +48,19 @@ workspace "ocgcoredll"
buildoptions { "/utf-8" }
defines { "_CRT_SECURE_NO_WARNINGS" }
filter "not action:vs*"
buildoptions { }
filter "system:bsd"
defines { "LUA_USE_POSIX" }
filter "system:macosx"
defines { "LUA_USE_MACOSX" }
filter "system:linux"
defines { "LUA_USE_LINUX" }
buildoptions { "-fPIC" }
filter {}
include(LUA_DIR)
......@@ -50,6 +68,7 @@ include(LUA_DIR)
project "ocgcore"
kind "SharedLib"
cppdialect "C++14"
files { "*.cpp", "*.h" }
links { "lua" }
......
project "lua"
kind "StaticLib"
cppdialect "C++14"
compileas "C++"
files { "src/*.c", "src/*.h", "src/*.hpp" }
removefiles { "src/lua.c", "src/luac.c" }
filter "action:vs*"
buildoptions { "/TP" }
filter "not action:vs*"
buildoptions { "-x c++" }
files { "src/*.c", "src/*.h" }
removefiles { "src/lua.c", "src/luac.c", "src/linit.c", "src/onelua.c" }
filter "configurations:Debug"
defines { "LUA_USE_APICHECK" }
......@@ -22,3 +16,4 @@ project "lua"
filter "system:linux"
defines { "LUA_USE_LINUX" }
buildoptions { "-fPIC" }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment