Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
88 changes: 80 additions & 8 deletions ports/shaderc/fix-build-type.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,53 @@
diff --git a/examples/online-compile/CMakeLists.txt b/examples/online-compile/CMakeLists.txt
index 6cceb6b..c7a1521 100644
--- a/examples/online-compile/CMakeLists.txt
+++ b/examples/online-compile/CMakeLists.txt
@@ -15,4 +15,5 @@
add_executable(shaderc-online-compile main.cc)
shaderc_default_compile_options(shaderc-online-compile)
target_include_directories(shaderc-online-compile PUBLIC ${shaderc_SOURCE_DIR}/libshaderc_util/include)
-target_link_libraries(shaderc-online-compile PRIVATE shaderc)
+target_include_directories(shaderc-online-compile PUBLIC ${shaderc_SOURCE_DIR}/libshaderc/include)
+target_link_libraries(shaderc-online-compile PRIVATE ${sharerc_core_target})
diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
index 358d91b..1979111 100644
--- a/glslc/CMakeLists.txt
+++ b/glslc/CMakeLists.txt
@@ -31,6 +31,7 @@ add_library(glslc STATIC

shaderc_default_compile_options(glslc)
target_include_directories(glslc PUBLIC ${glslang_SOURCE_DIR})
+target_include_directories(glslc PUBLIC ${shaderc_SOURCE_DIR}/libshaderc/include)

if (SHADERC_ENABLE_WGSL_OUTPUT)
if (IS_DIRECTORY "${tint_SOURCE_DIR}/include")
@@ -45,18 +46,18 @@ endif(SHADERC_ENABLE_WGSL_OUTPUT)
target_link_libraries(glslc PRIVATE
glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries
$<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint> # Tint libraries, optional
- shaderc_util shaderc # internal Shaderc libraries
+ shaderc_util ${sharerc_core_target} # internal Shaderc libraries
${CMAKE_THREAD_LIBS_INIT})

add_executable(glslc_exe src/main.cc)
shaderc_default_compile_options(glslc_exe)
target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include)
set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc)
-target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc)
+target_link_libraries(glslc_exe PRIVATE glslc shaderc_util ${sharerc_core_target} SPIRV-Tools)

shaderc_add_tests(
TEST_PREFIX glslc
- LINK_LIBS glslc shaderc_util shaderc
+ LINK_LIBS glslc shaderc_util ${sharerc_core_target}
TEST_NAMES
file
resource_parse
diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
index 3ada419..f3277f0 100644
index 3ada419..cdbc0bd 100644
--- a/libshaderc/CMakeLists.txt
+++ b/libshaderc/CMakeLists.txt
@@ -24,13 +24,16 @@ set(SHADERC_SOURCES
@@ -24,13 +24,17 @@ set(SHADERC_SOURCES
src/shaderc_private.h
)

Expand All @@ -14,21 +59,23 @@ index 3ada419..f3277f0 100644
PRIVATE ${glslang_SOURCE_DIR}
${SPIRV-Headers_SOURCE_DIR}/include)
+set(shaderc_install_target shaderc)
+set(sharerc_core_target shaderc PARENT_SCOPE)

+else()
add_library(shaderc_shared SHARED ${SHADERC_SOURCES})
shaderc_default_compile_options(shaderc_shared)
target_include_directories(shaderc_shared
@@ -42,6 +45,8 @@ target_compile_definitions(shaderc_shared
@@ -42,6 +46,9 @@ target_compile_definitions(shaderc_shared
PUBLIC SHADERC_SHAREDLIB
)
set_target_properties(shaderc_shared PROPERTIES SOVERSION 1)
+set(shaderc_install_target shaderc_shared)
+set(sharerc_core_target shaderc_shared PARENT_SCOPE)
+endif()

if(SHADERC_ENABLE_INSTALL)
install(
@@ -54,7 +59,7 @@ if(SHADERC_ENABLE_INSTALL)
@@ -54,7 +61,7 @@ if(SHADERC_ENABLE_INSTALL)
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/shaderc)

Expand All @@ -37,7 +84,7 @@ index 3ada419..f3277f0 100644
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
@@ -68,8 +73,11 @@ set(SHADERC_LIBS
@@ -68,31 +75,24 @@ set(SHADERC_LIBS
SPIRV-Tools
)

Expand All @@ -48,20 +95,45 @@ index 3ada419..f3277f0 100644
+endif()

shaderc_add_tests(
TEST_PREFIX shaderc
@@ -93,6 +101,7 @@ shaderc_add_tests(
- TEST_PREFIX shaderc
- LINK_LIBS shaderc
- INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
- ${spirv-tools_SOURCE_DIR}/include
- ${SPIRV-Headers_SOURCE_DIR}/include
- TEST_NAMES
- shaderc
- shaderc_cpp
- shaderc_private)
-
-shaderc_add_tests(
- TEST_PREFIX shaderc_shared
- LINK_LIBS shaderc_shared SPIRV-Tools
+ TEST_PREFIX ${shaderc_install_target}
+ LINK_LIBS ${shaderc_install_target}
INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
${spirv-tools_SOURCE_DIR}/include
${SPIRV-Headers_SOURCE_DIR}/include
TEST_NAMES
- shaderc
+ ${shaderc_install_target}
shaderc_cpp
shaderc_private)

+if(0)
shaderc_combine_static_lib(shaderc_combined shaderc)

if(SHADERC_ENABLE_INSTALL)
@@ -121,6 +130,7 @@ shaderc_add_tests(
@@ -121,11 +121,12 @@ shaderc_add_tests(
TEST_NAMES
shaderc
shaderc_cpp)
+endif()

if(${SHADERC_ENABLE_TESTS})
add_executable(shaderc_c_smoke_test ./src/shaderc_c_smoke_test.c)
shaderc_default_c_compile_options(shaderc_c_smoke_test)
target_include_directories(shaderc_c_smoke_test PUBLIC ${shaderc_SOURCE_DIR}/libshaderc_util/include)
- target_link_libraries(shaderc_c_smoke_test PRIVATE shaderc)
+ target_link_libraries(shaderc_c_smoke_test PRIVATE ${shaderc_install_target})
add_test(NAME shaderc_c_smoke_test COMMAND shaderc_c_smoke_test)
endif()
18 changes: 0 additions & 18 deletions ports/shaderc/fix-install-shaderc_util.patch

This file was deleted.

23 changes: 8 additions & 15 deletions ports/shaderc/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#Note: glslang and spir tools doesn't export symbol and need to be build as static lib for cmake to work
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/shaderc
Expand All @@ -10,38 +7,34 @@ vcpkg_from_github(
PATCHES
disable-update-version.patch
fix-build-type.patch
fix-install-shaderc_util.patch
)

file(COPY ${CMAKE_CURRENT_LIST_DIR}/build-version.inc DESTINATION ${SOURCE_PATH}/glslc/src)

set(OPTIONS)
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
list(APPEND OPTIONS -DSHADERC_ENABLE_SHARED_CRT=ON)
endif()
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" SHADERC_SHARED_CRT)

# shaderc uses python to manipulate copyright information
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")

vcpkg_configure_cmake(
vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
${OPTIONS}
-DSHADERC_SKIP_TESTS=true
-DSHADERC_ENABLE_SHARED_CRT=${SHADERC_SHARED_CRT}
-DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang
-DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools
-DSHADERC_ENABLE_EXAMPLES=OFF
-DSHADERC_SKIP_INSTALL=OFF
-DSHADERC_SKIP_TESTS=ON
-DSHADERC_SKIP_EXAMPLES=ON
)

vcpkg_install_cmake()
vcpkg_cmake_install()

vcpkg_fixup_pkgconfig()

vcpkg_copy_tools(TOOL_NAMES glslc AUTO_CLEAN)

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
8 changes: 6 additions & 2 deletions ports/shaderc/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
{
"name": "shaderc",
"version": "2021.1",
"port-version": 1,
"port-version": 2,
"description": "A collection of tools, libraries and tests for shader compilation.",
"homepage": "https://github.com/google/shaderc",
"dependencies": [
"glslang",
"spirv-tools"
"spirv-tools",
{
"name": "vcpkg-cmake",
"host": true
}
]
}
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -5794,7 +5794,7 @@
},
"shaderc": {
"baseline": "2021.1",
"port-version": 1
"port-version": 2
},
"shaderwriter": {
"baseline": "1.1.0",
Expand Down
5 changes: 5 additions & 0 deletions versions/s-/shaderc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f6a82ca83afbf20c08d6d001f133cd5fd2672108",
"version": "2021.1",
"port-version": 2
},
{
"git-tree": "e8590ab232dd5ccd2331bb321127f00788b573a3",
"version": "2021.1",
Expand Down