aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/bgfx/portfile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/bgfx/portfile.cmake')
-rw-r--r--vcpkg/ports/bgfx/portfile.cmake77
1 files changed, 77 insertions, 0 deletions
diff --git a/vcpkg/ports/bgfx/portfile.cmake b/vcpkg/ports/bgfx/portfile.cmake
new file mode 100644
index 0000000..4c7f844
--- /dev/null
+++ b/vcpkg/ports/bgfx/portfile.cmake
@@ -0,0 +1,77 @@
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_download_distfile(
+ ARCHIVE_FILE
+ URLS https://github.com/bkaradzic/bgfx.cmake/releases/download/v${VERSION}/bgfx.cmake.v${VERSION}.tar.gz
+ FILENAME bgfx.cmake.v${VERSION}.tar.gz
+ SHA512 520c542b65e76e92eae818e32eeb62bb2347ac89a1e10fc07cd5059a3b8a9a543cadca87d451a3bc157c415f6183b1f0e5031248e38fae704b8efd54679d482b
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE_FILE}"
+ PATCHES
+ fix-dependencies.patch
+)
+file(REMOVE_RECURSE
+ "${SOURCE_PATH}/bgfx/3rdparty/dear-imgui"
+ "${SOURCE_PATH}/bgfx/3rdparty/glslang"
+ "${SOURCE_PATH}/bgfx/3rdparty/meshoptimizer"
+ "${SOURCE_PATH}/bgfx/3rdparty/spirv-cross"
+ "${SOURCE_PATH}/bgfx/3rdparty/spirv-headers"
+ "${SOURCE_PATH}/bgfx/3rdparty/spirv-opt"
+ "${SOURCE_PATH}/bgfx/3rdparty/stb"
+ "${SOURCE_PATH}/bimg/3rdparty/libsquish"
+ "${SOURCE_PATH}/bimg/3rdparty/lodepng"
+ "${SOURCE_PATH}/bimg/3rdparty/stb"
+ "${SOURCE_PATH}/bimg/3rdparty/tinyexr"
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ tools BGFX_BUILD_TOOLS
+ multithreaded BGFX_CONFIG_MULTITHREADED
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BGFX_LIBRARY_TYPE "SHARED")
+else ()
+ set(BGFX_LIBRARY_TYPE "STATIC")
+endif ()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBGFX_LIBRARY_TYPE=${BGFX_LIBRARY_TYPE}
+ -DBGFX_AMALGAMATED=ON
+ -DBGFX_BUILD_EXAMPLES=OFF
+ -DBGFX_OPENGLES_VERSION=30
+ "-DBGFX_ADDITIONAL_TOOL_PATHS=${CURRENT_INSTALLED_DIR}/../${HOST_TRIPLET}/tools/bgfx"
+ ${FEATURE_OPTIONS}
+ OPTIONS_DEBUG
+ -DBGFX_BUILD_TOOLS=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
+vcpkg_copy_pdbs()
+
+if ("tools" IN_LIST FEATURES)
+ vcpkg_copy_tools(TOOL_NAMES bin2c shaderc geometryc texturec AUTO_CLEAN)
+endif ()
+
+vcpkg_install_copyright(
+ FILE_LIST "${CURRENT_PACKAGES_DIR}/share/licences/${PORT}/LICENSE"
+ COMMENT [[
+bgfx includes third-party components which are subject to specific license
+terms. Check the sources for details.
+]])
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/share/licences"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)