A Drogon CMS built with C, Drogon, CMake, Adwaita and Gtk4
This software creates a local/remote Drogon content management system (CMS) application.
License
- GPL-3.0
Developer Dependency Requirements
- GCC (GNU C/C++ Compiler) 13.2.1
- CMake >= 3.28
- Drogon >= 1.9.1 [SEE REQUIREMENTS]
- Pkg-Config >= 1.8.1
- Gtk4 >= 4.0
- Adwaita >= 1.3.5
- Optional Cambalache >= 0.14 (Gtk4 Editor) [SEE REQUIREMENTS]
- Optional Geany IDE
- CLI Experience
Note: This has been built and tested on Arch Linux
Steps to build DrogonCMS from Source code
- Clone the repository
git clone https://git.sharpetronics.com/sharpetronics/DrogonCMSandcd DrogonCMS/ - optional checkout correct branch e.g.
git checkout drogonCMS-cmake - Run
cmake -D CMAKE_BUILD_TYPE=Release . - Then, to build the executable, we do
cmake --build . - Run the app with
./DrogonCMS
Development & Contributing
Requirements
Drogon framework compile/build dependencies.
- Drogon >= 1.9.1 https://github.com/drogonframework/drogon/wiki/ENG-02-Installation#System-Preparation-Examples
Recommendations
A GTK4 editor is a recommended tool for this project; all UI's and project files .cmb are stored in ./src/ui/.
- Cambalache >= 0.14 https://gitlab.gnome.org/jpu/cambalache
An optional recommendation is Geany IDE.
- Geany IDE https://www.geany.org/
IDE build commands via Geany Build -> Set Build Commands
This is what my build commands look like in Geany IDE with GNU Automake Tools.
| Name | Command | Working Directory |
|---|---|---|
| Configure | ../configure | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
| AutoReconf | autoreconf -vi | /home/username/Desktop/Local-Development/cplusplus/drogon-dash |
| Make | make | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
| Run | ./drogon_dashboard | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
| Make Bins | make dist | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
This is what my build commands look like in Geany IDE with BSD CMake Tools.
| Name | Command | Working Directory |
|---|---|---|
| Configure | cmake -D CMAKE_BUILD_TYPE=Release | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
| Build | cmake --build | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
| Run | ./DrogonCMS | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
| Install | cmake --install | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
Authors
- SharpeTronics, LLC
- oDinZu WenKi(Charles)
Financial Support & Donations
oDinZu WenKi(Charles) https://liberapay.com/oDinZu/
- Liberapay is a recurrent donations platform
- Run by a non-profit organization
- Source code is public
- No commission fee
- ~5% payment processing fee
Learning Resources
- Adawaita Documentation https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/index.html
- Cambalache https://gitlab.gnome.org/jpu/cambalache
- C References https://en.cppreference.com/w/c
- CMake Documentation https://cmake.org/cmake/help/book/mastering-cmake/index.html
- Drogon Web Server https://github.com/drogonframework/drogon
- Geany IDE https://www.geany.org/
- Gio Documentation https://docs.gtk.org/gio/index.html
- GLib Documentation https://docs.gtk.org/glib/index.html
- GObject Documentation https://docs.gtk.org/gobject/index.html
- GTK 4 Demos https://gitlab.gnome.org/GNOME/gtk/-/tree/main/demos
- GTK 4 Documentation https://docs.gtk.org/gtk4/
Notice: We focus implementation with the C programming language and only add various features of C ++ code.
Description
Languages
CMake
51.1%
C
48.9%