diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..87737ee --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required (VERSION 2.8) + +cmake_policy (SET CMP0003 OLD) +cmake_policy (SET CMP0002 OLD) +cmake_policy (SET CMP0011 NEW) +cmake_policy (SET CMP0015 NEW) + +project (netctl-gui) +set (PROJECT_VERSION_MAJOR 1) +set (PROJECT_VERSION_MINOR 0) +set (PROJECT_VERSION_PATCH 4) +set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) + +message (STATUS "Version: ${PROJECT_VERSION}") + +# install options +option (USE_QT5 "Use Qt5 instead of Qt4" ON) +option (BUILD_GUI "Build GUI" ON) +option (BUILD_DATAENGINE "Build data engine" ON) +option (BUILD_PLASMOID "Build plasmoid" ON) + +# flags +if (CMAKE_COMPILER_IS_GNUCXX) + set (ADD_CXX_FLAGS "-Wall") + set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}") + set (CMAKE_CXX_FLAGS_DEBUG "-g -O0") + set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") +else () + message (STATUS "Unknown compiler") +endif () + +add_subdirectory (icons) + +if (BUILD_PLASMOID) + set (BUILD_DATAENGINE ON) +endif () + +if (BUILD_GUI) + add_subdirectory (gui) +endif () +if (BUILD_DATAENGINE) + add_subdirectory (dataengine) +endif () +if (BUILD_PLASMOID) + add_subdirectory (plasmoid) +endif () diff --git a/PKGBUILD b/PKGBUILD index ed07685..bc5fb9d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -19,7 +19,7 @@ optdepends=('kdebase-runtime: sudo support' 'wpa_supplicant: wifi support') source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz") install="${pkgname}.install" -md5sums=('1e790c31d135b91c7ec80791508e6e92') +md5sums=('620e008776fdfef92ed59bde135fa137') # flags _cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release" diff --git a/create_archive.sh b/create_archive.sh index 9cc9d93..7e1d0aa 100755 --- a/create_archive.sh +++ b/create_archive.sh @@ -1,22 +1,44 @@ #!/bin/bash -ARCHIVE="netctl-gui" -SRCDIR="sources" -FILES="AUTHORS CHANGELOG COPYING README.md" -IGNORELIST="gui/resources/translations/english.qm gui/resources/translations/russian.qm" VERSION=$(grep -m1 PROJECT_VERSION_MAJOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\ $(grep -m1 PROJECT_VERSION_MINOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\ $(grep -m1 PROJECT_VERSION_PATCH sources/CMakeLists.txt | awk '{print $3}' | cut -c 1) +# plasmoid only +ARCHIVE="netctl-plasmoid" +SRCDIR="sources" +FILES="AUTHORS CHANGELOG COPYING README.md" +IGNORELIST="gui" +# patch CMakeLists-plasmoid-only.txt +_VER=$(grep -m1 PROJECT_VERSION_MAJOR sources/CMakeLists.txt) +sed "s/set (PROJECT_VERSION_MAJOR [0-9])/${_VER}/g" -i sources/CMakeLists-plasmoid-only.txt +_VER=$(grep -m1 PROJECT_VERSION_MINOR sources/CMakeLists.txt) +sed "s/set (PROJECT_VERSION_MINOR [0-9])/${_VER}/g" -i sources/CMakeLists-plasmoid-only.txt +_VER=$(grep -m1 PROJECT_VERSION_PATCH sources/CMakeLists.txt) +sed "s/set (PROJECT_VERSION_PATCH [0-9])/${_VER}/g" -i sources/CMakeLists-plasmoid-only.txt # create archive [[ -e ${ARCHIVE}-${VERSION}-src.tar.xz ]] && rm -f "${ARCHIVE}-${VERSION}-src.tar.xz" [[ -d ${ARCHIVE} ]] && rm -rf "${ARCHIVE}" cp -r "${SRCDIR}" "${ARCHIVE}" for FILE in ${FILES[*]}; do cp -r "$FILE" "${ARCHIVE}"; done -for FILE in ${IGNORELIST[*]}; do rm -f "${ARCHIVE}/${FILE}"; done -tar cvJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}" > /dev/null +for FILE in ${IGNORELIST[*]}; do rm -rf "${ARCHIVE}/${FILE}"; done +mv "${ARCHIVE}/CMakeLists-plasmoid-only.txt" "${ARCHIVE}/CMakeLists.txt" +tar cJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}" rm -rf "${ARCHIVE}" +# full package +ARCHIVE="netctl-gui" +SRCDIR="sources" +FILES="AUTHORS CHANGELOG COPYING README.md" +IGNORELIST="gui/resources/translations/english.qm gui/resources/translations/russian.qm CMakeLists-plasmoid-only.txt" +# create archive +[[ -e ${ARCHIVE}-${VERSION}-src.tar.xz ]] && rm -f "${ARCHIVE}-${VERSION}-src.tar.xz" +[[ -d ${ARCHIVE} ]] && rm -rf "${ARCHIVE}" +cp -r "${SRCDIR}" "${ARCHIVE}" +for FILE in ${FILES[*]}; do cp -r "$FILE" "${ARCHIVE}"; done +for FILE in ${IGNORELIST[*]}; do rm -rf "${ARCHIVE}/${FILE}"; done +tar cJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}" +rm -rf "${ARCHIVE}" # update md5sum MD5SUMS=$(md5sum ${ARCHIVE}-${VERSION}-src.tar.xz | awk '{print $1}') sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD diff --git a/sources/CMakeLists-plasmoid-only.txt b/sources/CMakeLists-plasmoid-only.txt new file mode 100644 index 0000000..f8f7e8b --- /dev/null +++ b/sources/CMakeLists-plasmoid-only.txt @@ -0,0 +1,29 @@ +cmake_minimum_required (VERSION 2.8) + +cmake_policy (SET CMP0003 OLD) +cmake_policy (SET CMP0002 OLD) +cmake_policy (SET CMP0011 NEW) +cmake_policy (SET CMP0015 NEW) + +project (netctl-gui) +set (PROJECT_VERSION_MAJOR 1) +set (PROJECT_VERSION_MINOR 0) +set (PROJECT_VERSION_PATCH 4) +set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) + +message (STATUS "Version: ${PROJECT_VERSION}") + +# flags +if (CMAKE_COMPILER_IS_GNUCXX) + set (ADD_CXX_FLAGS "-Wall") + set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}") + set (CMAKE_CXX_FLAGS_DEBUG "-g -O0") + set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") +else () + message (STATUS "Unknown compiler") +endif () + +add_subdirectory (icons) +add_subdirectory (dataengine) +add_subdirectory (plasmoid)