frang75 / nappgui_src

SDK for building cross-platform desktop apps in ANSI-C
https://www.nappgui.com
MIT License
442 stars 43 forks source link
c cairo cocoa cross-platform cross-platform-app cross-platform-gui gdi-plus gtk3 quartz win32

NAppGUI

Cross-Platform C SDK. Build portable desktop applications for Windows, macOS and Linux, using just C.

NAppGUI Stack

Quick start in Windows

Prerequisites

Open the Developer Command Prompt

git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -S . -B build
cmake --build build --config Debug

// Run examples in 'demo' and 'howto' folders
.\build\Debug\bin\Die.exe
.\build\Debug\bin\Bricks.exe
.\build\Debug\bin\Products.exe
.\build\Debug\bin\Col2dHello.exe
.\build\Debug\bin\GuiHello.exe
...

Running demo project in Windows

Quick start in macOS

Prerequisites

Open the Terminal

git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -G Xcode -S . -B build
cmake --build build --config Debug

// Run examples in 'demo' and 'howto' folders
./build/Debug/bin/Die.app/Contents/MacOS/Die
./build/Debug/bin/Bricks.app/Contents/MacOS/Bricks
./build/Debug/bin/Products.app/Contents/MacOS/Products
./build/Debug/bin/Col2dHello.app/Contents/MacOS/Col2dHello
./build/Debug/bin/GuiHello.app/Contents/MacOS/GuiHello
...

Running demo project in macOS

Quick start in Linux

Prerequisites

// Development tools
sudo apt-get install build-essential
sudo apt-get install git
sudo apt-get install cmake

// Development libraries
sudo apt-get install libgtk-3-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install libcurl4-openssl-dev

Open the Terminal

git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j 4

// Run examples in 'demo' and 'howto' folders
./build/Debug/bin/Die
./build/Debug/bin/Bricks
./build/Debug/bin/Products
./build/Debug/bin/Col2dHello
./build/Debug/bin/GuiHello
...

Running demo project in Linux

More info