Skip to content

Commit

Permalink
Adds build helper.
Browse files Browse the repository at this point in the history
  • Loading branch information
ikskuh committed Jun 6, 2020
1 parent 093bfcc commit 77b2898
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------

build/
kristall

*~
*.autosave
*.a
Expand Down
13 changes: 13 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
all: build-dir kristall

kristall: build/kristall
cp $< $@

build/kristall: build-dir
cd build && qmake ../src/kristall.pro && $(MAKE)

build-dir:
mkdir -p build

.PHONY: build-dir
.SUFFIXES:
24 changes: 21 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,25 +50,37 @@ A high-quality visual cross-platform gemini browser.

### Build

The usual Qt5 build process:
## *nix

There's a small `Makefile` provided that does all necessary steps and creates a build directory, then copies the build artifact from the build directory. Just do `make` in the root directory, it should work.

Or you can use the usual Qt5 build process:

```sh
mkdir build
cd build
qmake ../kristall.pro
qmake ../src/kristall.pro
make
```

Notes for OpenBSD:
- It seems like Qt wants `libzstd.so.3.1` instead of `libzstd.so.3.2`. Just symlink that file into the build directory
- Use `make` and not `gmake` to build the project.

## Windows

Just use QtCreator to build `./src/kristall.pro`. Default settings should be fine.

## TODO
- [ ] Survive full torture suite
- [ ] Correctly parse mime parameters
- [ ] Correctly parse charset (0013, 0014)
- [ ] Correctly parse other params (0015)
- [ ] Correctly parse undefined params (0016)
- [ ] TLS Handling
- [ ] Allow user to ignore TLS errors
- [ ] Enable TOFU for HTTPS/Gemini
- [ ] Enable Client Certificate Management
- [ ] Recognize home directories with /~home and such and add "substyles"
- [ ] Add favicon support
- [ ] Add auto-generated "favicons"
Expand All @@ -80,4 +92,10 @@ Notes for OpenBSD:
- [ ] finger://tomasino@cosmic.voyage
- [ ] finger://ping@cosmic.voyage
- [ ] Gopher
- [ ] gopher://gopher.black
- [ ] gopher://gopher.black
- [ ] Improve UX
- [ ] Rightclick with "open in new tab" and "open in this tab"
- [ ] For history
- [ ] For favourites
- [ ] For documents
- [ ] Image Zoom and Pan
3 changes: 3 additions & 0 deletions src/kristall.pro
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ DEFINES += QT_DEPRECATED_WARNINGS
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

QMAKE_CFLAGS += -Wno-unused-parameter
QMAKE_CXXFLAGS += -Wno-unused-parameter

SOURCES += \
browsertab.cpp \
documentoutlinemodel.cpp \
Expand Down

0 comments on commit 77b2898

Please sign in to comment.