diff --git a/CMakeLists.txt b/CMakeLists.txt index e735488e..fd734cb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -174,11 +174,6 @@ set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") -# Create a version string suitable for file names -string(REPLACE " " "_" PROJECT_VERSION_SAFE "${PROJECT_VERSION}") -string(REPLACE "(" "" PROJECT_VERSION_SAFE "${PROJECT_VERSION_SAFE}") -string(REPLACE ")" "" PROJECT_VERSION_SAFE "${PROJECT_VERSION_SAFE}") - if(UNIX) if(APPLE) set(CPACK_GENERATOR DragNDrop ${CPACK_GENERATOR}) @@ -186,19 +181,20 @@ if(UNIX) set(CPACK_DMG_FORMAT "UDBZ") set(CPACK_DMG_VOLUME_NAME "${PROJECT_NAME}") set(CPACK_SYSTEM_NAME "OSX") - set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-osx_git-${PROJECT_VERSION_SAFE}") + set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}") set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/cockatrice/resources/appicon.icns") else() # linux set(CPACK_GENERATOR DEB ${CPACK_GENERATOR}) - set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}/${PROJECT_VERSION_SAFE}") - set(CPACK_STRIP_FILES "bin/${PROJECT_NAME}") - set(CPACK_SOURCE_STRIP_FILES "") - set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}_git-${PROJECT_VERSION_SAFE}") + set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}") + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5multimedia5-plugins") + set(CPACK_DEBIAN_PACKAGE_SECTION "games") + set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://github.com/Cockatrice/Cockatrice") endif() elseif(WIN32) set(CPACK_GENERATOR NSIS ${CPACK_GENERATOR}) - set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}_git-${PROJECT_VERSION_SAFE}") + set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}") # Configure file with custom definitions for NSIS. configure_file( diff --git a/cmake/createversionfile.cmake b/cmake/createversionfile.cmake index b71aa8ad..ca5d0d76 100644 --- a/cmake/createversionfile.cmake +++ b/cmake/createversionfile.cmake @@ -3,7 +3,7 @@ set(VERSION_STRING_H "${PROJECT_BINARY_DIR}/version_string.h") INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) set( hstring "extern const char *VERSION_STRING\;\n" ) -set( cppstring "const char * VERSION_STRING = \"${PROJECT_VERSION}\"\;\n") +set( cppstring "const char * VERSION_STRING = \"${PROJECT_VERSION_FRIENDLY}\"\;\n") file(WRITE ${PROJECT_BINARY_DIR}/version_string.cpp.txt ${cppstring} ) file(WRITE ${PROJECT_BINARY_DIR}/version_string.h.txt ${hstring} ) diff --git a/cmake/getversion.cmake b/cmake/getversion.cmake index 7397a4fc..39859ee7 100644 --- a/cmake/getversion.cmake +++ b/cmake/getversion.cmake @@ -1,20 +1,40 @@ find_package(Git) if(GIT_FOUND) execute_process( - COMMAND ${GIT_EXECUTABLE} log -1 --date=short "--pretty=%h (%cd)" + COMMAND ${GIT_EXECUTABLE} log -1 --date=short "--pretty=%h" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COM_ID ) if( NOT ${res_var} EQUAL 0 ) - set( GIT_COMMIT_ID "git commit id unknown") + set( GIT_COMMIT_ID "unknown") message( WARNING "Git failed (not a repo, or no tags). Build will not contain git revision info." ) endif() string( REPLACE "\n" "" GIT_COMMIT_ID "${GIT_COM_ID}" ) + + execute_process( + COMMAND ${GIT_EXECUTABLE} log -1 --date=short "--pretty=%cd" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + RESULT_VARIABLE res_var + OUTPUT_VARIABLE GIT_COM_DATE + ) + if( NOT ${res_var} EQUAL 0 ) + set( GIT_COMMIT_DATE "unknown") + set( GIT_COMMIT_DATE_FRIENDLY "unknown") + message( WARNING "Git failed (not a repo, or no tags). Build will not contain git revision info." ) + endif() + string( REPLACE "\n" "" GIT_COMMIT_DATE_FRIENDLY "${GIT_COM_DATE}" ) + string( REPLACE "-" "" GIT_COMMIT_DATE "${GIT_COMMIT_DATE_FRIENDLY}" ) else() - set( GIT_COMMIT_ID "unknown (git not found!)") + set( GIT_COMMIT_ID "unknown") + set( GIT_COMMIT_DATE "unknown") + set( GIT_COMMIT_DATE_FRIENDLY "unknown") message( WARNING "Git not found. Build will not contain git revision info." ) endif() -set(PROJECT_VERSION_MAJOR ${GIT_COMMIT_ID}) -set(PROJECT_VERSION ${GIT_COMMIT_ID} ) \ No newline at end of file +set(PROJECT_VERSION_MAJOR "0") +set(PROJECT_VERSION_MINOR "0") +set(PROJECT_VERSION_PATCH "1~git${GIT_COMMIT_DATE}.${GIT_COMMIT_ID}") +set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") +set(PROJECT_VERSION_FRIENDLY "${GIT_COMMIT_ID} (${GIT_COMMIT_DATE_FRIENDLY})") + diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index ca9342a4..bbf3d119 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -109,10 +109,6 @@ SET(cockatrice_SOURCES ${VERSION_STRING_CPP} ) -if (UNIX AND NOT APPLE) - set_source_files_properties(src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"${CMAKE_INSTALL_PREFIX}/share/cockatrice/translations\\") -endif (UNIX AND NOT APPLE) - set(cockatrice_RESOURCES cockatrice.qrc) IF(UPDATE_TRANSLATIONS) diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 058eea63..2195beb5 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -54,11 +54,7 @@ QSystemTrayIcon *trayIcon; ThemeManager *themeManager; const QString translationPrefix = "cockatrice"; -#ifdef TRANSLATION_PATH -QString translationPath = TRANSLATION_PATH; -#else -QString translationPath = QString(); -#endif +QString translationPath; #if QT_VERSION < 0x050000 static void myMessageOutput(QtMsgType /*type*/, const char *msg) @@ -136,13 +132,13 @@ int main(int argc, char *argv[]) QCoreApplication::setOrganizationDomain("cockatrice.de"); QCoreApplication::setApplicationName("Cockatrice"); - if (translationPath.isEmpty()) { #ifdef Q_OS_MAC - translationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + translationPath = qApp->applicationDirPath() + "/../Resources/translations"; #elif defined(Q_OS_WIN) - translationPath = app.applicationDirPath() + "/translations"; + translationPath = qApp->applicationDirPath() + "/translations"; +#else // linux + translationPath = qApp->applicationDirPath() + "/../share/cockatrice/translations"; #endif - } rng = new RNG_SFMT; settingsCache = new SettingsCache; diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index 1440ee24..90558cfc 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -24,10 +24,6 @@ SET(oracle_SOURCES ../cockatrice/src/qt-json/json.cpp ) -if (UNIX AND NOT APPLE) - set_source_files_properties(src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"${CMAKE_INSTALL_PREFIX}/share/oracle/translations\\") -endif (UNIX AND NOT APPLE) - set(oracle_RESOURCES oracle.qrc) IF(UPDATE_TRANSLATIONS) diff --git a/oracle/src/main.cpp b/oracle/src/main.cpp index 60e5e8d9..5a6e0367 100644 --- a/oracle/src/main.cpp +++ b/oracle/src/main.cpp @@ -14,11 +14,7 @@ SettingsCache *settingsCache; ThemeManager *themeManager; const QString translationPrefix = "oracle"; -#ifdef TRANSLATION_PATH -QString translationPath = TRANSLATION_PATH; -#else -QString translationPath = QString(); -#endif +QString translationPath; void installNewTranslator() { @@ -44,13 +40,13 @@ int main(int argc, char *argv[]) // this can't be changed, as it influences the default savepath for cards.xml QCoreApplication::setApplicationName("Cockatrice"); - if (translationPath.isEmpty()) { #ifdef Q_OS_MAC - translationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + translationPath = qApp->applicationDirPath() + "/../Resources/translations"; #elif defined(Q_OS_WIN) - translationPath = app.applicationDirPath() + "/translations"; + translationPath = qApp->applicationDirPath() + "/translations"; +#else // linux + translationPath = qApp->applicationDirPath() + "/../share/cockatrice/translations"; #endif - } settingsCache = new SettingsCache; themeManager = new ThemeManager; diff --git a/travis-compile.sh b/travis-compile.sh index 37467226..6f24558c 100755 --- a/travis-compile.sh +++ b/travis-compile.sh @@ -6,10 +6,11 @@ mkdir build cd build prefix="" if [[ $TRAVIS_OS_NAME == "osx" && $QT4 == 0 ]]; then - prefix="-DCMAKE_PREFIX_PATH=`echo /usr/local/Cellar/qt5/5.*/`" + prefix="-DCMAKE_PREFIX_PATH=$(echo /usr/local/Cellar/qt5/5.*/)" fi if [[ $TRAVIS_OS_NAME == "linux" && $QT4 == 0 ]]; then - prefix="-DCMAKE_PREFIX_PATH=`echo /opt/qt5*/lib/cmake/`" + prefix="-DCMAKE_PREFIX_PATH=$(echo /opt/qt5*/lib/cmake/)" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$(echo /opt/qt5*/lib/)" fi if [[ $BUILDTYPE == "Debug" ]]; then diff --git a/travis-dependencies.sh b/travis-dependencies.sh index dcb65e29..3ef048b6 100755 --- a/travis-dependencies.sh +++ b/travis-dependencies.sh @@ -15,7 +15,7 @@ else sudo apt-get update -qq sudo apt-get install -y qtmobility-dev libqt4-dev else - sudo add-apt-repository -y ppa:beineri/opt-qt541 + sudo add-apt-repository -y ppa:beineri/opt-qt542 sudo apt-get update -qq sudo apt-get install -y libsqlite3-dev\ qt54base qt54webkit qt54tools qt54svg qt54multimedia