/diː ɛm ʤiː/
dmge² is a utility to design and create DMG files for macOS applications quickly and easily. It uses python internally to generate the DMG, which gives excellent flexibility.
OpenCV is optionally used to analyse the background image to locate the centre points of objects where. A background image with relevant visual information makes designing even more effortless.
Due to the toolset requirements for generating DMG files, this software will only run on macOS.
The application is currently a "work in progress", but the basic architecture is in place, and it is capable of building disk images.
Binary distributions are available from the releases on the github releases page.
- Mac OS. Download and open the disk image and drag the dmge² icon into the Applications folder, you can then start in design mode by double-clicking on the dmge2 icon in the Applications folder.
- CMake for building the application
- python 3 development libraries
- dmgbuild python module
- OpenCV development libraries
- DevIL development libraries
- toml++ development libraries
- CLI11 development libraries
- yaml-cpp development libraries
The application requires that the user has Python 3 installed; currently, the build does not bundle the python libraries and system modules into the application bundle and relies on them being correctly installed and accessible.
To build and run the application from source, you will need to ensure that you have Python 3 installed and the modified dmgbuild module. Whilst things are finalised, but you can install it directly from my fork with the following command:
python3 -m pip install git+https://github.com/fizzyade/dmgbuild.git@master --forceI will move the Ribbon Bar widget library to its repository once the application has reached its first release.
The Ribbon Bar is a dynamically loaded library, and I have added QtDesigner support so that ribbon bars can be created and edited inside designer for convenience.
By default, the Designer plugin is disabled; to enable building use the following CMake option.
Build_RibbonDesignerPlugin ON
I recommend creating a symlink from the designer plugin in the binary output folder to the Qt Designer (Or Qt Creator) designer plugins folder. By doing this, any changes to the plugin will be available to the Designer or Qt Creator (after restarting the application) and will not require further copying steps for installation.
Third-party libraries/assets/tools/services were used in the development of dmge2.
- cmake - cross platform project build system, licensed under BSD license.
- Catch2 - unit testing framework, licensed under the BSL-1.0 license.
- dmgbuild - Python module for creating DMG files, licensed under the MIT license.
- opencv - Computer vision and learning libraries, licensed under the Apache License.
- DevIL - Image loading library, licensed under the LGPL-2.1.
- toml - A toml C++ parser library, licensed under the MIT license
- hterm - A javascipt terminal emulator used to proide rich output, licensed under the BSD license
- yaml-cpp - A YAML parser and emitter used to decode the metadata in the licence files, licensed under the MIT license
- choosealicense.com - Provides a repository of open source licenses which contain metadata to show extra information, licensed under the Creative Commons Attribution 3.0 Unported license
- spdx.org - The official repository of SPDX licenses, licensed under the PDDL-1.0 license
Other propriety or licensed tools/services used during development.
- Affinity Designer - Vector artwork design application.
- Affinity Photo - Bitmap artwork design application.
- CLion - C/C++/Obj-C development IDE.
- Noun Project - An icon service with thousands of fantastic icons. (I have a commercial license)
Translations of the software are welcome, and you can supply these via GitHub with a pull request.
To create translations, you should use Qt Linguist.
This project is open source and released under the GPLv3 licence.
Distributed as-is; no warranty is given.