yuzu/externals/vcpkg/ports/shaderc/fix-build-type.patch

68 lines
1.9 KiB
Diff
Executable File

diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
index 3ada419..f3277f0 100644
--- a/libshaderc/CMakeLists.txt
+++ b/libshaderc/CMakeLists.txt
@@ -24,13 +24,16 @@ set(SHADERC_SOURCES
src/shaderc_private.h
)
+if (NOT BUILD_SHARED_LIBS)
add_library(shaderc STATIC ${SHADERC_SOURCES})
shaderc_default_compile_options(shaderc)
target_include_directories(shaderc
PUBLIC include
PRIVATE ${glslang_SOURCE_DIR}
${SPIRV-Headers_SOURCE_DIR}/include)
+set(shaderc_install_target shaderc)
+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
PUBLIC SHADERC_SHAREDLIB
)
set_target_properties(shaderc_shared PROPERTIES SOVERSION 1)
+set(shaderc_install_target shaderc_shared)
+endif()
if(SHADERC_ENABLE_INSTALL)
install(
@@ -54,7 +59,7 @@ if(SHADERC_ENABLE_INSTALL)
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/shaderc)
- install(TARGETS shaderc shaderc_shared
+ install(TARGETS ${shaderc_install_target}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
@@ -68,8 +73,11 @@ set(SHADERC_LIBS
SPIRV-Tools
)
+if(NOT BUILD_SHARED_LIBS)
target_link_libraries(shaderc PRIVATE ${SHADERC_LIBS})
+else()
target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS})
+endif()
shaderc_add_tests(
TEST_PREFIX shaderc
@@ -93,6 +101,7 @@ shaderc_add_tests(
shaderc_cpp
shaderc_private)
+if(0)
shaderc_combine_static_lib(shaderc_combined shaderc)
if(SHADERC_ENABLE_INSTALL)
@@ -121,6 +130,7 @@ 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)