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/openfx | |
Diffstat (limited to 'vcpkg/ports/openfx')
| -rw-r--r-- | vcpkg/ports/openfx/CMakeLists.txt | 73 | ||||
| -rw-r--r-- | vcpkg/ports/openfx/portfile.cmake | 22 | ||||
| -rw-r--r-- | vcpkg/ports/openfx/usage | 7 | ||||
| -rw-r--r-- | vcpkg/ports/openfx/vcpkg.json | 19 |
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 + } + ] +} |