aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/forge
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/forge
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/forge')
-rw-r--r--vcpkg/ports/forge/cmake_config.patch27
-rw-r--r--vcpkg/ports/forge/portfile.cmake34
-rw-r--r--vcpkg/ports/forge/vcpkg.json29
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
+ }
+ ]
+}