This commit is contained in:
mfeemster 2016-01-29 17:02:26 -08:00
commit 96d53113a0
11 changed files with 194 additions and 125 deletions

View File

@ -16,8 +16,6 @@ PRJ_DIR = $$SRC_DIR/Fractorium
target.path = $$BIN_INSTALL_DIR target.path = $$BIN_INSTALL_DIR
INSTALLS += target INSTALLS += target
# FIXME: flam3-palettes.xml does not install when installing from .deb, but `make install` works.
palettes.path = $$SHARE_INSTALL_DIR palettes.path = $$SHARE_INSTALL_DIR
palettes.files = $$ASSETS_DIR/flam3-palettes.xml palettes.files = $$ASSETS_DIR/flam3-palettes.xml
INSTALLS += palettes INSTALLS += palettes
@ -26,6 +24,14 @@ themes.path = $$SHARE_INSTALL_DIR
themes.files = $$ASSETS_DIR/dark.qss themes.files = $$ASSETS_DIR/dark.qss
INSTALLS += themes INSTALLS += themes
icon.path = $$SHARE_INSTALL_DIR
icon.files = $$PRJ_DIR/Icons/Fractorium.png
INSTALLS += icon
launcher.path = $$LAUNCHER_INSTALL_DIR
launcher.files = $$ASSETS_DIR/Fractorium.desktop
INSTALLS += launcher
macx:ICON = $$ASSETS_DIR/Fractorium.icns macx:ICON = $$ASSETS_DIR/Fractorium.icns
LIBS += -L$$absolute_path($$DESTDIR) -lEmber LIBS += -L$$absolute_path($$DESTDIR) -lEmber

View File

@ -8,6 +8,7 @@ unix|macx {
LIB_INSTALL_DIR = /usr/lib LIB_INSTALL_DIR = /usr/lib
BIN_INSTALL_DIR = /usr/bin BIN_INSTALL_DIR = /usr/bin
SHARE_INSTALL_DIR = /usr/share/fractorium SHARE_INSTALL_DIR = /usr/share/fractorium
LAUNCHER_INSTALL_DIR = /usr/share/applications
} }
# When loaded by QtCreator # When loaded by QtCreator

View File

@ -23,14 +23,28 @@ if [[ ! -e $linkpath && -e $targetpath ]]; then
ln -s "$targetpath" "$linkpath" ln -s "$targetpath" "$linkpath"
fi fi
targetpath=""
if [ -d /usr/include/*/GL ]; then
targetpath=$(ls -d1 /usr/include/*/GL | head -n 1) targetpath=$(ls -d1 /usr/include/*/GL | head -n 1)
elif [ -d /usr/include/GL ]; then
targetpath="/usr/include/GL"
fi
linkpath="$LOCAL_INCLUDE_DIR/GL" linkpath="$LOCAL_INCLUDE_DIR/GL"
if [[ ! -e $linkpath && -e $targetpath ]]; then if [[ ! -e $linkpath && -e $targetpath ]]; then
ln -s "$targetpath" "$linkpath" ln -s "$targetpath" "$linkpath"
fi fi
targetpath=""
if [ -d /usr/include/*/CL ]; then
targetpath=$(ls -d1 /usr/include/*/CL | head -n 1) targetpath=$(ls -d1 /usr/include/*/CL | head -n 1)
elif [ -d /usr/include/CL ]; then
targetpath="/usr/include/CL"
fi
linkpath="$LOCAL_INCLUDE_DIR/CL" linkpath="$LOCAL_INCLUDE_DIR/CL"
if [[ ! -e $linkpath && -e $targetpath ]]; then if [[ ! -e $linkpath && -e $targetpath ]]; then

64
Data/BuildGuideLinux.md Normal file
View File

@ -0,0 +1,64 @@
# Building Guide for Linux
Install `git` and clone the repository:
```
sudo apt-get install git
git clone https://github.com/mfeemster/fractorium
```
Install the dependencies.
For Ubuntu 15.04 (vivid) and 15.10 (wily):
```
sudo apt-get install g++ libdbus-1-dev libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng12-dev libtbb-dev libxml2-dev qt5-default qt5-qmake qtbase5-dev libqt5opengl5-dev ocl-icd-libopencl1
```
Install the OpenCL drivers and opencl support for your hardware. For Nvidia:
```
sudo apt-get install nvidia-352 nvidia-352-dev nvidia-opencl-icd-352 nvidia-libopencl1-352 nvidia-prime nvidia-modprobe
```
If you have both Qt 4 and 5 installed, select Qt 5 before compilation:
```
export QT_SELECT=qt5
```
Compile the binary:
```
cd fractorium
qmake
make
```
Run the binary from the release folder:
```
cd Bin/release
./fractorium
```
`sudo make install` will install the files directly. `sudo make uninstall` is
also available.
You can also compile a `.deb` package to install locally. A few more tools will
be necessary:
```
sudo apt-get install bzr bzr-builddeb dh-make debhelper
```
A helper script is available, use `package-linux.sh` in the project root. It
will create `~/PPA/fractorium-VERSION` as a work folder, by default it builds a
signed source package.
For local use you probably want an unsigned binary package:
```
cd fractorium
./package-linux.sh --binary-only --unsigned
```

42
Data/BuildGuideMacOSX.md Normal file
View File

@ -0,0 +1,42 @@
# Building Guide for Mac OS/X
Install Xcode from the App Store. Install [homebrew](http://brew.sh/).
Install `git` and clone the repository:
```
brew install git
git clone https://github.com/mfeemster/fractorium
```
Install the dependencies:
```
brew install qt5 tbb glm dbus jpeg libpng glib libxml2
```
TODO: Confirm if `glib` and `libxml2` are actually needed.
Add the Qt `bin` folder to `PATH` to make `qmake` available. In
`~/.bash_profile` or `~/.bashrc`:
```
PATH=/usr/local/opt/qt5/bin:$PATH
export PATH
```
Compile the binary:
```
cd fractorium
qmake CONFIG-=app_bundle
make
```
Run the binary from the release folder:
```
cd Bin/release
./fractorium
```

12
Data/Fractorium.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Fractorium
GenericName=Fractal flame editor
Comment=Fractal flame editor
Exec=fractorium
TryExec=fractorium
Icon=/usr/share/fractorium/Fractorium.png
Terminal=false
Categories=Graphics;
MimeType=

151
README.md
View File

@ -5,17 +5,47 @@ A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm
named Ember and a GPU capable version named EmberCL which implements a portion named Ember and a GPU capable version named EmberCL which implements a portion
of the cuburn algorithm in OpenCL. of the cuburn algorithm in OpenCL.
# Download # Install
Windows: TODO ## Windows
Linux: TODO Download: [Fractorium_Beta_0.9.9.3.msi](https://drive.google.com/file/d/0Bws5xPbHJph6Z3JiTHlYZ21YVFU/view?usp=sharing)
Mac OS/X (10.9+): TODO ## Linux
### Install from PPA
Enable `universe` in the Ubuntu Software Center:
- open the Edit menu
- select Software Sources...
- enable "Community maintained ... `universe`"
Add the [Fractorium Ubuntu PPA](https://launchpad.net/~fractorium/+archive/ubuntu/ppa) and install:
```
sudo apt-add-repository ppa:fractorium/ppa
sudo apt-get update
sudo apt-get install fractorium
```
### Install from .deb
Download: [fractorium_0.9.9.3b-0ubuntu1_amd64.deb](https://launchpad.net/~fractorium/+archive/ubuntu/ppa/+files/fractorium_0.9.9.3b-0ubuntu1_amd64.deb)
```
cd ~/Downloads
sudo dpkg -i fractorium_0.9.9.3b-0ubuntu1_amd64.deb
```
## Mac OS/X (10.9+)
TODO
# Building from git # Building from git
## Windows ## Windows
Install Git-GUI and clone `https://github.com/mfeemster/fractorium.git` Install Git-GUI and clone `https://github.com/mfeemster/fractorium.git`
Then follow: Then follow:
@ -24,117 +54,8 @@ Then follow:
## Linux ## Linux
Install `git` and clone the repository: See [Building Guide for Linux](./Data/BuildGuideLinux.md)
```
sudo apt-get install git
git clone https://github.com/mfeemster/fractorium
```
Install the dependencies.
For Ubuntu 15.04 (vivid) and 15.10 (wily):
```
sudo apt-get install g++ libdbus-1-dev libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng12-dev libtbb-dev libxml2-dev qt5-default qt5-qmake qtbase5-dev libqt5opengl5-dev ocl-icd-libopencl1
```
Install the OpenCL drivers and opencl support for your hardware. For Nvidia:
```
sudo apt-get install nvidia-352 nvidia-352-dev nvidia-opencl-icd-352 nvidia-libopencl1-352 nvidia-prime nvidia-modprobe
```
Compile the binary:
```
cd fractorium
qmake
make
```
Run the binary from the release folder:
```
cd Bin/release
./fractorium
```
`sudo make install` will install the files directly. `sudo make uninstall` is
also available.
You can also compile a `.deb` package to install locally. A few more tools will
be necessary:
```
sudo apt-get install bzr bzr-builddeb dh-make debhelper
```
A helper script is available, use `package-linux.sh` in the project root. It
will create `~/PPA/fractorium-VERSION` as a work folder, by default it builds a
signed source package.
For local use you probably want an unsigned binary package:
```
cd fractorium
./package-linux.sh --binary-only --unsigned
```
## Mac OS/X 10.9+ ## Mac OS/X 10.9+
Install Xcode from the App Store. Install [homebrew](http://brew.sh/). See [Building Guide for Mac OS/X](./Data/BuildGuideMacOSX.md)
Install `git` and clone the repository:
```
brew install git
git clone https://github.com/mfeemster/fractorium
```
Install the dependencies:
```
brew install qt5 tbb glm dbus jpeg libpng glib libxml2
```
TODO: Confirm if `glib` and `libxml2` are actually needed.
Add the Qt `bin` folder to `PATH` to make `qmake` available. In
`~/.bash_profile` or `~/.bashrc`:
```
PATH=/usr/local/opt/qt5/bin:$PATH
export PATH
```
Compile the binary:
```
cd fractorium
qmake CONFIG-=app_bundle
make
```
Run the binary from the release folder:
```
cd Bin/release
./fractorium
```
# OpenCL tips
Nvidia, Ati, Intel.
## Windows
TODO
## Linux
TODO
## Mac OS/X
TODO

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
fractorium (0.9.9.3b-0ubuntu1) wily; urgency=low
* release 0.9.9.3b
-- Gambhiro Bhikkhu <gambhiro.bhikkhu.85@gmail.com> Wed, 20 Jan 2016 17:08:30 +0000
fractorium (0.9.9.2e-0ubuntu1) wily; urgency=low fractorium (0.9.9.2e-0ubuntu1) wily; urgency=low
* lib symlink fix * lib symlink fix

View File

@ -2,12 +2,12 @@ TEMPLATE = subdirs
CONFIG += ordered CONFIG += ordered
CONFIG += autobuild CONFIG += autobuild
# message(PWD: $$(PWD)) # message(PWD: $$PWD)
LOCAL_LIB_DIR = $$(PWD)/Builds/lib LOCAL_LIB_DIR = $$PWD/Builds/lib
LOCAL_INCLUDE_DIR = $$(PWD)/Builds/include LOCAL_INCLUDE_DIR = $$PWD/Builds/include
unix:symlinks.commands = $$(PWD)/Builds/create-symlinks.sh \"$$LOCAL_LIB_DIR\" \"$$LOCAL_INCLUDE_DIR\" unix:symlinks.commands = $$PWD/Builds/create-symlinks.sh \"$$LOCAL_LIB_DIR\" \"$$LOCAL_INCLUDE_DIR\"
SUBDIRS += Builds/QtCreator/Ember Builds/QtCreator/EmberCL Builds/QtCreator/EmberAnimate Builds/QtCreator/EmberGenome Builds/QtCreator/EmberRender Builds/QtCreator/Fractorium SUBDIRS += Builds/QtCreator/Ember Builds/QtCreator/EmberCL Builds/QtCreator/EmberAnimate Builds/QtCreator/EmberGenome Builds/QtCreator/EmberRender Builds/QtCreator/Fractorium

View File

@ -90,7 +90,8 @@ fi
# tar 1.28 required for --exclude-vcs-ignores # tar 1.28 required for --exclude-vcs-ignores
# FIXME: somehow it didn't ignore the 'Bin' folder. # NOTE: ./Data/flam3-palettes.xml has to be explicitly included. The *.xml rule
# would exclude it, and tar doesn't handle "!" rules.
tar --exclude='package-linux.sh' \ tar --exclude='package-linux.sh' \
--exclude='debian' \ --exclude='debian' \
@ -98,7 +99,9 @@ tar --exclude='package-linux.sh' \
--exclude-vcs \ --exclude-vcs \
--exclude-vcs-ignores \ --exclude-vcs-ignores \
--exclude-backups \ --exclude-backups \
-czf "$PPA_DIR/$TAR_NAME" . -czf "$PPA_DIR/$TAR_NAME" \
./Data/flam3-palettes.xml \
.
[ $? -ne 0 ] && echo "Tar command failed." && exit 2 [ $? -ne 0 ] && echo "Tar command failed." && exit 2