From ddb1dcffa5e1b68d1010abde6e5c461453a20e19 Mon Sep 17 00:00:00 2001 From: Daniel Clarke Date: Wed, 26 Nov 2014 14:43:34 -0500 Subject: [PATCH] Reverted to qmake build-system CMake doesn't even make cross-compilation any easier making it useless. New make.sh speeds up building by specifying -j #ofprocessors by default to make. --- CMakeLists.txt | 87 -------------------------------- arch/baka-mplayer-git/PKGBUILD | 35 +++++++++++++ arch/{ => baka-mplayer}/PKGBUILD | 2 +- etc/sbin/bakamplayer.sh | 5 +- make.sh | 42 ++------------- src/Baka-MPlayer.pro | 2 +- src/CMakeLists.txt | 56 -------------------- 7 files changed, 43 insertions(+), 186 deletions(-) delete mode 100644 CMakeLists.txt create mode 100644 arch/baka-mplayer-git/PKGBUILD rename arch/{ => baka-mplayer}/PKGBUILD (98%) delete mode 100644 src/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 46ba79ca..00000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,87 +0,0 @@ -cmake_minimum_required(VERSION 2.8.7) -project(Baka-MPlayer) -set (CMAKE_VERBOSE_MAKEFILE true) - -set(BAKA_MPLAYER_MAJOR_VERSION 2) -set(BAKA_MPLAYER_MINOR_VERSION 0) -set(BAKA_MPLAYER_PATCH_VERSION 0) -set(BAKA_MPLAYER_VERSION - ${BAKA_MPLAYER_MAJOR_VERSION}.${BAKA_MPLAYER_MINOR_VERSION}.${BAKA_MPLAYER_PATCH_VERSION}) - -# C++11 support -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - -# output in the directory cmake was executed -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") - -# qt -set(CMAKE_AUTOMOC ON) -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -# find qt5 -find_package(Qt5Core REQUIRED) -find_package(Qt5Gui REQUIRED) -find_package(Qt5Network REQUIRED) -find_package(Qt5Svg REQUIRED) - -if(UNIX) - find_package(Qt5X11Extras REQUIRED) - find_package(X11 REQUIRED) -endif() - -# find mpv -find_package(PkgConfig) -pkg_check_modules(PC_MPV QUIET mpv) -set(MPV_DEFINITIONS ${PC_MPV_CFLAGS_OTHER}) -find_path(MPV_INCLUDE_DIR mpv/client.h - HINTS ${PC_MPV_INCLUDEDIR} ${PC_MPV_INCLUDE_DIRS} - PATH_SUFFIXES libmpv) -find_library(MPV_LIBRARY NAMES mpv libmpv) -set(MPV_LIBRARIES ${MPV_LIBRARY} ) -set(MPV_INCLUDE_DIRS ${MPV_INCLUDE_DIRS}) - - -# add includes/definitions/libraries -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") -include_directories( - ${Qt5Core_INCLUDE_DIRS} - ${Qt5Gui_INCLUDE_DIRS} - ${Qt5Network_INCLUDE_DIRS} - ${Qt5Svg_INCLUDE_DIRS} - ${MPV_INCLUDE_DIRS} -) -add_definitions( - -DBAKA_MPLAYER_VERSION="${BAKA_MPLAYER_VERSION}" - -DSETTINGS_FILE="bakamplayer" - ${Qt5Core_DEFINITIONS} - ${Qt5Gui_DEFINITIONS} - ${Qt5Network_DEFINITIONS} - ${Qt5Svg_DEFINITIONS} - ${MPV_DEFINITIONS} -) -set(LIBRARIES - ${Qt5Core_LIBRARIES} - ${Qt5Gui_LIBRARIES} - ${Qt5Network_LIBRARIES} - ${Qt5Svg_LIBRARIES} - ${MPV_LIBRARIES} -) - -# add os specific includes/definitions/libraries -if(UNIX) - include_directories( - ${Qt5X11Extras_INCLUDE_DIRS} - ${X11_INCLUDE_DIRS} - ) - add_definitions( - ${Qt5X11Extras_DEFINITIONS} - ${X11_DEFINITIONS} - ) - list(APPEND LIBRARIES - ${Qt5X11Extras_LIBRARIES} - ${X11_LIBRARIES} - ) -endif() - -# go into source -add_subdirectory(src) diff --git a/arch/baka-mplayer-git/PKGBUILD b/arch/baka-mplayer-git/PKGBUILD new file mode 100644 index 00000000..2d57d8ae --- /dev/null +++ b/arch/baka-mplayer-git/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: u8sand +pkgname=baka-mplayer-git +pkgver=2.0.0 +pkgrel=1 +pkgdesc="Baka MPlayer is a free and open source, cross-platform, libmpv based multimedia player." +url="http://bakamplayer.u8sand.net/" +arch=('x86_64' 'i686') +license=('GPLv2') +depends=('mpv' 'qt5-base' 'qt5-declarative' 'qt5-svg' 'qt5-x11extras') +makedepends=('git' 'make') +conflicts=('bakamplayer' 'baka-mplayer') +provides=('baka-mplayer') +source=("$pkgname"::'git://github.com/u8sand/Baka-MPlayer.git') +md5sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + echo $(git describe --tag | sed 's#-#_#g;s#v##') +} + +build() { + cd "$srcdir/$pkgname" + ./make.sh + gzip -c etc/doc/baka-mplayer.man > etc/doc/baka-mplayer.1.gz +} + +package() { + cd "$srcdir/$pkgname" + install -D "build/baka-mplayer" "$pkgdir/usr/bin/baka-mplayer" + install -D "etc/doc/baka-mplayer.md" "$pkgdir/usr/share/doc/baka-mplayer/baka-mplayer.md" + install -D "etc/doc/baka-mplayer.1.gz" "$pkgdir/usr/share/man/man1/baka-mplayer.1.gz" + install -D "LICENSE" "$pkgdir/usr/share/licenses/baka-mplayer/LICENSE" + install -D "etc/logo/baka-mplayer.svg" "$pkgdir/usr/share/pixmaps/baka-mplayer.svg" + install -D "etc/baka-mplayer.desktop" "$pkgdir/usr/share/applications/baka-mplayer.desktop" +} diff --git a/arch/PKGBUILD b/arch/baka-mplayer/PKGBUILD similarity index 98% rename from arch/PKGBUILD rename to arch/baka-mplayer/PKGBUILD index 50e9865f..f9d7fdb8 100644 --- a/arch/PKGBUILD +++ b/arch/baka-mplayer/PKGBUILD @@ -1,5 +1,5 @@ # Maintainer: u8sand -pkgname=baka-mplayer-git +pkgname=baka-mplayer pkgver=2.0.0 pkgrel=1 pkgdesc="Baka MPlayer is a free and open source, cross-platform, libmpv based multimedia player." diff --git a/etc/sbin/bakamplayer.sh b/etc/sbin/bakamplayer.sh index 96a52e3e..38c672e1 100755 --- a/etc/sbin/bakamplayer.sh +++ b/etc/sbin/bakamplayer.sh @@ -16,9 +16,6 @@ mxeroot=$(pwd)/mxe.$arch # get bakamplayer git clone https://github.com/u8sand/Baka-MPlayer.git Baka-MPlayer.$arch cd Baka-MPlayer.$arch -mkdir -p build -cd build -# generate toolchain cmake -cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=$mxeroot/usr/$arch-w64-mingw32.static/share/cmake/mxe-conf.cmake .. +$mxeroot/usr/$arch-w64-mingw32.static/qt5/bin/qmake src/Baka-MPlayer.pro make cd .. diff --git a/make.sh b/make.sh index 1babe8e5..284d3c80 100755 --- a/make.sh +++ b/make.sh @@ -1,40 +1,8 @@ -#!/bin/bash +#!/bin/sh -ninja=1 -arch=0 - -hash cmake 2>/dev/null || { echo >&2 "Cannot find cmake."; exit 1; } -hash ninja 2>/dev/null || { echo >&2 "Cannot find ninja."; ninja=0; } -if [[ $ninja == 0 ]]; then - hash make 2>/dev/null || { echo >&2 "Cannot find make."; exit 1; } -fi - -if [[ $1 == "i686" ]]; then - arch=32 -elif [[ $1 == "x86_64" ]]; then - arch=64 -fi - -if [[ $ninja == 1 ]]; then - if [[ $arch -ne 0 ]]; then - mkdir -p build-$arch - cd build-$arch - cmake -G Ninja CMAKE_C_FLAGS=-m$arch -DCMAKE_CXX_FLAGS=-m$arch .. - else - mkdir -p build - cd build - cmake -G Ninja .. - fi - ninja +qmake src/Baka-MPlayer.pro +if [ -z "$1" ]; then + make -j `grep -c ^processor /proc/cpuinfo`; else - if [[ $arch -ne 0 ]]; then - mkdir -p build-$arch - cd build-$arch - cmake CMAKE_C_FLAGS=-m$arch -DCMAKE_CXX_FLAGS=-m$arch .. - else - mkdir -p build - cd build - cmake .. - fi - make + make $1; fi diff --git a/src/Baka-MPlayer.pro b/src/Baka-MPlayer.pro index 28bca0d6..ff81d73f 100644 --- a/src/Baka-MPlayer.pro +++ b/src/Baka-MPlayer.pro @@ -8,7 +8,7 @@ QT += core gui network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -TARGET = Baka-MPlayer +TARGET = baka-mplayer DEFINES += 'BAKA_MPLAYER_VERSION=\\"2.0.0\\"' \ 'SETTINGS_FILE=\\"bakamplayer\\"' diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 147a1c59..00000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,56 +0,0 @@ -# Note: ui -> widgets -> sources - -set(SOURCES - mpvhandler - updatemanager - util -) -set(WIDGETS - customslider - openbutton - indexbutton - playlistwidget - seekbar - customlabel - customsplitter - dimdialog -) -set(UI - screenshotdialog - locationdialog - infodialog - jumpdialog - aboutdialog - updatedialog - inputdialog - preferencesdialog - mainwindow -) - -# build and link libraries - -foreach(src ${SOURCES}) - add_library(${src} ${src}.cpp) - target_link_libraries(${src} ${LIBRARIES}) - set(LIBRARIES "${LIBRARIES};${src}") -endforeach() - -foreach(widget ${WIDGETS}) - add_library(${widget} widgets/${widget}.cpp) - target_link_libraries(${widget} ${LIBRARIES}) - set(LIBRARIES "${LIBRARIES};${widget}") -endforeach() - -foreach(ui ${UI}) - qt5_wrap_ui(UI_HEADER ui/${ui}.ui) - add_library(${ui} ui/${ui}.cpp ${UI_HEADER}) - target_link_libraries(${ui} ${LIBRARIES}) - set(LIBRARIES "${LIBRARIES};${ui}") -endforeach() - -# add qt5 resources -qt5_add_resources(RESOURCES rsclist.qrc) - -# build and link baka-mplayer -add_executable(baka-mplayer main.cpp ${RESOURCES}) -target_link_libraries(baka-mplayer ${LIBRARIES})