use 'git describe' to generate version info for the about box and servatrice. fixes issue #20
This commit is contained in:
parent
a1bcd9854f
commit
89bb8e72ee
10 changed files with 49 additions and 12 deletions
|
@ -69,7 +69,8 @@ SET(cockatrice_SOURCES
|
||||||
src/localserverinterface.cpp
|
src/localserverinterface.cpp
|
||||||
src/localclient.cpp
|
src/localclient.cpp
|
||||||
src/priceupdater.cpp
|
src/priceupdater.cpp
|
||||||
src/soundengine.cpp
|
src/soundengine.cpp
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/../common/version_string.cpp
|
||||||
)
|
)
|
||||||
SET(cockatrice_HEADERS
|
SET(cockatrice_HEADERS
|
||||||
src/abstractcounter.h
|
src/abstractcounter.h
|
||||||
|
@ -153,7 +154,7 @@ set(cockatrice_TS
|
||||||
translations/cockatrice_pt.ts
|
translations/cockatrice_pt.ts
|
||||||
translations/cockatrice_ru.ts
|
translations/cockatrice_ru.ts
|
||||||
translations/cockatrice_sk.ts
|
translations/cockatrice_sk.ts
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(cockatrice_SOURCES ${cockatrice_SOURCES} cockatrice.rc)
|
set(cockatrice_SOURCES ${cockatrice_SOURCES} cockatrice.rc)
|
||||||
|
|
|
@ -9,7 +9,6 @@ extern CardDatabase *db;
|
||||||
|
|
||||||
extern QTranslator *translator;
|
extern QTranslator *translator;
|
||||||
const QString translationPrefix = "cockatrice";
|
const QString translationPrefix = "cockatrice";
|
||||||
const QString versionString = "0.20111113";
|
|
||||||
|
|
||||||
void installNewTranslator();
|
void installNewTranslator();
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
#include "tab_game.h"
|
#include "tab_game.h"
|
||||||
|
|
||||||
|
#include "version_string.h"
|
||||||
|
|
||||||
#include "pb/game_replay.pb.h"
|
#include "pb/game_replay.pb.h"
|
||||||
#include "pb/room_commands.pb.h"
|
#include "pb/room_commands.pb.h"
|
||||||
#include "pb/event_connection_closed.pb.h"
|
#include "pb/event_connection_closed.pb.h"
|
||||||
|
@ -210,7 +212,7 @@ void MainWindow::actAbout()
|
||||||
{
|
{
|
||||||
QMessageBox::about(this, tr("About Cockatrice"), QString(
|
QMessageBox::about(this, tr("About Cockatrice"), QString(
|
||||||
"<font size=\"8\"><b>Cockatrice</b></font><br>"
|
"<font size=\"8\"><b>Cockatrice</b></font><br>"
|
||||||
+ tr("Version %1").arg(versionString)
|
+ tr("Version %1").arg(VERSION_STRING)
|
||||||
+ "<br><br><br><b>" + tr("Authors:") + "</b><br>Max-Wilhelm Bruker<br>Marcus Schütz<br><br>"
|
+ "<br><br><br><b>" + tr("Authors:") + "</b><br>Max-Wilhelm Bruker<br>Marcus Schütz<br><br>"
|
||||||
+ "<b>" + tr("Translators:") + "</b><br>"
|
+ "<b>" + tr("Translators:") + "</b><br>"
|
||||||
+ tr("Spanish:") + " Víctor Martínez<br>"
|
+ tr("Spanish:") + " Víctor Martínez<br>"
|
||||||
|
|
|
@ -45,3 +45,10 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
add_subdirectory(pb)
|
add_subdirectory(pb)
|
||||||
add_library(cockatrice_common ${common_SOURCES} ${common_HEADERS_MOC})
|
add_library(cockatrice_common ${common_SOURCES} ${common_HEADERS_MOC})
|
||||||
target_link_libraries(cockatrice_common cockatrice_protocol)
|
target_link_libraries(cockatrice_common cockatrice_protocol)
|
||||||
|
|
||||||
|
add_custom_target(versionheader ALL DEPENDS version_header)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT version_header ${CMAKE_CURRENT_BINARY_DIR}/versionheader.h
|
||||||
|
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/getversion.cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
|
29
common/getversion.cmake
Normal file
29
common/getversion.cmake
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
find_package(Git)
|
||||||
|
if(GIT_FOUND)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} describe --long --always
|
||||||
|
RESULT_VARIABLE res_var
|
||||||
|
OUTPUT_VARIABLE GIT_COM_ID
|
||||||
|
)
|
||||||
|
if( NOT ${res_var} EQUAL 0 )
|
||||||
|
set( GIT_COMMIT_ID "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}" )
|
||||||
|
else()
|
||||||
|
set( GIT_COMMIT_ID "unknown (git not found!)")
|
||||||
|
message( WARNING "Git not found. Build will not contain git revision info." )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set( hstring "extern const char *VERSION_STRING\;\n" )
|
||||||
|
set( cppstring "const char * VERSION_STRING = \"${GIT_COMMIT_ID}\"\;\n")
|
||||||
|
|
||||||
|
file(WRITE version_string.cpp.txt ${cppstring} )
|
||||||
|
file(WRITE version_string.h.txt ${hstring} )
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different version_string.h.txt ${CMAKE_CURRENT_BINARY_DIR}/version_string.h
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different version_string.cpp.txt ${CMAKE_CURRENT_BINARY_DIR}/version_string.cpp
|
||||||
|
)
|
|
@ -2,8 +2,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||||
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
PROJECT(servatrice)
|
PROJECT(servatrice)
|
||||||
|
|
||||||
#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../common ${CMAKE_CURRENT_BINARY_DIR}/common)
|
|
||||||
|
|
||||||
SET(servatrice_SOURCES
|
SET(servatrice_SOURCES
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
src/passwordhasher.cpp
|
src/passwordhasher.cpp
|
||||||
|
@ -11,6 +9,7 @@ SET(servatrice_SOURCES
|
||||||
src/server_logger.cpp
|
src/server_logger.cpp
|
||||||
src/serversocketinterface.cpp
|
src/serversocketinterface.cpp
|
||||||
src/serversocketthread.cpp
|
src/serversocketthread.cpp
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/../common/version_string.cpp
|
||||||
)
|
)
|
||||||
SET(servatrice_HEADERS
|
SET(servatrice_HEADERS
|
||||||
src/servatrice.h
|
src/servatrice.h
|
||||||
|
@ -26,7 +25,8 @@ FIND_PACKAGE(Qt4 REQUIRED)
|
||||||
FIND_PACKAGE(Protobuf REQUIRED)
|
FIND_PACKAGE(Protobuf REQUIRED)
|
||||||
FIND_PACKAGE(Libgcrypt REQUIRED)
|
FIND_PACKAGE(Libgcrypt REQUIRED)
|
||||||
|
|
||||||
set(CMAKE_BUILD_TYPE Release)
|
#set(CMAKE_BUILD_TYPE Release)
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O2")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
||||||
|
|
||||||
QT4_WRAP_CPP(servatrice_HEADERS_MOC ${servatrice_HEADERS})
|
QT4_WRAP_CPP(servatrice_HEADERS_MOC ${servatrice_HEADERS})
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "servatrice.h"
|
#include "servatrice.h"
|
||||||
#include "server_logger.h"
|
#include "server_logger.h"
|
||||||
#include "rng_sfmt.h"
|
#include "rng_sfmt.h"
|
||||||
|
#include "version_string.h"
|
||||||
#ifdef Q_OS_UNIX
|
#ifdef Q_OS_UNIX
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -137,7 +138,7 @@ int main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
rng = new RNG_SFMT;
|
rng = new RNG_SFMT;
|
||||||
|
|
||||||
std::cerr << "Servatrice " << Servatrice::versionString.toStdString() << " starting." << std::endl;
|
std::cerr << "Servatrice " << VERSION_STRING << " starting." << std::endl;
|
||||||
std::cerr << "-------------------------" << std::endl;
|
std::cerr << "-------------------------" << std::endl;
|
||||||
|
|
||||||
if (testRandom)
|
if (testRandom)
|
||||||
|
|
|
@ -630,5 +630,3 @@ void Servatrice::shutdownTimeout()
|
||||||
if (!shutdownMinutes)
|
if (!shutdownMinutes)
|
||||||
deleteLater();
|
deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString Servatrice::versionString = "Servatrice 0.20111113";
|
|
||||||
|
|
|
@ -53,7 +53,6 @@ private slots:
|
||||||
void shutdownTimeout();
|
void shutdownTimeout();
|
||||||
public:
|
public:
|
||||||
mutable QMutex dbMutex;
|
mutable QMutex dbMutex;
|
||||||
static const QString versionString;
|
|
||||||
Servatrice(QSettings *_settings, QObject *parent = 0);
|
Servatrice(QSettings *_settings, QObject *parent = 0);
|
||||||
~Servatrice();
|
~Servatrice();
|
||||||
bool openDatabase();
|
bool openDatabase();
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include "pb/serverinfo_user.pb.h"
|
#include "pb/serverinfo_user.pb.h"
|
||||||
#include "pb/serverinfo_deckstorage.pb.h"
|
#include "pb/serverinfo_deckstorage.pb.h"
|
||||||
|
|
||||||
|
#include "version_string.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
@ -61,7 +62,7 @@ ServerSocketInterface::ServerSocketInterface(Servatrice *_server, QTcpSocket *_s
|
||||||
|
|
||||||
Event_ServerIdentification identEvent;
|
Event_ServerIdentification identEvent;
|
||||||
identEvent.set_server_name(servatrice->getServerName().toStdString());
|
identEvent.set_server_name(servatrice->getServerName().toStdString());
|
||||||
identEvent.set_server_version(Servatrice::versionString.toStdString());
|
identEvent.set_server_version(VERSION_STRING);
|
||||||
identEvent.set_protocol_version(protocolVersion);
|
identEvent.set_protocol_version(protocolVersion);
|
||||||
SessionEvent *identSe = prepareSessionEvent(identEvent);
|
SessionEvent *identSe = prepareSessionEvent(identEvent);
|
||||||
sendProtocolItem(*identSe);
|
sendProtocolItem(*identSe);
|
||||||
|
|
Loading…
Reference in a new issue