Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[slang] Adding a package for the Slang shading language #24914

Merged
merged 36 commits into from
Oct 31, 2022
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
4fbc0de
slang port - initial commit
djohansson May 23, 2022
da199bb
added x64-linux target and removed dependency on cmake
djohansson May 25, 2022
871fe7d
Merge branch 'upstream'
djohansson Jun 5, 2022
458b73e
Merge remote-tracking branch 'origin/master'
djohansson Jun 9, 2022
a016129
Merge branch 'upstream'
djohansson Jul 3, 2022
c6f0854
Merge branch 'upstream'
djohansson Jul 13, 2022
fd8b111
Merge remote-tracking branch 'origin/master'
djohansson Jul 23, 2022
6a993b7
Merge remote-tracking branch 'origin/master'
djohansson Aug 1, 2022
016326f
Merge remote-tracking branch 'origin/master'
djohansson Aug 2, 2022
6867ac4
Merge remote-tracking branch 'origin/master'
djohansson Aug 15, 2022
e769638
Merge remote-tracking branch 'origin/master'
djohansson Sep 1, 2022
3d99355
Merge remote-tracking branch 'origin/master'
djohansson Sep 8, 2022
5f68e85
Merge remote-tracking branch 'origin/master'
djohansson Sep 28, 2022
9dcab07
Merge remote-tracking branch 'origin/master'
djohansson Oct 19, 2022
3e053ad
[slang] adding some expected failing platforms
djohansson Oct 19, 2022
ff80e2a
formatted manifest file
djohansson Oct 20, 2022
b4e7cde
added license
djohansson Oct 20, 2022
9101a48
added expected failing win64-static platform
djohansson Oct 20, 2022
85135d8
added version
djohansson Oct 20, 2022
12c433a
sort alphabetically
djohansson Oct 24, 2022
65d3460
Merge remote-tracking branch 'origin/master'
djohansson Oct 24, 2022
d44cf5c
changing error message
djohansson Oct 24, 2022
9c4fef4
updated version
djohansson Oct 24, 2022
711f0dd
[slang] adding "supports" field for vcpkg.json
djohansson Oct 25, 2022
44a5b68
[slang] removing platform exclusion rules
djohansson Oct 25, 2022
eddae16
[slang] update version
djohansson Oct 25, 2022
3e192ff
[slang] fixed deprecation warning
djohansson Oct 25, 2022
e55ba4e
[slang] update version database
djohansson Oct 25, 2022
e2c8f47
rename slang to shader-slang
djohansson Oct 27, 2022
73cafd3
update version database
djohansson Oct 27, 2022
229ccbf
Merge remote-tracking branch 'origin/master' into HEAD
BillyONeal Oct 29, 2022
ea452ff
Use builtin VERSION and dos2unix.
BillyONeal Oct 29, 2022
24eefa0
remove unused empty folder policy
djohansson Oct 30, 2022
c553971
set version
djohansson Oct 30, 2022
b73f476
update version
djohansson Oct 30, 2022
72ca0a2
Remove unnecessary set(VERSION
BillyONeal Oct 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions ports/slang/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
set(SLANG_VER 0.23.13)
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)

vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

if (VCPKG_TARGET_IS_WINDOWS)
set(SLANG_EXE_SUFFIX ".exe")
set(SLANG_LIB_PREFIX "")
set(SLANG_LIB_SUFFIX ".lib")
set(SLANG_DYNLIB_SUFFIX ".dll")
if (VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
vcpkg_download_distfile(
ARCHIVE
URLS "https://github.com/shader-slang/slang/releases/download/v${SLANG_VER}/slang-${SLANG_VER}-win64.zip"
FILENAME "slang-${SLANG_VER}-win64.zip"
SHA512 b7fb926426ee4ccd9e38ce1cb1b54b3034eeefbd38dbfba56d1559f9ff286521b4029ef411ecc8190ba426def2e775c4b747fb3eb8491bf7118d167185f65bbc
)
set(SLANG_BIN_PATH "bin/windows-x64/release")
elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
vcpkg_download_distfile(
ARCHIVE
URLS "https://github.com/shader-slang/slang/releases/download/v${SLANG_VER}/slang-${SLANG_VER}-win32.zip"
FILENAME "slang-${SLANG_VER}-win32.zip"
SHA512 a42639e500e63a8fb9e18074c5d04671f6a2d871db03d2e99b48ec0bb46f6a80a75a8bf6fc3a8eed2b72505311b665dcd55e99b5305baedcc2a0f212ca32b770
)
set(SLANG_BIN_PATH "bin/windows-x86/release")
else()
message(FATAL_ERROR "Currently unsupported platform, please implement me!")
endif()
elseif(VCPKG_TARGET_IS_LINUX)
set(SLANG_EXE_SUFFIX "")
set(SLANG_LIB_PREFIX "lib")
set(SLANG_LIB_SUFFIX ".a")
set(SLANG_DYNLIB_SUFFIX ".so")
if (VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
vcpkg_download_distfile(
ARCHIVE
URLS "https://github.com/shader-slang/slang/releases/download/v${SLANG_VER}/slang-${SLANG_VER}-linux-x86_64.tar.gz"
FILENAME "slang-${SLANG_VER}-linux-x86_64.tar.gz"
SHA512 77806dc15131d9360cf80c7cc274637fe54cf0147482ba6ac1e49094c05d7ad91716fd6fdcc2fe2e02265913b0b8bc72137d1e8092f4341eff61758f88291c38
)
set(SLANG_BIN_PATH "bin/linux-x64/release")
else()
message(FATAL_ERROR "Currently unsupported platform, please implement me!")
endif()
else()
message(FATAL_ERROR "Currently unsupported platform, please implement me!")
endif()

vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH BINDIST_PATH
ARCHIVE "${ARCHIVE}"
NO_REMOVE_ONE_LEVEL
)

file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang-llvm${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang-llvm${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang-glslang${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang-glslang${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/slangc${SLANG_EXE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")

if (VCPKG_TARGET_IS_WINDOWS)
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang${SLANG_LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/${SLANG_LIB_PREFIX}slang${SLANG_LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/gfx${SLANG_LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/gfx${SLANG_LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/gfx${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(INSTALL "${BINDIST_PATH}/${SLANG_BIN_PATH}/gfx${SLANG_DYNLIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

file(GLOB HEADERS "${BINDIST_PATH}/*.h")
file(INSTALL ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include")

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO shader-slang/slang
REF v${SLANG_VER}
SHA512 d02e166c694c46df8402f94b3f117d04494465ffa2cf636913ddced6f6a614547032c78408d87b79eb5d9de14b97cf8d17087a41c7d038c546b9a294e7a1f3d7
HEAD_REF master
)

file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
7 changes: 7 additions & 0 deletions ports/slang/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "slang",
"version": "0.23.13",
"homepage": "https://github.com/shader-slang/slang",
"description": "Slang is a shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion, while also maintaining the highest possible performance on modern GPUs and graphics APIs. Slang is based on years of collaboration between researchers at NVIDIA, Carnegie Mellon University, and Stanford.",
"dependencies": []
}