Add README & windows gui.

- Add proper readme file.
- Add windows gui build.
- Update gitlab-cicd for windows cross platform build.
This commit is contained in:
altffour 2019-10-11 14:32:08 +03:00
parent 2288ec4726
commit 80ff825091
8 changed files with 134 additions and 4 deletions

View File

@ -11,12 +11,30 @@ build:
# Qt5 download.
- apt -y install qtcreator
- apt -y install qt5-default
# Qt5 Cross-compiler for windows download.
- apt-get install autoconf automake autopoint bash bison bzip2 flex g++ g++-multilib gettext git gperf intltool libc6-dev-i386 libgdk-pixbuf2.0-dev libltdl-dev libssl-dev libtool-bin libxml-parser-perl lzip make openssl p7zip-full patch perl pkg-config python ruby sed unzip wget xz-utils
- git clone https://github.com/mxe/mxe.git
- cd mxe && make -j9 qtbase
script:
# Build methods, and tests.
- ./build.sh
# Build gui app.
- qmake -o Makefile bounds.pro
# Build Debug gui app.
- ./buildGui.sh
# Build Release gui app.
- ./buildGuiRelease.sh
# Build gui app cross-platform release for windows.
- mkdir build
- cd build
- ./mxe/usr/bin/i686-w64-mingw32.static-qmake-qt5 CONFIG+=release ..
- make -j9
- cd ..
# Build gui app cross-platform debug for windows.
- mkdir build
- cd build
- ./mxe/usr/bin/i686-w64-mingw32.static-qmake-qt5 CONFIG+=debug ..
- make -j9
- cd ..
artifacts:
paths:
- bin/

View File

@ -1,3 +1,86 @@
# UpLowerBounds
# UpperLowerBounds
A calculator for upper and lower bounds.
A calculator for basic geometric formulas. Project idea came from from supposedly a challenge, for my math class.
## Getting Started
Binaries can be found in the relase tab.
The following instructions are for compiling from sources.
### Prerequisities
#### Using ```nix```:
To install dependencies/tools/libraries, the easy way (using nix):
```s
nix-shell
```
And you will get a shell with the appropiate requirements to build the project.
#### Using ````Ubuntu```:
```s
sudo apt install build-essential cmake gcc qt5-default
```
#### Using ````arch```:
```s
pacman -S gcc make cmake qt5-base
```
#### Using ````gentoo```:
```s
sudo emerge --ask sys-devel/gcc sys-devel/make dev-qt
```
### Compiling
To compile test cases(Debug):
```s
./build.sh
```
To compile test cases(Release):
```s
./buildRelease.sh
```
To cross-compile for windows test cases(Debug):
```s
./buildWin32.sh
```
To compile test cases(Release):
```s
./buildWin32Release.sh
```
To compile gui(Debug):
```s
./buildGui.sh
```
To compile gui(Release):
```s
./buildGuiRelease.sh
```
### Running the Tests
```s
./runTests.sh
```
## License
This project is licensed under the MIT License.

View File

@ -1,6 +1,7 @@
QT += widgets
TARGET = upperlowerBounds
CONFIG += object_parallel_to_source
CONFIG += c++17
INCLUDEPATH += src \
src/methods \
src/gui \

6
buildGui.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
mkdir build
cd build
qmake CONFIG+=debug ..
make -j9
cd ..

6
buildGuiRelease.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
mkdir build
cd build
qmake CONFIG+=release
make -j9
cd ..

7
buildGuiWin32.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
mkdir build
cd build
i686-w64-mingw32.static-qmake-qt5 CONFIG+=debug ..
make -j9
cd ..

7
buildGuiWin32Release.sh Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
mkdir build
cd build
i686-w64-mingw32.static-qmake-qt5 CONFIG+=release ..
make -j9
cd ..

View File

@ -5,6 +5,8 @@ with import <nixpkgs> {}; {
stdenv
cmake
gcc
pkgs.qt5.full
pkgs.qtcreator
];
};
}