diff options
| author | Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> | 2021-02-11 00:24:45 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-11 00:24:45 -0800 |
| commit | f6a877255e8b648eeec18ba6efb015e601f2286f (patch) | |
| tree | 36e8d6de5199baa023ec8504c3983eb9d7060d1b | |
| parent | 56136ffae69a4a7f8b9cd5452713925417d47367 (diff) | |
| download | vcpkg-f6a877255e8b648eeec18ba6efb015e601f2286f.tar.gz vcpkg-f6a877255e8b648eeec18ba6efb015e601f2286f.zip | |
[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>
| -rw-r--r-- | ports/shaderc/CONTROL | 3 | ||||
| -rw-r--r-- | ports/shaderc/fix-build-type.patch | 85 | ||||
| -rw-r--r-- | ports/shaderc/portfile.cmake | 34 | ||||
| -rw-r--r-- | versions/baseline.json | 4 | ||||
| -rw-r--r-- | versions/s-/shaderc.json | 5 |
5 files changed, 113 insertions, 18 deletions
diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL index 0878b17be..e700a4010 100644 --- a/ports/shaderc/CONTROL +++ b/ports/shaderc/CONTROL @@ -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
\ No newline at end of file diff --git a/ports/shaderc/fix-build-type.patch b/ports/shaderc/fix-build-type.patch new file mode 100644 index 000000000..959610e3b --- /dev/null +++ b/ports/shaderc/fix-build-type.patch @@ -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 diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake index b76775b76..40005d52b 100644 --- a/ports/shaderc/portfile.cmake +++ b/ports/shaderc/portfile.cmake @@ -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) diff --git a/versions/baseline.json b/versions/baseline.json index b48c392ba..53351ac05 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -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", diff --git a/versions/s-/shaderc.json b/versions/s-/shaderc.json index 9b544a105..b58c9a2a8 100644 --- a/versions/s-/shaderc.json +++ b/versions/s-/shaderc.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "684cc1ffce4fe1fe48788484436e1e6d5886859e", + "version-string": "2019-06-26", + "port-version": 2 + }, + { "git-tree": "0622fa62b4192278be6dc612e9328e3c3a96ff50", "version-string": "2019-06-26-1", "port-version": 0 |
