diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e76912..929c946 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,38 @@ SET( PLAYUVER_VERSION_MINOR "5" ) SET( PLAYUVER_VERSION_PATCH "1" ) SET( PLAYUVER_VERSION "${PLAYUVER_VERSION_MAJOR}.${PLAYUVER_VERSION_MINOR}.${PLAYUVER_VERSION_PATCH}") +# To be switched on when releasing. +OPTION(RELEASE_BUILD "Remove Git revision from program version (use for stable releases)" ON) + +# Get current version. +set(PLAYUVER_VERSION_STRING "${PLAYUVER_VERSION}") +if(NOT RELEASE_BUILD AND EXISTS ${CMAKE_SOURCE_DIR}/.git) + # Probably a Git workspace; determine the revision. + find_package(Git QUIET) + if(GIT_FOUND) + exec_program(${GIT_EXECUTABLE} + ${CMAKE_SOURCE_DIR} + ARGS "describe --tags" + OUTPUT_VARIABLE PLAYUVER_GIT_REVISION + RETURN_VALUE TAG_RESULT + ) + # git describe --tags failed; maybe the repository was checked with depth=1. + if(NOT ${TAG_RESULT} EQUAL 0) + exec_program(${GIT_EXECUTABLE} + ${CMAKE_SOURCE_DIR} + ARGS "describe --always" + OUTPUT_VARIABLE PLAYUVER_GIT_REVISION + ) + endif() + message(STATUS "PlaYUVer Git revision: ${PLAYUVER_GIT_REVISION}") + set(PLAYUVER_VERSION_STRING "${PLAYUVER_VERSION} (rev. ${PLAYUVER_GIT_REVISION})") + else() + message(STATUS "PlaYUVer Git revision could not be determined") + endif() +endif() + +SET(UPDATE_CHANNEL "stable" CACHE STRING "Update channel" ) + ###################################################################################### # CMake Defin1itions ###################################################################################### @@ -62,8 +94,7 @@ ENDIF() SET_PACKAGE_PROPERTIES(FFmpeg PROPERTIES URL "http://ffmpeg.org/" DESCRIPTION "Libav library support in PlaYUVerStream" TYPE OPTIONAL) ADD_FEATURE_INFO(SSE USE_SSE "SSE instructions support" ) -ADD_FEATURE_INFO(Fervor USE_FERVOR "Fervor lib includes check for updates feature.") -ADD_FEATURE_INFO(WErrors PLAYUVER_WERROR "Warnings as errors" ) +ADD_FEATURE_INFO(WErrors USE_WERROR "Warnings as errors" ) IF( WIN32 ) INCLUDE( cmake/Win32.cmake ) @@ -73,6 +104,7 @@ ENDIF() # Configuration ###################################################################################### CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h ) +CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/PlaYUVerUpdate.xml.in ${CMAKE_CURRENT_BINARY_DIR}/PlaYUVerUpdate-${UPDATE_CHANNEL}.xml ) ###################################################################################### # Target App @@ -83,10 +115,10 @@ IF (NOT CMAKE_BUILD_TYPE ) ENDIF() SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) -# -# IF( PLAYUVER_WERROR ) -# SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) -# ENDIF() + +IF( USE_WERROR ) + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) +ENDIF() SET( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g" ) SET( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2" ) diff --git a/PlaYUVerUpdate.xml.in b/PlaYUVerUpdate.xml.in new file mode 100644 index 0000000..8f9c858 --- /dev/null +++ b/PlaYUVerUpdate.xml.in @@ -0,0 +1,49 @@ + + + + + Your Great App's Changelog + http://pypt.github.com/fervor/Appcast.xml + Most recent changes with links to updates. + en + + + + Version @PLAYUVER_VERSION@ + Mon, 09 Jan 2006 19:20:11 +0000 + http://192.168.96.201/share/PlaYUVerProject/ReleaseNotes-@UPDATE_CHANNEL@.html + + + http://192.168.96.201/share/PlaYUVerProject/ReleaseNotes-@UPDATE_CHANNEL@.html + http://192.168.96.201/share/PlaYUVerProject/ReleaseNotes-@UPDATE_CHANNEL@.html + + + + + + + + + + + + + + diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 080403a..23a211e 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -89,21 +89,30 @@ set(plaYUver_App_RCC resources/playuver.qrc ) +OPTION( USE_FERVOR "Add Fervor support" OFF ) + IF( USE_FERVOR ) + + SET( FERVOR_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/fervor ) + IF(EXISTS ${FERVOR_DIR} ) + SET( FERVOR_APP_NAME ${PROJECT_NAME} ) SET( FERVOR_APP_VERSION ${PLAYUVER_VERSION} ) + ADD_SUBDIRECTORY( ${FERVOR_DIR} ) + INCLUDE_DIRECTORIES( ${FERVOR_DIR} ) - LIST(APPEND APP_LINKER_LIBS "Fervor" ) + + LIST(APPEND APP_LINKER_LIBS Fervor ) FIND_PACKAGE( Qt5 REQUIRED Network WebKit WebKitWidgets ) - LIST(APPEND QT_LINKER_LIBS Qt5::Network Qt5::Webkit Qt5::WebKitWidgets ) + LIST(APPEND QT_LINKER_LIBS Qt5::Network Qt5::WebKit Qt5::WebKitWidgets ) LIST(APPEND QT_MODULES Network WebKit WebKitWidgets ) - LIST(APPEND LINKER_LIBS ${FERVOR_DEPENDENCIES} ) +# LIST(APPEND APP_LINKER_LIBS ${FERVOR_DEPENDENCIES} ) INCLUDE_DIRECTORIES( ${FERVOR_INCLUDE_DIRS} ) SET(QT_USE_QTNETWORK true) @@ -130,6 +139,9 @@ IF( USE_FERVOR ) ENDIF() ENDIF() +SET_PACKAGE_PROPERTIES(Fervor PROPERTIES URL "http://ffmpeg.org/" DESCRIPTION "Fervor lib includes check for updates feature" TYPE OPTIONAL ) +ADD_FEATURE_INFO(Fervor USE_FERVOR "Fervor lib includes check for updates feature.") + IF( USE_QT4 ) QT4_WRAP_UI( plaYUver_App_UI_Wrap ${plaYUver_App_UI} ) QT4_ADD_RESOURCES( plaYUver_App_RCC ${plaYUver_App_RCC} ) @@ -160,7 +172,7 @@ ENDIF() ADD_EXECUTABLE( ${PROJECT_NAME} ${plaYUver_App_SRCS} ${HEADERS_MOC_FILES} ${plaYUver_App_UI_Wrap} ${plaYUver_App_RCC} ${WINDOWS_RES_FILE} ) -TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PlaYUVerLib PlaYUVerModules ${QT_LINKER_LIBS} ${APP_LINKER_LIBS} ) +TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PlaYUVerLib PlaYUVerModules ${APP_LINKER_LIBS} ${QT_LINKER_LIBS} ) IF( NOT USE_QT4 ) QT5_USE_MODULES( ${PROJECT_NAME} ${QT_MODULES} ) diff --git a/app/main.cpp b/app/main.cpp index 3597369..2d59f75 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -132,9 +132,10 @@ int main( int argc, char *argv[] ) plaYUVerApp mainwindow; mainwindow.show(); mainwindow.parseArgs( argc, argv ); + #ifdef USE_FERVOR - FvUpdater::sharedUpdater()->SetFeedURL("http://192.168.96.201/share/pixLRA/plaYUVer/PlaYUVerUpdate.xml"); - FvUpdater::sharedUpdater()->SetDependencies(DEPENDENCIES_STRING); + FvUpdater::sharedUpdater()->SetFeedURL("http://192.168.96.201/share/pixLRA/plaYUVer/PlaYUVerUpdate-" UPDATE_CHANNEL ".xml"); + FvUpdater::sharedUpdater()->SetDependencies("ALL"); #endif return application.exec(); diff --git a/app/plaYUVerApp.cpp b/app/plaYUVerApp.cpp index 1f72092..d237a25 100644 --- a/app/plaYUVerApp.cpp +++ b/app/plaYUVerApp.cpp @@ -23,10 +23,10 @@ */ #include +#include "plaYUVerApp.h" #ifdef USE_FERVOR #include "fvupdater.h" #endif -#include "plaYUVerApp.h" #include "PlaYUVerSubWindowHandle.h" #include "VideoHandle.h" #include "QualityHandle.h" diff --git a/config.h.in b/config.h.in index 647c3d6..05af68a 100644 --- a/config.h.in +++ b/config.h.in @@ -31,9 +31,9 @@ #define PLAYUVER_VERSION_MINOR @PLAYUVER_VERSION_MINOR@ #define PLAYUVER_VERSION_PATCH @PLAYUVER_VERSION_PATCH@ #define PLAYUVER_VERSION @PLAYUVER_VERSION@ -#define PLAYUVER_VERSION_STRING "@PLAYUVER_VERSION@" +#define PLAYUVER_VERSION_STRING "@PLAYUVER_VERSION_STRING@" -#define DEPENDENCIES_STRING "@DEPENDENCIES_STRING@" +#define UPDATE_CHANNEL "@UPDATE_CHANNEL@" /* CPU features */ #cmakedefine USE_SSE