-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #274 from pianobooster/release/1.0.0
Release v1.0.0 and includes URL changes for the new website.
- Loading branch information
Showing
241 changed files
with
37,401 additions
and
37,178 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: Build | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
linux-build: | ||
runs-on: ubuntu-18.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install build-essential cmake pkg-config libftgl-dev qtbase5-dev qttools5-dev librtmidi-dev fluid-soundfont-gm libfluidsynth-dev | ||
- name: Install linuxdeploy | ||
run: | | ||
wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage | ||
wget -q https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage | ||
chmod +x linuxdeploy*.AppImage | ||
- name: Define variables | ||
run: | | ||
pb_ver=`grep PB_VERSION src/version.h | cut -d "\"" -f 2` | ||
pb_app_name="PianoBooster-${pb_ver}-x86_64" | ||
echo "PB_VERSION=${pb_ver}">> $GITHUB_ENV | ||
echo "PB_APP_NAME=${pb_app_name}">> $GITHUB_ENV | ||
echo "PB_APP_NAME=${pb_app_name}" | ||
- name: Build | ||
env: | ||
pb_app_name: ${{ env.PB_APP_NAME }} | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake .. -DCMAKE_INSTALL_PREFIX=/usr | ||
make -j$(nproc) | ||
make install DESTDIR=AppDir | ||
# Package | ||
export QT_SELECT=5 | ||
export QML_SOURCES_PATHS="${GITHUB_WORKSPACE}"/src | ||
# initialize AppDir, bundle shared libraries for PianoBooster, use Qt plugin to bundle additional resources, and build AppImage, all in one single command | ||
../linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt --output appimage | ||
find . | ||
echo "Done!" | ||
chmod +x *AppImage | ||
mv *AppImage ../${pb_app_name}.AppImage | ||
cd .. | ||
ls -lh ${pb_app_name}.AppImage | ||
md5sum ${pb_app_name}.AppImage >checksum.txt | ||
cat checksum.txt | ||
- name: Upload Linux Build | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: pianobooster-${{ env.PB_VERSION }}-linux | ||
path: | | ||
${{ env.PB_APP_NAME }}.AppImage | ||
checksum.txt | ||
macos-build: | ||
runs-on: macos-10.15 | ||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
- name: Install dependencies | ||
run: | | ||
brew update || brew update | ||
brew uninstall [email protected] | ||
rm -rf /usr/local/etc/openssl | ||
rm -rf /usr/local/etc/[email protected] | ||
brew upgrade | ||
brew install cmake qt5 ftgl pkg-config fluid-synth | ||
- name: Define variables | ||
run: | | ||
pb_ver=`grep PB_VERSION src/version.h | cut -d "\"" -f 2` | ||
pb_app_name="PianoBooster-${pb_ver}" | ||
echo "PB_VERSION=${pb_ver}">> $GITHUB_ENV | ||
echo "PB_APP_NAME=${pb_app_name}">> $GITHUB_ENV | ||
echo "PB_APP_NAME=${pb_app_name}" | ||
- name: Build | ||
env: | ||
pb_app_name: ${{ env.PB_APP_NAME }} | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake .. -DCMAKE_PREFIX_PATH="$(brew --prefix qt)" | ||
make | ||
make install-translations | ||
$(brew --prefix qt)/bin/macdeployqt build/pianobooster.app -dmg | ||
find . | ||
echo "Done!" | ||
mv build/*dmg ../${pb_app_name}.dmg | ||
cd .. | ||
ls -lh ${pb_app_name}.dmg | ||
md5 -r ${pb_app_name}.dmg > checksum.txt | ||
cat checksum.txt | ||
- name: Upload Mac Build | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: pianobooster-${{ env.PB_VERSION }}-macos | ||
path: | | ||
${{ env.PB_APP_NAME }}.dmg | ||
checksum.txt | ||
# windows-build: | ||
# runs-on: windows-latest | ||
# steps: | ||
# - name: Checkout | ||
# uses: actions/[email protected] | ||
# - name: Install dependencies | ||
# uses: lukka/run-vcpkg@v4 | ||
# with: | ||
# vcpkgDirectory: ${{ github.workspace }}/vcpkg | ||
# vcpkgArguments: fluidsynth qt5-base qt5-tools freetype ftgl | ||
# vcpkgGitUrl: 'https://github.com/microsoft/vcpkg.git' | ||
# vcpkgGitCommitId: '56fffbe49dfb4dd8fae0940f272c5fd2b86be991' | ||
# vcpkgTriplet: x64-windows | ||
# - name: | ||
# run: | | ||
# mkdir build | ||
# cd build | ||
# cmake .. -DWITH_INTERNAL_FLUIDSYNTH=OFF -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}"/vcpkg/scripts/buildsystems/vcpkg.cmake | ||
# cmake --build . | ||
# find . | ||
# shell: bash | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,9 @@ | ||
/build*/ | ||
/debug*/ | ||
|
||
/release*/ | ||
CMakeLists.txt.user* | ||
CMakeCache.txt | ||
CMakeFiles/ | ||
Makefile | ||
cmake_install.cmake | ||
install_manifest.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,90 +1,100 @@ | ||
# Linux and BSD Unix | ||
# Build instructions for Linux and BSD Unix | ||
|
||
Ensure that the build required packages are installed. Full list of them you can find [here](pkgs). | ||
Ensure that the following packages are installed: | ||
`build-essential`, `cmake`, `pkg-config`, `libftgl-dev`, `qtbase5-dev`, `qttools5-dev`, `librtmidi-dev` , `libfluidsynth-dev`, `fluid-soundfont-gm` | ||
|
||
Then type: | ||
|
||
`cmake .` | ||
|
||
or | ||
To generate a project makefile using CMake, create a build folder | ||
and then run CMake from it: | ||
``` | ||
$ mkdir build | ||
$ cd build | ||
$ cmake .. | ||
``` | ||
|
||
`cmake . -DCMAKE_INSTALL_PREFIX="/usr"` | ||
To compile the PianoBooster source code type: | ||
|
||
`make` | ||
`make -j$(nproc)` | ||
|
||
Finally as root type: | ||
The pianobooster binary executable is now in a new build subdirectory. | ||
PianoBooster is designed to run in place so you can type `build/pianobooster` to start running the program. | ||
|
||
`make install -C build` | ||
(Optional) If you wish to install PianoBooster as root type: | ||
|
||
(The pianobooster binary executable is now in the "build" subdirectory.) | ||
`make install` | ||
|
||
To build a debug version create a dir called "debug" and change to that dir and then type: | ||
There is no make uninstall command but the files that have been installed are listed in a file called `install_manifest.txt` which can then be used to manually delete the installed files. | ||
|
||
`cmake -DCMAKE_BUILD_TYPE=Debug .` | ||
To build a debug version create a directory called "debug" and change to that dir and then type: | ||
|
||
(Alternatively you can use qmake followed by make.) | ||
`cmake -DCMAKE_BUILD_TYPE=Debug ..` | ||
|
||
See [DEB](pkgs/deb) for more details. | ||
|
||
See [RPM](pkgs/rpm/pianobooster.spec) for more details. | ||
# Build instructions for macOS | ||
|
||
See [ARCH](pkgs/arch/PKGBUILD) for more details. | ||
Install the latest Xcode (from Apple Developer Connection, free registration required). | ||
|
||
See [TGZ](pkgs/slack) for more details. | ||
Install CMake and QT libraries via Homebrew: | ||
|
||
# macOS | ||
`$ brew install cmake qt5 ftgl pkg-config fluid-synth` | ||
|
||
Install latest Xcode (from Apple Developer Connection, free registration required). | ||
To generate the project makefile first create a `build` directory | ||
and then from that directory type: | ||
|
||
Install CMake and QT libraries via Homebrew: | ||
`cmake .. -DCMAKE_PREFIX_PATH="$(brew --prefix qt)"` | ||
|
||
`$ brew install cmake qt5 ftgl jack` | ||
To compile the PianoBooster source code type: | ||
|
||
`make` | ||
|
||
Generate XCode project file via CMake: | ||
To copy the language translations into the build directory type: | ||
|
||
`$ cmake -G Xcode . -DCMAKE_PREFIX_PATH=$(brew --prefix qt)` | ||
`make install-translations` | ||
|
||
Open the project file in XCode, set whatever options you like (universal or single architecture, | ||
debug or release etc.) and compile. | ||
|
||
To make a self contained application bundle use QT's macdeployqt tool (included in QT 4.5.0). | ||
To make a self contained application bundle use QT's macdeployqt tool (included in QT). | ||
|
||
# Windows | ||
`$(brew --prefix qt)/bin/macdeployqt build/pianobooster.app -dmg` | ||
|
||
To compile in Windows install the Open Source version of Qt and CMake and optionally Geany. | ||
When installing Qt select the option to download and install the MinGW compiler. Open the | ||
Qt Command Prompt and then change to the "PianoBooster" directory and then type the | ||
command below: | ||
|
||
`"C:\Program Files\CMake 2.6\bin\cmake.exe" -G "MinGW Makefiles" .` | ||
|
||
# Build instructions for Windows | ||
|
||
To compile in Windows install the Open Source version of Qt and CMake. | ||
When installing Qt select the option to download and install the MinGW compiler. Open the Qt Command Prompt and change to the "PianoBooster" source code directory and then create a `build` directory and then from that directory type: | ||
|
||
`cmake.exe -G "MinGW Makefiles" ..` | ||
|
||
Once this is completed type: | ||
|
||
`make` | ||
|
||
Or alternatively you can install QtCreator and then open the pianobooster.pro. | ||
Or alternatively you can install QtCreator and then open the `CMakeLists.txt`. | ||
|
||
# Build options | ||
|
||
**USE_FTGL**: link with ftgl; enabled by default; disabling notes localization. | ||
Using `cmake` without any flags defaults to the recommended build options. | ||
However the following build options below can be changed by using the `-D` flag to `cmake`. | ||
|
||
**WITH_INTERNAL_FLUIDSYNTH:** build with an internal FluidSynth sound generator [Default:ON] | ||
|
||
**NO_DOCS**: do not install documents; disabled by default. | ||
**USE_BUNDLED_RTMIDI:** Build with bundled rtmidi (for older distributions only) [Default: OFF] | ||
|
||
**NO_LICENSE**: do not install license; disabled by default. | ||
**USE_FTGL:** Build with ftgl for notes localization [Default:ON] | ||
|
||
**NO_CHANGELOG**: do not install changelog; disabled by default. | ||
**USE_SYSTEM_FONT:** Build with system font [Default: OFF] | ||
|
||
**WITH_MAN**: install man page; disabled by default. | ||
**USE_JACK:** Build with Jack. The use of JACK is not required other than for BSD Unix. [Default: OFF] | ||
|
||
**INSTALL_ALL_LANGS**: install all languages; disabled by default for cmake and always enabled for qmake. | ||
**DATA_DIR**: Build with specified data directory; [Default:"share/games/pianobooster"] | ||
|
||
**USE_BUNDLED_RTMIDI**: build with bundled (not system) rtmidi. This is only required | ||
for older distributions that do not include the system rtmidi; disabled by default. | ||
**NO_LANGS**: Do not install languages; [Default: OFF] | ||
|
||
**USE_SYSTEM_FONT**: do not use and do not install bundled font, use system font instead; enabled by default. | ||
**NO_DOCS**: Do not install documents [Default: OFF] | ||
|
||
**USE_FONT**: build with specified font; null by default. | ||
**NO_LICENSE**: Do not install license [Default: OFF]. | ||
|
||
**DATA_DIR**: build with specified data directory; "share/games/pianobooster" is default. | ||
**NO_CHANGELOG**: Do not install changelog [Default: OFF]. | ||
|
||
**NO_LANGS**: do not install languages; disabled by default. | ||
**WITH_MAN**: Install man page [Default: OFF]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.