Merge remote-tracking branch 'upstream/master' into translation
This commit is contained in:
commit
66aba2eec7
12 changed files with 101 additions and 262 deletions
|
@ -158,6 +158,11 @@ set(CMAKE_AUTOMOC TRUE)
|
||||||
# Find other needed libraries
|
# Find other needed libraries
|
||||||
FIND_PACKAGE(Protobuf REQUIRED)
|
FIND_PACKAGE(Protobuf REQUIRED)
|
||||||
|
|
||||||
|
#Find OpenSSL
|
||||||
|
IF(WIN32)
|
||||||
|
FIND_PACKAGE(Win32SslRuntime)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Package builder
|
# Package builder
|
||||||
set(CPACK_PACKAGE_CONTACT "Daenyth+github@gmail.com")
|
set(CPACK_PACKAGE_CONTACT "Daenyth+github@gmail.com")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_NAME})
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_NAME})
|
||||||
|
|
52
cmake/FindWin32SslRuntime.cmake
Normal file
52
cmake/FindWin32SslRuntime.cmake
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# Find the OpenSSL runtime libraries (.dll) for Windows that
|
||||||
|
# will be needed by Qt in order to access https urls.
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
# Get standard installation paths for OpenSSL under Windows
|
||||||
|
|
||||||
|
# http://www.slproweb.com/products/Win32OpenSSL.html
|
||||||
|
set(_OPENSSL_ROOT_HINTS
|
||||||
|
${OPENSSL_ROOT_DIR}
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
|
||||||
|
ENV OPENSSL_ROOT_DIR
|
||||||
|
)
|
||||||
|
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
|
||||||
|
set(_OPENSSL_ROOT_PATHS
|
||||||
|
"${_programfiles}/OpenSSL"
|
||||||
|
"${_programfiles}/OpenSSL-Win32"
|
||||||
|
"${_programfiles}/OpenSSL-Win64"
|
||||||
|
"C:/OpenSSL/"
|
||||||
|
"C:/OpenSSL-Win32/"
|
||||||
|
"C:/OpenSSL-Win64/"
|
||||||
|
)
|
||||||
|
unset(_programfiles)
|
||||||
|
else ()
|
||||||
|
set(_OPENSSL_ROOT_HINTS
|
||||||
|
${OPENSSL_ROOT_DIR}
|
||||||
|
ENV OPENSSL_ROOT_DIR
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(_OPENSSL_ROOT_HINTS_AND_PATHS
|
||||||
|
HINTS ${_OPENSSL_ROOT_HINTS}
|
||||||
|
PATHS ${_OPENSSL_ROOT_PATHS}
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_FILE(WIN32SSLRUNTIME_LIBEAY NAMES libeay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
||||||
|
FIND_FILE(WIN32SSLRUNTIME_SSLEAY NAMES ssleay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
||||||
|
|
||||||
|
|
||||||
|
IF(WIN32SSLRUNTIME_LIBEAY AND WIN32SSLRUNTIME_SSLEAY)
|
||||||
|
SET(WIN32SSLRUNTIME_LIBRARIES "${WIN32SSLRUNTIME_LIBEAY}" "${WIN32SSLRUNTIME_SSLEAY}")
|
||||||
|
SET(WIN32SSLRUNTIME_FOUND "YES")
|
||||||
|
message(STATUS "Found OpenSSL ${WIN32SSLRUNTIME_LIBRARIES}")
|
||||||
|
ELSE()
|
||||||
|
SET(WIN32SSLRUNTIME_FOUND "NO")
|
||||||
|
message(WARNING "Could not find OpenSSL runtime libraries. They are not required for compiling, but needs to be available at runtime.")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
WIN32SSLRUNTIME_LIBEAY
|
||||||
|
WIN32SSLRUNTIME_SSLEAY
|
||||||
|
)
|
|
@ -81,6 +81,8 @@ Section Uninstall
|
||||||
Delete "$INSTDIR\libprotobuf.lib"
|
Delete "$INSTDIR\libprotobuf.lib"
|
||||||
Delete "$INSTDIR\Qt*.dll"
|
Delete "$INSTDIR\Qt*.dll"
|
||||||
Delete "$INSTDIR\icu*.dll"
|
Delete "$INSTDIR\icu*.dll"
|
||||||
|
Delete "$INSTDIR\libeay32.dll"
|
||||||
|
Delete "$INSTDIR\ssleay32.dll"
|
||||||
Delete "$INSTDIR\qt.conf"
|
Delete "$INSTDIR\qt.conf"
|
||||||
Delete "$INSTDIR\qdebug.txt"
|
Delete "$INSTDIR\qdebug.txt"
|
||||||
Delete "$INSTDIR\servatrice.sql"
|
Delete "$INSTDIR\servatrice.sql"
|
||||||
|
|
|
@ -263,15 +263,16 @@ if(APPLE)
|
||||||
set(qtconf_dest_dir cockatrice.app/Contents/Resources)
|
set(qtconf_dest_dir cockatrice.app/Contents/Resources)
|
||||||
|
|
||||||
# note: no codecs in qt5
|
# note: no codecs in qt5
|
||||||
# note: phonon_backend => mediaservice
|
# note: phonon_backend => audio | mediaservice
|
||||||
# note: needs platform on osx
|
# note: needs platform on osx
|
||||||
|
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
||||||
FILES_MATCHING REGEX "(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*_debug\\.dylib")
|
FILES_MATCHING REGEX "(audio|codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*_debug\\.dylib")
|
||||||
else()
|
else()
|
||||||
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
||||||
FILES_MATCHING REGEX "(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/[^_]*\\.dylib")
|
FILES_MATCHING REGEX "(audio|codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*\\.dylib"
|
||||||
|
REGEX ".*_debug\\.dylib" EXCLUDE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(CODE "
|
install(CODE "
|
||||||
|
@ -296,15 +297,15 @@ if(WIN32)
|
||||||
set(qtconf_dest_dir .)
|
set(qtconf_dest_dir .)
|
||||||
|
|
||||||
# note: no codecs in qt5
|
# note: no codecs in qt5
|
||||||
# note: phonon_backend => mediaservice
|
# note: phonon_backend => audio | mediaservice
|
||||||
# note: needs platform on osx
|
# note: needs platform on osx
|
||||||
|
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
||||||
FILES_MATCHING REGEX "(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*d\\.dll")
|
FILES_MATCHING REGEX "(audio|codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*d\\.dll")
|
||||||
else()
|
else()
|
||||||
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
install(DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime
|
||||||
FILES_MATCHING REGEX "(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*[^d]\\.dll")
|
FILES_MATCHING REGEX "(audio|codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*[^d]\\.dll")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(CODE "
|
install(CODE "
|
||||||
|
@ -321,4 +322,8 @@ Data = Resources\")
|
||||||
include(BundleUtilities)
|
include(BundleUtilities)
|
||||||
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/cockatrice.exe\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIR}\")
|
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/cockatrice.exe\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIR}\")
|
||||||
" COMPONENT Runtime)
|
" COMPONENT Runtime)
|
||||||
|
|
||||||
|
if(WIN32SSLRUNTIME_FOUND)
|
||||||
|
install(FILES ${WIN32SSLRUNTIME_LIBRARIES} DESTINATION ./)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 143 KiB |
|
@ -4,6 +4,9 @@
|
||||||
#include <QGraphicsSceneMouseEvent>
|
#include <QGraphicsSceneMouseEvent>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
|
static const float CARD_WIDTH_HALF = CARD_WIDTH / 2;
|
||||||
|
static const float CARD_HEIGHT_HALF = CARD_HEIGHT / 2;
|
||||||
|
|
||||||
AbstractCardDragItem::AbstractCardDragItem(AbstractCardItem *_item, const QPointF &_hotSpot, AbstractCardDragItem *parentDrag)
|
AbstractCardDragItem::AbstractCardDragItem(AbstractCardItem *_item, const QPointF &_hotSpot, AbstractCardDragItem *parentDrag)
|
||||||
: QGraphicsItem(), item(_item), hotSpot(_hotSpot)
|
: QGraphicsItem(), item(_item), hotSpot(_hotSpot)
|
||||||
{
|
{
|
||||||
|
@ -22,7 +25,7 @@ AbstractCardDragItem::AbstractCardDragItem(AbstractCardItem *_item, const QPoint
|
||||||
setZValue(2000000007);
|
setZValue(2000000007);
|
||||||
}
|
}
|
||||||
if (item->getTapped())
|
if (item->getTapped())
|
||||||
setTransform(QTransform().translate((float) CARD_WIDTH / 2, (float) CARD_HEIGHT / 2).rotate(90).translate((float) -CARD_WIDTH / 2, (float) -CARD_HEIGHT / 2));
|
setTransform(QTransform().translate(CARD_WIDTH_HALF, CARD_HEIGHT_HALF).rotate(90).translate(-CARD_WIDTH_HALF, -CARD_HEIGHT_HALF));
|
||||||
|
|
||||||
setCacheMode(DeviceCoordinateCache);
|
setCacheMode(DeviceCoordinateCache);
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,14 +263,14 @@ void PictureLoader::picDownloadFinished(QNetworkReply *reply)
|
||||||
|
|
||||||
const QByteArray &picData = reply->peek(reply->size()); //peek is used to keep the data in the buffer for use by QImageReader
|
const QByteArray &picData = reply->peek(reply->size()); //peek is used to keep the data in the buffer for use by QImageReader
|
||||||
QImage testImage;
|
QImage testImage;
|
||||||
|
|
||||||
QImageReader imgReader;
|
QImageReader imgReader;
|
||||||
imgReader.setDecideFormatFromContent(true);
|
imgReader.setDecideFormatFromContent(true);
|
||||||
imgReader.setDevice(reply);
|
imgReader.setDevice(reply);
|
||||||
QString extension = "." + imgReader.format(); //the format is determined prior to reading the QImageReader data into a QImage object, as that wipes the QImageReader buffer
|
QString extension = "." + imgReader.format(); //the format is determined prior to reading the QImageReader data into a QImage object, as that wipes the QImageReader buffer
|
||||||
if (extension == ".jpeg")
|
if (extension == ".jpeg")
|
||||||
extension = ".jpg";
|
extension = ".jpg";
|
||||||
|
|
||||||
if (imgReader.read(&testImage)) {
|
if (imgReader.read(&testImage)) {
|
||||||
QString setName = cardBeingDownloaded.getSetName();
|
QString setName = cardBeingDownloaded.getSetName();
|
||||||
if(!setName.isEmpty())
|
if(!setName.isEmpty())
|
||||||
|
@ -493,7 +493,7 @@ void CardInfo::updatePixmapCache()
|
||||||
qDebug() << "Updating pixmap cache for" << name;
|
qDebug() << "Updating pixmap cache for" << name;
|
||||||
clearPixmapCache();
|
clearPixmapCache();
|
||||||
loadPixmap();
|
loadPixmap();
|
||||||
|
|
||||||
emit pixmapUpdated();
|
emit pixmapUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,7 +605,7 @@ CardDatabase::~CardDatabase()
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
delete noCard;
|
delete noCard;
|
||||||
|
|
||||||
pictureLoader->deleteLater();
|
pictureLoader->deleteLater();
|
||||||
pictureLoaderThread->wait();
|
pictureLoaderThread->wait();
|
||||||
delete pictureLoaderThread;
|
delete pictureLoaderThread;
|
||||||
|
@ -619,7 +619,7 @@ void CardDatabase::clear()
|
||||||
delete setIt.value();
|
delete setIt.value();
|
||||||
}
|
}
|
||||||
sets.clear();
|
sets.clear();
|
||||||
|
|
||||||
QHashIterator<QString, CardInfo *> i(cards);
|
QHashIterator<QString, CardInfo *> i(cards);
|
||||||
while (i.hasNext()) {
|
while (i.hasNext()) {
|
||||||
i.next();
|
i.next();
|
||||||
|
@ -770,30 +770,11 @@ void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml, bool tokens)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CardInfo *CardNameMap::findByPrefix(const std::string &prefix) {
|
|
||||||
int count = 0;
|
|
||||||
CardInfo *found;
|
|
||||||
|
|
||||||
for (CardNameMap::iterator it = this->begin(); it != this->end(); ++it) {
|
|
||||||
if (std::mismatch(prefix.begin(), prefix.end(),
|
|
||||||
it.key().toStdString().begin()).first == prefix.end()) {
|
|
||||||
count++;
|
|
||||||
found = it.value();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (count == 1 ? found : NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
CardInfo *CardDatabase::getCardFromMap(CardNameMap &cardMap, const QString &cardName, bool createIfNotFound) {
|
CardInfo *CardDatabase::getCardFromMap(CardNameMap &cardMap, const QString &cardName, bool createIfNotFound) {
|
||||||
CardInfo *foundCard;
|
|
||||||
|
|
||||||
if (cardName.isEmpty())
|
if (cardName.isEmpty())
|
||||||
return noCard;
|
return noCard;
|
||||||
else if (cardMap.contains(cardName))
|
else if (cardMap.contains(cardName))
|
||||||
return cardMap.value(cardName);
|
return cardMap.value(cardName);
|
||||||
else if ((foundCard = cardMap.findByPrefix(cardName.toStdString())))
|
|
||||||
return foundCard;
|
|
||||||
else if (createIfNotFound) {
|
else if (createIfNotFound) {
|
||||||
CardInfo *newCard = new CardInfo(this, cardName, true);
|
CardInfo *newCard = new CardInfo(this, cardName, true);
|
||||||
newCard->addToSet(getSet("TK"));
|
newCard->addToSet(getSet("TK"));
|
||||||
|
|
|
@ -180,13 +180,7 @@ signals:
|
||||||
|
|
||||||
enum LoadStatus { Ok, VersionTooOld, Invalid, NotLoaded, FileError, NoCards };
|
enum LoadStatus { Ok, VersionTooOld, Invalid, NotLoaded, FileError, NoCards };
|
||||||
|
|
||||||
|
typedef QHash<QString, CardInfo *> CardNameMap;
|
||||||
class CardNameMap: public QHash<QString, CardInfo *>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CardInfo *findByPrefix(const std::string &prefix);
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef QHash<QString, CardSet *> SetNameMap;
|
typedef QHash<QString, CardSet *> SetNameMap;
|
||||||
|
|
||||||
class CardDatabase : public QObject {
|
class CardDatabase : public QObject {
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
#include "priceupdater.h"
|
#include "priceupdater.h"
|
||||||
|
#include "soundengine.h"
|
||||||
|
|
||||||
GeneralSettingsPage::GeneralSettingsPage()
|
GeneralSettingsPage::GeneralSettingsPage()
|
||||||
{
|
{
|
||||||
|
@ -503,6 +504,8 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
||||||
connect(soundPathClearButton, SIGNAL(clicked()), this, SLOT(soundPathClearButtonClicked()));
|
connect(soundPathClearButton, SIGNAL(clicked()), this, SLOT(soundPathClearButtonClicked()));
|
||||||
QPushButton *soundPathButton = new QPushButton("...");
|
QPushButton *soundPathButton = new QPushButton("...");
|
||||||
connect(soundPathButton, SIGNAL(clicked()), this, SLOT(soundPathButtonClicked()));
|
connect(soundPathButton, SIGNAL(clicked()), this, SLOT(soundPathButtonClicked()));
|
||||||
|
soundTestButton = new QPushButton();
|
||||||
|
connect(soundTestButton, SIGNAL(clicked()), soundEngine, SLOT(cuckoo()));
|
||||||
|
|
||||||
QGridLayout *soundGrid = new QGridLayout;
|
QGridLayout *soundGrid = new QGridLayout;
|
||||||
soundGrid->addWidget(soundEnabledCheckBox, 0, 0, 1, 4);
|
soundGrid->addWidget(soundEnabledCheckBox, 0, 0, 1, 4);
|
||||||
|
@ -510,6 +513,7 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
||||||
soundGrid->addWidget(soundPathEdit, 1, 1);
|
soundGrid->addWidget(soundPathEdit, 1, 1);
|
||||||
soundGrid->addWidget(soundPathClearButton, 1, 2);
|
soundGrid->addWidget(soundPathClearButton, 1, 2);
|
||||||
soundGrid->addWidget(soundPathButton, 1, 3);
|
soundGrid->addWidget(soundPathButton, 1, 3);
|
||||||
|
soundGrid->addWidget(soundTestButton, 2, 1);
|
||||||
|
|
||||||
soundGroupBox = new QGroupBox;
|
soundGroupBox = new QGroupBox;
|
||||||
soundGroupBox->setLayout(soundGrid);
|
soundGroupBox->setLayout(soundGrid);
|
||||||
|
@ -538,6 +542,7 @@ void UserInterfaceSettingsPage::retranslateUi()
|
||||||
tapAnimationCheckBox->setText(tr("&Tap/untap animation"));
|
tapAnimationCheckBox->setText(tr("&Tap/untap animation"));
|
||||||
soundEnabledCheckBox->setText(tr("Enable &sounds"));
|
soundEnabledCheckBox->setText(tr("Enable &sounds"));
|
||||||
soundPathLabel->setText(tr("Path to sounds directory:"));
|
soundPathLabel->setText(tr("Path to sounds directory:"));
|
||||||
|
soundTestButton->setText(tr("Test system sound engine"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void UserInterfaceSettingsPage::soundPathClearButtonClicked()
|
void UserInterfaceSettingsPage::soundPathClearButtonClicked()
|
||||||
|
|
|
@ -92,6 +92,7 @@ private:
|
||||||
QLabel *soundPathLabel;
|
QLabel *soundPathLabel;
|
||||||
QLineEdit *soundPathEdit;
|
QLineEdit *soundPathEdit;
|
||||||
QGroupBox *generalGroupBox, *animationGroupBox, *soundGroupBox;
|
QGroupBox *generalGroupBox, *animationGroupBox, *soundGroupBox;
|
||||||
|
QPushButton *soundTestButton;
|
||||||
public:
|
public:
|
||||||
UserInterfaceSettingsPage();
|
UserInterfaceSettingsPage();
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
|
|
|
@ -77,6 +77,10 @@ endif()
|
||||||
|
|
||||||
SET(QT_DONT_USE_QTGUI TRUE)
|
SET(QT_DONT_USE_QTGUI TRUE)
|
||||||
|
|
||||||
|
# Declare path variables
|
||||||
|
set(ICONDIR share/icons CACHE STRING "icon dir")
|
||||||
|
set(DESKTOPDIR share/applications CACHE STRING "desktop file destination")
|
||||||
|
|
||||||
# Include directories
|
# Include directories
|
||||||
INCLUDE_DIRECTORIES(../common)
|
INCLUDE_DIRECTORIES(../common)
|
||||||
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
|
||||||
|
@ -112,6 +116,10 @@ if(UNIX)
|
||||||
INSTALL(TARGETS servatrice RUNTIME DESTINATION bin/)
|
INSTALL(TARGETS servatrice RUNTIME DESTINATION bin/)
|
||||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/servatrice.ini.example DESTINATION share/servatice/)
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/servatrice.ini.example DESTINATION share/servatice/)
|
||||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/servatrice.sql DESTINATION share/servatice/)
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/servatrice.sql DESTINATION share/servatice/)
|
||||||
|
|
||||||
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/servatrice.png DESTINATION ${ICONDIR}/hicolor/48x48/apps)
|
||||||
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/servatrice.svg DESTINATION ${ICONDIR}/hicolor/scalable/apps)
|
||||||
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/servatrice.desktop DESTINATION ${DESKTOPDIR})
|
||||||
endif()
|
endif()
|
||||||
elseif(WIN32)
|
elseif(WIN32)
|
||||||
INSTALL(TARGETS servatrice RUNTIME DESTINATION ./)
|
INSTALL(TARGETS servatrice RUNTIME DESTINATION ./)
|
||||||
|
|
|
@ -6,3 +6,5 @@ Name=Servatrice
|
||||||
Exec=servatrice
|
Exec=servatrice
|
||||||
Icon=servatrice
|
Icon=servatrice
|
||||||
Categories=Game;CardGame;
|
Categories=Game;CardGame;
|
||||||
|
Terminal=true
|
||||||
|
Comment=Game server for Cockatrice
|
||||||
|
|
Loading…
Reference in a new issue