vcpkg/ports/glslang/portfile.cmake
Ieyasu 59af419f8b
[glslang] Make building binaries optional (#27345)
* Make glslang binaries an optional feature

* Update versions

* Use 'tools' instead of 'binaries' as feature name

* Update versions

Co-authored-by: Miro Vilkki <miro.vilkki@basemark.com>
2022-10-20 19:06:49 -07:00

49 lines
1.4 KiB
CMake

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/glslang
REF 11.11.0
SHA512 c018271d499efff03540e4572a9c2f1f752c81c87efe7f2e63c2631ac47cecfedffdcfee68eddaf9187603eaae8ccd9a3e5640a022ba9fd7d05950f7827bf8cd
HEAD_REF master
PATCHES
ignore-crt.patch
)
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY)
vcpkg_add_to_path("${PYTHON_PATH}")
if("tools" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_IOS)
set(BUILD_BINARIES ON)
else()
# this case will report error since all executable will require BUNDLE DESTINATION
set(BUILD_BINARIES OFF)
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")
# Install custom usage
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY)
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)