mirror of https://github.com/microsoft/vcpkg.git
[shaderc] Use build type to build targets (#16137)
* [shaderc] Use build type to build targets * update version record * Update ports/shaderc/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/shaderc/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * refresh version record Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
This commit is contained in:
parent
56136ffae6
commit
f6a877255e
|
|
@ -1,5 +1,6 @@
|
|||
Source: shaderc
|
||||
Version: 2019-06-26-1
|
||||
Version: 2019-06-26
|
||||
Port-Version: 2
|
||||
Homepage: https://github.com/google/shaderc
|
||||
Description: A collection of tools, libraries and tests for shader compilation.
|
||||
Build-Depends: glslang, spirv-tools
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
|
||||
index 0ffa06f..3476170 100644
|
||||
--- a/libshaderc/CMakeLists.txt
|
||||
+++ b/libshaderc/CMakeLists.txt
|
||||
@@ -10,10 +10,11 @@ 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})
|
||||
-
|
||||
+else()
|
||||
add_library(shaderc_shared SHARED ${SHADERC_SOURCES})
|
||||
shaderc_default_compile_options(shaderc_shared)
|
||||
target_include_directories(shaderc_shared PUBLIC include PRIVATE ${glslang_SOURCE_DIR})
|
||||
@@ -22,6 +23,7 @@ target_compile_definitions(shaderc_shared
|
||||
PUBLIC SHADERC_SHAREDLIB
|
||||
)
|
||||
set_target_properties(shaderc_shared PROPERTIES SOVERSION 1)
|
||||
+endif()
|
||||
|
||||
if(SHADERC_ENABLE_INSTALL)
|
||||
install(
|
||||
@@ -34,10 +36,17 @@ if(SHADERC_ENABLE_INSTALL)
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_INCLUDEDIR}/shaderc)
|
||||
|
||||
- install(TARGETS shaderc shaderc_shared
|
||||
+ if (NOT BUILD_SHARED_LIBS)
|
||||
+ install(TARGETS shaderc
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ else()
|
||||
+ install(TARGETS shaderc_shared
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ endif()
|
||||
endif(SHADERC_ENABLE_INSTALL)
|
||||
|
||||
find_package(Threads)
|
||||
@@ -47,10 +56,13 @@ set(SHADERC_LIBS
|
||||
SPIRV # from glslang
|
||||
SPIRV-Tools
|
||||
)
|
||||
-
|
||||
+if (NOT BUILD_SHARED_LIBS)
|
||||
target_link_libraries(shaderc PRIVATE ${SHADERC_LIBS})
|
||||
+else()
|
||||
target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS})
|
||||
+endif()
|
||||
|
||||
+if (NOT BUILD_SHARED_LIBS)
|
||||
shaderc_add_tests(
|
||||
TEST_PREFIX shaderc
|
||||
LINK_LIBS shaderc
|
||||
@@ -60,7 +72,7 @@ shaderc_add_tests(
|
||||
shaderc
|
||||
shaderc_cpp
|
||||
shaderc_private)
|
||||
-
|
||||
+else()
|
||||
shaderc_add_tests(
|
||||
TEST_PREFIX shaderc_shared
|
||||
LINK_LIBS shaderc_shared SPIRV-Tools
|
||||
@@ -70,7 +82,9 @@ shaderc_add_tests(
|
||||
shaderc
|
||||
shaderc_cpp
|
||||
shaderc_private)
|
||||
-
|
||||
+endif()
|
||||
+# Do not combine all dependencies to static library
|
||||
+if (0)
|
||||
shaderc_combine_static_lib(shaderc_combined shaderc)
|
||||
|
||||
if(SHADERC_ENABLE_INSTALL)
|
||||
@@ -106,3 +120,4 @@ if(${SHADERC_ENABLE_TESTS})
|
||||
target_link_libraries(shaderc_c_smoke_test PRIVATE shaderc)
|
||||
add_test(NAME shaderc_c_smoke_test COMMAND shaderc_c_smoke_test)
|
||||
endif()
|
||||
+endif()
|
||||
\ No newline at end of file
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
#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
|
||||
|
|
@ -5,8 +8,9 @@ vcpkg_from_github(
|
|||
SHA512 329697e8e23d619313440d57ef740a94c49d13533e1b8734fc8ff72fd5092c2addabb306f64cb69160fa5fee373a05ba39a5ee6d92d95e5e2e9c7ec96a51aadc
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
"disable-update-version.patch"
|
||||
"fix-install.patch"
|
||||
disable-update-version.patch
|
||||
fix-install.patch
|
||||
fix-build-type.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/third_party/glslang)
|
||||
|
|
@ -16,8 +20,6 @@ file(RENAME ${SOURCE_PATH}/third_party/spirv-tools/CMakeLists_spirv.txt ${SOURCE
|
|||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/build-version.inc DESTINATION ${SOURCE_PATH}/glslc/src)
|
||||
|
||||
#Note: glslang and spir tools doesn't export symbol and need to be build as static lib for cmake to work
|
||||
set(VCPKG_LIBRARY_LINKAGE "static")
|
||||
set(OPTIONS)
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
|
||||
list(APPEND OPTIONS -DSHADERC_ENABLE_SHARED_CRT=ON)
|
||||
|
|
@ -31,21 +33,23 @@ vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")
|
|||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include -Dspirv-tools_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include
|
||||
OPTIONS_DEBUG -DSUFFIX_D=true
|
||||
OPTIONS_RELEASE -DSUFFIX_D=false
|
||||
OPTIONS
|
||||
${OPTIONS}
|
||||
-DSHADERC_SKIP_TESTS=true
|
||||
-Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include
|
||||
-Dspirv-tools_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include
|
||||
OPTIONS_DEBUG
|
||||
-DSUFFIX_D=true
|
||||
OPTIONS_RELEASE
|
||||
-DSUFFIX_D=false
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*${CMAKE_EXECUTABLE_SUFFIX}")
|
||||
file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_tools(TOOL_NAMES glslc AUTO_CLEAN)
|
||||
|
||||
#Safe to remove as libs are static
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/shaderc)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/shaderc/LICENSE ${CURRENT_PACKAGES_DIR}/share/shaderc/copyright)
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
|
|
|||
|
|
@ -5349,8 +5349,8 @@
|
|||
"port-version": 0
|
||||
},
|
||||
"shaderc": {
|
||||
"baseline": "2019-06-26-1",
|
||||
"port-version": 0
|
||||
"baseline": "2019-06-26",
|
||||
"port-version": 2
|
||||
},
|
||||
"shaderwriter": {
|
||||
"baseline": "1.0.0",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "684cc1ffce4fe1fe48788484436e1e6d5886859e",
|
||||
"version-string": "2019-06-26",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "0622fa62b4192278be6dc612e9328e3c3a96ff50",
|
||||
"version-string": "2019-06-26-1",
|
||||
|
|
|
|||
Loading…
Reference in New Issue