yuzu/externals/vcpkg/ports/glslang/portfile.cmake

56 lines
1.7 KiB
CMake
Executable File

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/glslang
REF 11.8.0
SHA512 b60d328fab6d5319e49fbf8aeb86c31a7c8dfb4bc75d39c081cbb72f90750fd98f2a4f3ab091614187ad9e0d2e27471f9dab7ca5547cabb856d17bff694f8c98
HEAD_REF master
PATCHES
ignore-crt.patch
always-install-resource-limits.patch
)
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY)
vcpkg_add_to_path("${PYTHON_PATH}")
if(VCPKG_TARGET_IS_IOS)
# this case will report error since all executable will require BUNDLE DESTINATION
set(BUILD_BINARIES OFF)
else()
set(BUILD_BINARIES ON)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DSKIP_GLSLANG_INSTALL=OFF
-DBUILD_EXTERNAL=OFF
-DENABLE_GLSLANG_BINARIES=${BUILD_BINARIES}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake)
vcpkg_copy_pdbs()
if(NOT BUILD_BINARIES)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
else()
vcpkg_copy_tools(TOOL_NAMES glslangValidator spirv-remap AUTO_CLEAN)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/bin")
if(EXISTS "${CURRENT_PACKAGES_DIR}/share/glslang/glslang-config.cmake" OR EXISTS "${CURRENT_PACKAGES_DIR}/share/glslang/glslangConfig.cmake")
message(FATAL_ERROR "glslang has been updated to provide a -config file -- please remove the vcpkg provided version from the portfile")
endif()
file(COPY
"${CMAKE_CURRENT_LIST_DIR}/glslang-config.cmake"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
)
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)