aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/openfx
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/openfx
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/openfx')
-rw-r--r--vcpkg/ports/openfx/CMakeLists.txt73
-rw-r--r--vcpkg/ports/openfx/portfile.cmake22
-rw-r--r--vcpkg/ports/openfx/usage7
-rw-r--r--vcpkg/ports/openfx/vcpkg.json19
4 files changed, 121 insertions, 0 deletions
diff --git a/vcpkg/ports/openfx/CMakeLists.txt b/vcpkg/ports/openfx/CMakeLists.txt
new file mode 100644
index 0000000..079ff11
--- /dev/null
+++ b/vcpkg/ports/openfx/CMakeLists.txt
@@ -0,0 +1,73 @@
+cmake_minimum_required(VERSION 3.20)
+
+project(openfx VERSION 1.4.0 LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+if(WIN32)
+ add_compile_definitions(WINDOWS NOMINMAX WIN64)
+ set(OS_VAR "windows")
+ set(OFX_ARCH_NAME "Win64")
+endif()
+
+set(OFX_HEADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+add_library(OpenFx INTERFACE)
+target_include_directories(OpenFx
+ INTERFACE
+ $<BUILD_INTERFACE:${OFX_HEADERS_DIR}>
+ $<INSTALL_INTERFACE:include/openfx>
+)
+
+set(OFX_SUPPORT_HEADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Support/include)
+
+add_library(OfxSupport STATIC
+ Support/Library/ofxsCore.cpp
+ Support/Library/ofxsImageEffect.cpp
+ Support/Library/ofxsInteract.cpp
+ Support/Library/ofxsLog.cpp
+ Support/Library/ofxsMultiThread.cpp
+ Support/Library/ofxsParams.cpp
+ Support/Library/ofxsProperty.cpp
+ Support/Library/ofxsPropertyValidation.cpp
+)
+target_include_directories(OfxSupport
+ PUBLIC
+ $<BUILD_INTERFACE:${OFX_HEADERS_DIR}>
+ $<BUILD_INTERFACE:${OFX_SUPPORT_HEADERS_DIR}>
+ $<INSTALL_INTERFACE:include/openfx>
+)
+target_link_libraries(OfxSupport INTERFACE OpenFx)
+target_compile_features(OfxSupport PUBLIC cxx_std_11)
+
+install(
+ TARGETS OpenFx OfxSupport
+ EXPORT openfx-export
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(
+ EXPORT openfx-export
+ FILE unofficial-openfxConfig.cmake
+ NAMESPACE unofficial::openfx::
+ DESTINATION "share/unofficial-openfx"
+)
+
+file(GLOB OFX_HEADERS "${OFX_HEADERS_DIR}/*.h" "${OFX_SUPPORT_HEADERS_DIR}/*.h")
+install(FILES ${OFX_HEADERS}
+ DESTINATION include/openfx
+)
+
+include(CMakePackageConfigHelpers)
+
+write_basic_package_version_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfxConfigVersion.cmake"
+ VERSION ${PROJECT_VERSION}
+ COMPATIBILITY AnyNewerVersion
+)
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfxConfigVersion.cmake"
+ DESTINATION "share/unofficial-openfx"
+)
diff --git a/vcpkg/ports/openfx/portfile.cmake b/vcpkg/ports/openfx/portfile.cmake
new file mode 100644
index 0000000..fb2c2f3
--- /dev/null
+++ b/vcpkg/ports/openfx/portfile.cmake
@@ -0,0 +1,22 @@
+string(REPLACE "." "_" UNDERSCORE_VERSION "${VERSION}")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO AcademySoftwareFoundation/openfx
+ REF "OFX_Release_${UNDERSCORE_VERSION}_TAG"
+ SHA512 b20512ea38823167f191b72f1592548df85fbda6cefe47673972874c139641ee91277e78c1e0d57a457b9f864385e6fa0e4a7edcdbf0c7b2eda956c03a3e1e13
+ HEAD_REF main
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
+vcpkg_cmake_install()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openfx)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/DocSrc")
+
+configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Support/LICENSE")
diff --git a/vcpkg/ports/openfx/usage b/vcpkg/ports/openfx/usage
new file mode 100644
index 0000000..98a9128
--- /dev/null
+++ b/vcpkg/ports/openfx/usage
@@ -0,0 +1,7 @@
+The package OpenFX provides CMake targets:
+
+ find_package(unofficial-openfx CONFIG REQUIRED)
+ # C-based API
+ target_link_libraries(main PRIVATE unofficial::openfx::OpenFx)
+ # C++ wrapper
+ target_link_libraries(main PRIVATE unofficial::openfx::OfxSupport)
diff --git a/vcpkg/ports/openfx/vcpkg.json b/vcpkg/ports/openfx/vcpkg.json
new file mode 100644
index 0000000..33634ae
--- /dev/null
+++ b/vcpkg/ports/openfx/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
+ "name": "openfx",
+ "version": "1.4",
+ "maintainers": "Reza Alizadeh Majd <r.a.majd@gmail.com>, Behnam Binesh <BehnamBih@gmail.com>",
+ "summary": "OpenFX - An open-source plugin API for visual effects",
+ "homepage": "https://github.com/AcademySoftwareFoundation/openfx",
+ "license": "BSD-3-Clause",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}