CMake ported by Alfkil T. Wennermark for AmigaOS 4.1 is a cross platform build tool used by many software projects. It facilitates easy cross platform building along with modules for Qt and other large and small library packages. CMake is designed to support complex directory hierarchies and applications dependent on several libraries. For example, CMake supports projects consisting of multiple toolkits (i.e., libraries), where each toolkit might contain several directories, and the application depends on the toolkits plus additional code. CMake can also handle situations where executables must be built in order to generate code that is then compiled and linked into a final application. Because CMake is open source, and has a simple, extensible design, CMake can be extended as necessary to support new features. In addition, the advanced user can add other makefile generators for a particular compiler/OS combination.