CMake modules for building computer graphics applications like Maya plugins, Houdini tools, and Arnold shaders.
cgcmake is a collection of CMake modules specifically designed for building computer graphics applications and plugins. It provides pre-configured build system components for integrating with industry-standard graphics software like Autodesk Maya, SideFX Houdini, and Arnold renderer. The project solves the problem of complex, platform-specific build configurations required for graphics tool development.
Computer graphics developers building plugins, tools, or shaders for applications like Maya, Houdini, or Arnold. Technical artists and pipeline developers who need to create custom tools integrated with DCC applications.
Developers choose cgcmake because it provides battle-tested CMake configurations that handle the intricate dependencies and platform variations of graphics software, significantly reducing setup time and ensuring compatibility across different versions and operating systems.
CMake modules for common applications related to computer graphics
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
FindMaya.cmake module automates SDK discovery and linking, as shown in the sample CMakeLists.txt for Maya plugins, reducing boilerplate code.
Provides configurations for Windows, Linux, and macOS, handling platform-specific compiler flags and dependencies, ensuring compatibility across environments.
Supports multiple software versions with flags like MAYA_VERSION, easing development across different DCC releases, as demonstrated in the build examples.
Includes modules for building Houdini digital assets and Arnold shader plugins, covering key industry tools beyond Maya.
Only supports Maya, Houdini, and Arnold; developers needing other tools like Blender must write custom modules, limiting its general applicability.
Users must understand CMake syntax and commands, as seen in the sample usage, which can be a barrier for those new to build systems.
Needs manual inclusion of modules via CMAKE_MODULE_PATH, unlike package managers that handle dependencies automatically, adding initial configuration steps.