Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brightprogrammer/crossgui
Cross Platform GUI Library
https://github.com/brightprogrammer/crossgui
bsd-3-clause c gui linux vulkan
Last synced: 6 days ago
JSON representation
Cross Platform GUI Library
- Host: GitHub
- URL: https://github.com/brightprogrammer/crossgui
- Owner: brightprogrammer
- License: bsd-3-clause
- Created: 2024-04-19T19:54:16.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-05-21T14:31:06.000Z (8 months ago)
- Last Synced: 2024-11-11T22:45:56.124Z (2 months ago)
- Topics: bsd-3-clause, c, gui, linux, vulkan
- Language: C
- Homepage:
- Size: 2.15 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# CrossWindow
![](Assets/banner.png)
[![](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/https://discord.gg/J9b45jbAdH)
## Intro
CrossGui is my solution for cross platform GUI application programming. I don't like current solutions,
and I wanna do something about it. While current immediate mode solutions are quite appealing, I'm
not really a big fan of them. CrossGui will be a Retained Mode GUI (RmGUI).CrossGui aims :
- to be completely free for life.
- to be fast and simple to use
- to provide custom themeing support
- to provide a dynamic ui layout mechanism, much like HTML
- to not compromise on the quality, ever!CrossGui is under development for now, and it'll take some time to make it usable, and much more to
make it stable. CrossGui depends on [CrossWindow](https://github.com/brightprogrammer/CrossWindow)
that is also written by me, to achieve cross platform support.## Build
To build and install CrossWindow as a library on your system, follow the following steps :
- Create a build directory where you want to build the library. I usually name this as
`Build` inside the project root itself.
- Go inside `Build` directory and open a terminal, or you can follow any other method
to go to that directory inside the terminal.
- Run the following command :- If you have Ninja installed on your system, then use it, it's better :
`cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release`
- If you don't have Ninja installed, then we'll just use GNU Make :
`cmake .. -DCMAKE_BUILD_TYPE=Release`- The last step will generate build files needed for building the project, and now you can run :
- `ninja` if you have Ninja installed
- `make -j${nproc}` if you have make installed. You can run just `make` as well.
The only difference is number of threads provided for building the project.- The last step will build the project, and now you can run it (for now) using `bin/main`