diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/forge | |
Diffstat (limited to 'vcpkg/ports/forge')
| -rw-r--r-- | vcpkg/ports/forge/cmake_config.patch | 27 | ||||
| -rw-r--r-- | vcpkg/ports/forge/portfile.cmake | 34 | ||||
| -rw-r--r-- | vcpkg/ports/forge/vcpkg.json | 29 |
3 files changed, 90 insertions, 0 deletions
diff --git a/vcpkg/ports/forge/cmake_config.patch b/vcpkg/ports/forge/cmake_config.patch new file mode 100644 index 0000000..4775ec0 --- /dev/null +++ b/vcpkg/ports/forge/cmake_config.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeModules/ForgeConfig.cmake.in b/CMakeModules/ForgeConfig.cmake.in +index 6fb18ac..5a3b000 100644 +--- a/CMakeModules/ForgeConfig.cmake.in ++++ b/CMakeModules/ForgeConfig.cmake.in +@@ -83,3 +83,22 @@ if ((TARGET Forge::forge AND Forge_BINARY_EXISTS) OR TARGET forge) + else () + set(Forge_FOUND OFF) + endif () ++ ++if(Forge_FOUND) ++ # Check for dependencies when Forge binary and cmake files are found ++ include(CMakeFindDependencyMacro) ++ ++ find_dependency(glad CONFIG) ++ find_dependency(glfw3 CONFIG) ++ find_dependency(freetype CONFIG) ++ find_dependency(freeimage CONFIG) ++ find_dependency(OpenGL) ++ ++ if(NOT WIN32) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(fontconfig REQUIRED) ++ if(NOT fontconfig_FOUND) ++ message(FATAL_ERROR "Please install Fontconfig dependency") ++ endif() ++ endif() ++endif() diff --git a/vcpkg/ports/forge/portfile.cmake b/vcpkg/ports/forge/portfile.cmake new file mode 100644 index 0000000..0cde669 --- /dev/null +++ b/vcpkg/ports/forge/portfile.cmake @@ -0,0 +1,34 @@ +
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO arrayfire/forge
+ REF v1.0.8
+ SHA512 08e5eb89d80f7fa3310f0eb37481492b5c1dfff00b33c308169862d8b25cf93ad1d9c0db78667c0207a7f6f8ca4046c196bd3a987af839ea1864b49c738ee8e3
+ HEAD_REF master
+ PATCHES cmake_config.patch
+)
+file(REMOVE "${SOURCE_PATH}/CMakeModules/FindOpenGL.cmake")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DFG_BUILD_DOCS=OFF
+ -DFG_BUILD_EXAMPLES=OFF
+ -DFG_INSTALL_BIN_DIR=bin
+ -DFG_INSTALL_CMAKE_DIR=share/forge
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+
+file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/bin/* ${CURRENT_PACKAGES_DIR}/debug/bin/*)
+list(FILTER DLLS EXCLUDE REGEX "forge\\.dll\$")
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/debug/examples
+ ${CURRENT_PACKAGES_DIR}/examples
+ ${DLLS}
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/.github/LICENSE")
diff --git a/vcpkg/ports/forge/vcpkg.json b/vcpkg/ports/forge/vcpkg.json new file mode 100644 index 0000000..7346d40 --- /dev/null +++ b/vcpkg/ports/forge/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "forge", + "version-semver": "1.0.8", + "port-version": 3, + "description": "An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend.", + "homepage": "https://github.com/arrayfire/forge", + "license": "BSD-3-Clause", + "supports": "!(windows & (arm | uwp))", + "dependencies": [ + "boost-container-hash", + { + "name": "fontconfig", + "platform": "!windows" + }, + "freeimage", + "freetype", + "glad", + "glfw3", + "glm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |