Skip to content

Commit

Permalink
Action fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
maluoi committed Mar 18, 2024
1 parent b176046 commit 4d923c5
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 14 deletions.
23 changes: 12 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,19 @@ jobs:
cmake --preset skshaderc_Win32_x64_Release
cmake --build --preset skshaderc_Win32_x64_Release
mkdir bin/distribute/win32_x64
copy bin/intermediate/Win32_x64/Release/skshaderc_exe.exe bin/distribute/win32_x64/skshaderc.exe
mkdir bin/distribute/tools/win32_x64
copy bin/intermediate/Win32_x64/Release/skshaderc_exe.exe bin/distribute/tools/win32_x64/skshaderc.exe
copy sk_gpu.h bin/distribute/sk_gpu.h
copy sk_gpu.h bin/distribute/src/sk_gpu.h
copy skshaderc/CMakeLists.distribute.txt bin/distribute/CMakeLists.txt
- name: Build Native Win32 Arm64
run: |
cmake --preset skshaderc_Win32_Arm64_Release
cmake --build --preset skshaderc_Win32_Arm64_Release
mkdir bin/distribute/win32_arm64
copy bin/intermediate/Win32_Arm64/Release/skshaderc_exe.exe bin/distribute/win32_arm64/skshaderc.exe
mkdir bin/distribute/tools/win32_arm64
copy bin/intermediate/Win32_Arm64/Release/skshaderc_exe.exe bin/distribute/tools/win32_arm64/skshaderc.exe
- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -75,8 +76,8 @@ jobs:
cmake --preset skshaderc_Linux_x64_Release
cmake --build --preset skshaderc_Linux_x64_Release
mkdir -p bin/distribute/linux_x64
cp bin/intermediate/Linux_x64_Release/skshaderc_exe bin/distribute/linux_x64/skshaderc
mkdir -p bin/distribute/tools/linux_x64
cp bin/intermediate/Linux_x64_Release/skshaderc_exe bin/distribute/tools/linux_x64/skshaderc
- name: Install Arm64 Prerequisites
run: |
Expand All @@ -91,8 +92,8 @@ jobs:
cmake --preset skshaderc_Linux_Arm64_Release
cmake --build --preset skshaderc_Linux_Arm64_Release
mkdir -p bin/distribute/linux_arm64
cp bin/intermediate/Linux_ARM64_Release/skshaderc_exe bin/distribute/linux_arm64/skshaderc
mkdir -p bin/distribute/tools/linux_arm64
cp bin/intermediate/Linux_ARM64_Release/skshaderc_exe bin/distribute/tools/linux_arm64/skshaderc
- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand All @@ -116,8 +117,8 @@ jobs:
cmake --preset skshaderc_Mac_Release
cmake --build --preset skshaderc_Mac_Release
mkdir -p bin/distribute/mac_arm64
cp bin/intermediate/Mac_Release/skshaderc_exe bin/distribute/mac/skshaderc
mkdir -p bin/distribute/tools/mac
cp bin/intermediate/Mac_Release/skshaderc_exe bin/distribute/tools/mac/skshaderc
- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand Down
54 changes: 54 additions & 0 deletions skshaderc/CMakeLists.distribute.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
cmake_minimum_required(VERSION 3.9.2)

project(skshaderc VERSION 1.0
DESCRIPTION "Shader compiler for sk_gpu.h"
LANGUAGES CXX)

add_library(skshaderc INTERFACE)

target_include_directories(skshaderc INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/src)

if (APPLE)
set(SKSHADERC_EXE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tools/mac)
elif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "AMD64" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64"))
set(SKSHADERC_EXE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tools/win32_x64)
elif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "ARM64")
set(SKSHADERC_EXE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tools/win32_arm64)
elif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
set(SKSHADERC_EXE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tools/linux_x64)
elif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64"))
set(SKSHADERC_EXE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/tools/linux_arm64)
else()
message(FATAL_ERROR "No shader compiler available for this platform!")
endif

macro(SKSHADERC_COMPILE_HEADERS LIST COMMAND_STRING OUT_LIST)
set(SKSHADERC_COMPILE_COMMANDS ${COMMAND_STRING})
separate_arguments(SKSHADERC_COMPILE_COMMANDS)

foreach(SHADER ${${LIST}})
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}.h
COMMAND ${SKSHADERC_EXE_PATH} -h ${SKSHADERC_COMPILE_COMMANDS} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}
DEPENDS
${SHADER}
${SKSHADERC_EXE_PATH}
COMMENT "skshaderc -h ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
list(APPEND ${OUT_LIST} ${SHADER}.h)
endforeach(SHADER)
endmacro()

macro(SKSHADERC_COMPILE_ASSETS LIST COMMAND_STRING)
set(SKSHADERC_COMPILE_COMMANDS ${COMMAND_STRING})
separate_arguments(SKSHADERC_COMPILE_COMMANDS)

foreach(SHADER ${${LIST}})
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}.sks
COMMAND ${SKSHADERC_EXE_PATH} ${SKSHADERC_COMPILE_COMMANDS} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}
DEPENDS
${SHADER}
${SKSHADERC_EXE_PATH}
COMMENT "skshaderc ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
endforeach(SHADER)
endmacro()
7 changes: 4 additions & 3 deletions skshaderc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ add_executable(skshaderc
miniz.cpp
miniz.h
)
set_target_properties(skshaderc PROPERTIES OUTPUT_NAME "skshaderc_exe")
set(SKSHADERC_EXE_NAME "skshaderc_exe")
set_target_properties(skshaderc PROPERTIES OUTPUT_NAME ${SKSHADERC_EXE_NAME})

target_link_libraries(skshaderc
PRIVATE
Expand Down Expand Up @@ -127,7 +128,7 @@ macro(SKSHADERC_COMPILE_HEADERS LIST COMMAND_STRING OUT_LIST)
DEPENDS
${SHADER}
${SKSHADERC_EXE_PATH}
COMMENT "skshaderc -h ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
COMMENT "${SKSHADERC_EXE_NAME} -h ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
list(APPEND ${OUT_LIST} ${SHADER}.h)
endforeach(SHADER)
endmacro()
Expand All @@ -143,6 +144,6 @@ macro(SKSHADERC_COMPILE_ASSETS LIST COMMAND_STRING)
DEPENDS
${SHADER}
${SKSHADERC_EXE_PATH}
COMMENT "skshaderc ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
COMMENT "${SKSHADERC_EXE_NAME} ${COMMAND_STRING} ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER}")
endforeach(SHADER)
endmacro()

0 comments on commit 4d923c5

Please sign in to comment.