This repository serves as a starting point for creating OpenFX effects using modern tools and practices. It includes a sample effect, invert.cpp
, which has been adapted from the official OpenFX repository and updated to use modern C++ standards.
The project is built using the following tools:
- CMake: A cross-platform build system generator.
- vcpkg: A C++ library manager that simplifies the installation of dependencies.
- Ninja: A small build system with a focus on speed.
- clang-format: A tool to format C++ code according to style guidelines.
- clang-tidy: A clang-based C++ linter tool.
Before you can build and run this project, you need to have the following tools installed on your system:
- CMake: Available via most package managers (e.g.,
apt
,winget
). - vcpkg: Available via most package managers (e.g.,
apt
,winget
). - Ninja: Available via most package managers (e.g.,
apt
,winget
). - clang-format and clang-tidy: These are typically included with the LLVM toolchain and are often integrated into modern code editors.
Additionally, you need to set the VCPKG_ROOT
environment variable to point to your vcpkg installation directory.
-
Clone the repository:
git clone https://github.com/Hashory/openfx-modern-template.git cd openfx-modern-template
-
Create a build directory and configure the project using CMake:
cmake --preset=vcpkg
-
Build the project:
cmake --build build
After the build is complete, the output will be located at
invert.ofx.bundle/Contents/Your-OS/invert.ofx
.
invert.cpp
: The main source file for the sample OpenFX effect. This file has been adapted from the official OpenFX repository and updated to use modern C++ standards.CMakeLists.txt
: The CMake configuration file for the project..clang-format
: Configuration file for clang-format..clang-tidy
: Configuration file for clang-tidy.vcpkg.json
: Configuration file for vcpkg dependencies.
This project is licensed under the BSD-3-Clause License, the same as the official OpenFX repository. See the LICENSE.md file for details.
The invert.cpp
file is based on code from the official OpenFX repository and has been updated to use modern C++ standards.