Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
f7e5a249
Commit
f7e5a249
authored
Jun 14, 2014
by
Gavin Bisesi
Browse files
Merge pull request #83 from ctrlaltca/cmake-overhaul
Cmake overhaul
parents
50ac14e8
a35b6250
Changes
14
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
f7e5a249
tags
tags
build
build
*
*.qm
*.qm
.directory
.directory
CMakeLists.txt
View file @
f7e5a249
# Cockatrice's main CMakeLists.txt
#
# This is basically a wrapper to enable/disable the compilation
# of the different projects: servatrice, cockatrice, test
# This file sets all the variables shared between the projects
# like the installation path, compilation flags etc..
cmake_minimum_required
(
VERSION 2.6
)
cmake_minimum_required
(
VERSION 2.6
)
IF
(
CMAKE_CXX_COMPILER_ID MATCHES
"GNU|Clang"
)
set
(
PROJECT_NAME
"Cockatrice"
)
set
(
PROJECT_VERSION_MAJOR 0
)
set
(
PROJECT_VERSION_MINOR 0
)
set
(
PROJECT_VERSION_PATCH 1
)
set
(
PROJECT_VERSION
${
PROJECT_VERSION_MAJOR
}
.
${
PROJECT_VERSION_MINOR
}
.
${
PROJECT_VERSION_PATCH
}
)
# Defualt to "Release" build type
# User-provided value for CMAKE_BUILD_TYPE must be checked before the PROJECT() call
IF
(
DEFINED CMAKE_BUILD_TYPE
)
SET
(
CMAKE_BUILD_TYPE
${
CMAKE_BUILD_TYPE
}
CACHE STRING
"Type of build"
)
ELSE
()
SET
(
CMAKE_BUILD_TYPE Release CACHE STRING
"Type of build"
)
ENDIF
()
# A project name is needed for CPack
PROJECT
(
"
${
PROJECT_NAME
}
"
)
# Set conventional loops
set
(
CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true
)
# Define a proper install path
if
(
UNIX
)
if
(
APPLE
)
# MacOS X
# Due to the special bundle structure ignore
# the prefix eventually set by the user.
set
(
CMAKE_INSTALL_PREFIX
${
CMAKE_BINARY_DIR
}
/release
)
else
()
# Linux / BSD
if
(
CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
)
#fix package build
if
(
PREFIX
)
set
(
CMAKE_INSTALL_PREFIX
${
PREFIX
}
)
else
()
set
(
CMAKE_INSTALL_PREFIX /usr/local
)
endif
()
endif
()
endif
()
elseif
(
WIN32
)
set
(
CMAKE_INSTALL_PREFIX
${
CMAKE_BINARY_DIR
}
/release
)
endif
()
# Define proper compilation flags
IF
(
CMAKE_COMPILER_IS_GNUCC
)
# linux/gcc, bsd/gcc, windows/mingw
set
(
CMAKE_CXX_FLAGS_RELEASE
"-s -O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-ggdb -O0"
)
else
()
# other: osx/llvm, bsd/llvm
set
(
CMAKE_CXX_FLAGS_RELEASE
"-O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-g -O0"
)
ENDIF
(
CMAKE_COMPILER_IS_GNUCC
)
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
ADD_DEFINITIONS
(
"-DSFMT_MEXP=19937"
)
IF
(
CMAKE_CXX_COMPILER_ID MATCHES
"GNU|Clang"
)
ADD_DEFINITIONS
(
"-DSFMT_MEXP=19937"
)
ENDIF
()
ENDIF
()
#Find Qt4 and enable the needed features
FIND_PACKAGE
(
Qt4 REQUIRED
)
set
(
CMAKE_AUTOMOC TRUE
)
# Find other needed libraries
FIND_PACKAGE
(
Protobuf REQUIRED
)
# Compile servatrice (default off)
option
(
WITH_SERVER
"build servatrice"
OFF
)
add_subdirectory
(
common
)
add_subdirectory
(
common
)
if
(
WITH_SERVER
)
if
(
WITH_SERVER
)
add_subdirectory
(
servatrice
)
add_subdirectory
(
servatrice
)
endif
(
WITH_SERVER
)
endif
()
if
(
NOT WITHOUT_CLIENT
)
add_subdirectory
(
cockatrice
)
# Compile cockatrice (default on)
add_subdirectory
(
oracle
)
option
(
WITH_CLIENT
"build cockatrice"
ON
)
endif
(
NOT WITHOUT_CLIENT
)
if
(
WITH_CLIENT
)
if
(
WITH_TESTCLIENT
)
add_subdirectory
(
cockatrice
)
add_subdirectory
(
testclient
)
add_subdirectory
(
sounds
)
endif
(
WITH_TESTCLIENT
)
add_subdirectory
(
zonebg
)
endif
()
FILE
(
GLOB sounds
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/sounds/*.raw"
)
# Compile oracle (default on)
INSTALL
(
FILES
${
sounds
}
DESTINATION share/cockatrice/sounds
)
option
(
WITH_ORACLE
"build oracle"
ON
)
FILE
(
GLOB zonebg
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/zonebg/*.*"
)
if
(
WITH_ORACLE
)
INSTALL
(
FILES
${
zonebg
}
DESTINATION share/cockatrice/zonebg
)
add_subdirectory
(
oracle
)
endif
()
# Compile testclient (default off)
option
(
WITH_TESTCLIENT
"build testclient"
OFF
)
if
(
WITH_TESTCLIENT
)
add_subdirectory
(
testclient
)
endif
()
\ No newline at end of file
cockatrice/CMakeLists.txt
View file @
f7e5a249
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
# CMakeLists for cockatrice directory
set
(
CMAKE_MODULE_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
)
#
# provides the cockatrice binary
PROJECT
(
cockatrice
)
PROJECT
(
cockatrice
)
SET
(
cockatrice_SOURCES
SET
(
cockatrice_SOURCES
src/abstractcounter.cpp
src/abstractcounter.cpp
src/counter_general.cpp
src/counter_general.cpp
src/dlg_creategame.cpp
src/dlg_creategame.cpp
src/dlg_filter_games.cpp
src/dlg_filter_games.cpp
src/dlg_connect.cpp
src/dlg_connect.cpp
src/dlg_create_token.cpp
src/dlg_create_token.cpp
src/dlg_edit_tokens.cpp
src/dlg_edit_tokens.cpp
src/abstractclient.cpp
src/abstractclient.cpp
src/remoteclient.cpp
src/remoteclient.cpp
src/main.cpp
src/main.cpp
src/window_main.cpp
src/window_main.cpp
src/gamesmodel.cpp
src/gamesmodel.cpp
src/player.cpp
src/player.cpp
src/playertarget.cpp
src/playertarget.cpp
src/cardzone.cpp
src/cardzone.cpp
src/selectzone.cpp
src/selectzone.cpp
src/cardlist.cpp
src/cardlist.cpp
src/abstractcarditem.cpp
src/abstractcarditem.cpp
src/carditem.cpp
src/carditem.cpp
src/tablezone.cpp
src/tablezone.cpp
src/handzone.cpp
src/handzone.cpp
src/handcounter.cpp
src/handcounter.cpp
src/carddatabase.cpp
src/carddatabase.cpp
src/keysignals.cpp
src/keysignals.cpp
src/gameview.cpp
src/gameview.cpp
src/gameselector.cpp
src/gameselector.cpp
src/decklistmodel.cpp
src/decklistmodel.cpp
src/deck_loader.cpp
src/deck_loader.cpp
src/dlg_load_deck_from_clipboard.cpp
src/dlg_load_deck_from_clipboard.cpp
src/dlg_load_remote_deck.cpp
src/dlg_load_remote_deck.cpp
src/cardinfowidget.cpp
src/cardinfowidget.cpp
src/cardframe.cpp
src/cardframe.cpp
src/cardinfopicture.cpp
src/cardinfopicture.cpp
src/cardinfotext.cpp
src/cardinfotext.cpp
src/filterbuilder.cpp
src/filterbuilder.cpp
src/cardfilter.cpp
src/cardfilter.cpp
src/filtertreemodel.cpp
src/filtertreemodel.cpp
src/filtertree.cpp
src/filtertree.cpp
src/messagelogwidget.cpp
src/messagelogwidget.cpp
src/zoneviewzone.cpp
src/zoneviewzone.cpp
src/zoneviewwidget.cpp
src/zoneviewwidget.cpp
src/pilezone.cpp
src/pilezone.cpp
src/stackzone.cpp
src/stackzone.cpp
src/carddragitem.cpp
src/carddragitem.cpp
src/carddatabasemodel.cpp
src/carddatabasemodel.cpp
src/setsmodel.cpp
src/setsmodel.cpp
src/window_sets.cpp
src/window_sets.cpp
src/abstractgraphicsitem.cpp
src/abstractgraphicsitem.cpp
src/abstractcarddragitem.cpp
src/abstractcarddragitem.cpp
src/dlg_settings.cpp
src/dlg_settings.cpp
src/dlg_cardsearch.cpp
src/dlg_cardsearch.cpp
src/phasestoolbar.cpp
src/phasestoolbar.cpp
src/gamescene.cpp
src/gamescene.cpp
src/arrowitem.cpp
src/arrowitem.cpp
src/arrowtarget.cpp
src/arrowtarget.cpp
src/tab.cpp
src/tab.cpp
src/tab_server.cpp
src/tab_server.cpp
src/tab_room.cpp
src/tab_room.cpp
src/tab_message.cpp
src/tab_message.cpp
src/tab_game.cpp
src/tab_game.cpp
src/tab_deck_storage.cpp
src/tab_deck_storage.cpp
src/tab_replays.cpp
src/tab_replays.cpp
src/tab_supervisor.cpp
src/tab_supervisor.cpp
src/tab_admin.cpp
src/tab_admin.cpp
src/tab_userlists.cpp
src/tab_userlists.cpp
src/tab_deck_editor.cpp
src/tab_deck_editor.cpp
src/replay_timeline_widget.cpp
src/replay_timeline_widget.cpp
src/deckstats_interface.cpp
src/deckstats_interface.cpp
src/chatview.cpp
src/chatview.cpp
src/userlist.cpp
src/userlist.cpp
src/userinfobox.cpp
src/userinfobox.cpp
src/user_context_menu.cpp
src/user_context_menu.cpp
src/remotedecklist_treewidget.cpp
src/remotedecklist_treewidget.cpp
src/remotereplaylist_treewidget.cpp
src/remotereplaylist_treewidget.cpp
src/deckview.cpp
src/deckview.cpp
src/playerlistwidget.cpp
src/playerlistwidget.cpp
src/pixmapgenerator.cpp
src/pixmapgenerator.cpp
src/settingscache.cpp
src/settingscache.cpp
src/localserver.cpp
src/localserver.cpp
src/localserverinterface.cpp
src/localserverinterface.cpp
src/localclient.cpp
src/localclient.cpp
src/priceupdater.cpp
src/priceupdater.cpp
src/qt-json/json.cpp
src/qt-json/json.cpp
src/soundengine.cpp
src/soundengine.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
src/pending_command.cpp
)
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
SET
(
cockatrice_HEADERS
src/abstractcounter.h
src/counter_general.h
src/dlg_creategame.h
src/dlg_filter_games.h
src/dlg_connect.h
src/dlg_create_token.h
src/dlg_edit_tokens.h
src/gamesmodel.h
src/abstractclient.h
src/remoteclient.h
src/window_main.h
src/cardzone.h
src/selectzone.h
src/player.h
src/playertarget.h
src/abstractcarditem.h
src/carditem.h
src/tablezone.h
src/handzone.h
src/handcounter.h
src/carddatabase.h
src/keysignals.h
src/gameview.h
src/gameselector.h
src/decklistmodel.h
src/deck_loader.h
src/dlg_load_deck_from_clipboard.h
src/dlg_load_remote_deck.h
src/cardinfowidget.h
src/cardframe.h
src/cardinfopicture.h
src/cardinfotext.h
src/filterbuilder.h
src/cardfilter.h
src/filtertreemodel.h
src/filtertree.h
src/messagelogwidget.h
src/zoneviewzone.h
src/zoneviewwidget.h
src/pilezone.h
src/stackzone.h
src/carddragitem.h
src/carddatabasemodel.h
src/setsmodel.h
src/window_sets.h
src/abstractgraphicsitem.h
src/abstractcarddragitem.h
src/dlg_settings.h
src/dlg_cardsearch.h
src/phasestoolbar.h
src/gamescene.h
src/arrowitem.h
src/arrowtarget.h
src/tab.h
src/tab_server.h
src/tab_room.h
src/tab_message.h
src/tab_game.h
src/tab_deck_storage.h
src/tab_replays.h
src/tab_supervisor.h
src/tab_admin.h
src/tab_userlists.h
src/tab_deck_editor.h
src/replay_timeline_widget.h
src/deckstats_interface.h
src/chatview.h
src/userlist.h
src/userinfobox.h
src/user_context_menu.h
src/remotedecklist_treewidget.h
src/remotereplaylist_treewidget.h
src/deckview.h
src/playerlistwidget.h
src/settingscache.h
src/localserver.h
src/localserverinterface.h
src/localclient.h
src/priceupdater.h
src/soundengine.h
src/pending_command.h
)
)
if
(
UNIX AND NOT APPLE
)
if
(
UNIX AND NOT APPLE
)
set_source_files_properties
(
src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"
${
CMAKE_INSTALL_PREFIX
}
/share/cockatrice/translations\\"
)
set_source_files_properties
(
src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"
${
CMAKE_INSTALL_PREFIX
}
/share/cockatrice/translations\\"
)
endif
(
UNIX AND NOT APPLE
)
endif
(
UNIX AND NOT APPLE
)
set
(
cockatrice_RESOURCES cockatrice.qrc
)
set
(
cockatrice_RESOURCES cockatrice.qrc
)
set
(
cockatrice_TS
set
(
cockatrice_TS
#
translations/cockatrice_cs.ts
# translations/cockatrice_cs.ts
translations/cockatrice_de.ts
translations/cockatrice_de.ts
translations/cockatrice_en.ts
translations/cockatrice_en.ts
translations/cockatrice_es.ts
translations/cockatrice_es.ts
#
translations/cockatrice_fr.ts
# translations/cockatrice_fr.ts
translations/cockatrice_it.ts
translations/cockatrice_it.ts
translations/cockatrice_ja.ts
translations/cockatrice_ja.ts
#
translations/cockatrice_pl.ts
# translations/cockatrice_pl.ts
#
translations/cockatrice_pt-br.ts
# translations/cockatrice_pt-br.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
translations/cockatrice_sv.ts
translations/cockatrice_sv.ts
#
translations/cockatrice_zh_CN.ts
#
translations/cockatrice_zh_CN.ts
)
)
if
(
WIN32
)
if
(
WIN32
)
set
(
cockatrice_SOURCES
${
cockatrice_SOURCES
}
cockatrice.rc
)
set
(
cockatrice_SOURCES
${
cockatrice_SOURCES
}
cockatrice.rc
)
endif
(
WIN32
)
endif
(
WIN32
)
if
(
APPLE
)
if
(
APPLE
)
set
(
MACOSX_BUNDLE_ICON_FILE appicon.icns
)
set
(
MACOSX_BUNDLE_ICON_FILE appicon.icns
)
set_source_files_properties
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/appicon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources
)
set_source_files_properties
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/appicon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources
)
set
(
cockatrice_SOURCES
${
cockatrice_SOURCES
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/appicon.icns
)
set
(
cockatrice_SOURCES
${
cockatrice_SOURCES
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/appicon.icns
)
ENDIF
(
APPLE
)
ENDIF
(
APPLE
)
if
(
NOT QT_QTMULTIMEDIA_FOUND
)
FIND_PACKAGE
(
QtMobility REQUIRED
)
endif
(
NOT QT_QTMULTIMEDIA_FOUND
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTMULTIMEDIA TRUE
)
SET
(
QT_USE_QTMULTIMEDIA TRUE
)
SET
(
QT_USE_QTXML TRUE
)
SET
(
QT_USE_QTXML TRUE
)
SET
(
QT_USE_QTSVG TRUE
)
SET
(
QT_USE_QTSVG TRUE
)
FIND_PACKAGE
(
Qt4 REQUIRED
)
if
(
NOT QT_QTMULTIMEDIA_FOUND
)
FIND_PACKAGE
(
QtMobility REQUIRED
)
endif
(
NOT QT_QTMULTIMEDIA_FOUND
)
FIND_PACKAGE
(
Protobuf REQUIRED
)
FIND_PACKAGE
(
Threads
)
IF
(
CMAKE_COMPILER_IS_GNUCC
)
# Declare path variables
set
(
CMAKE_CXX_FLAGS_RELEASE
"-s -O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-ggdb -O0"
)
ELSE
(
CMAKE_COMPILER_IS_GNUCC
)
set
(
CMAKE_CXX_FLAGS_RELEASE
"-O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-g -O0"
)
ENDIF
(
CMAKE_COMPILER_IS_GNUCC
)
# paths
set
(
ICONDIR share/icons CACHE STRING
"icon dir"
)
set
(
ICONDIR share/icons CACHE STRING
"icon dir"
)
set
(
DESKTOPDIR share/applications CACHE STRING
"desktop file destination"
)
set
(
DESKTOPDIR share/applications CACHE STRING
"desktop file destination"
)
# Let cmake chew Qt4's translations and resource files
QT4_WRAP_CPP
(
cockatrice_HEADERS_MOC
${
cock
at
r
ic
e_HEADERS
}
)
# Note: header files are MOC-ed autom
atic
ally by cmake
QT4_ADD_TRANSLATION
(
cockatrice_QM
${
cockatrice_TS
}
)
QT4_ADD_TRANSLATION
(
cockatrice_QM
${
cockatrice_TS
}
)
QT4_ADD_RESOURCES
(
cockatrice_RESOURCES_RCC
${
cockatrice_RESOURCES
}
)
QT4_ADD_RESOURCES
(
cockatrice_RESOURCES_RCC
${
cockatrice_RESOURCES
}
)
# Include directories
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE_DIRECTORIES
(
../common
)
INCLUDE_DIRECTORIES
(
../common
)
INCLUDE_DIRECTORIES
(
${
PROTOBUF_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
PROTOBUF_INCLUDE_DIR
}
)
...
@@ -240,23 +152,58 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
...
@@ -240,23 +152,58 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES
(
${
QT_MOBILITY_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
QT_MOBILITY_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
QT_MOBILITY_MULTIMEDIAKIT_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
QT_MOBILITY_MULTIMEDIAKIT_INCLUDE_DIR
}
)
ADD_EXECUTABLE
(
cockatrice WIN32 MACOSX_BUNDLE
${
cockatrice_SOURCES
}
${
cockatrice_QM
}
${
cockatrice_RESOURCES_RCC
}
${
cockatrice_HEADERS_MOC
}
)
# Build cockatrice binary and link it
TARGET_LINK_LIBRARIES
(
cockatrice cockatrice_common
${
QT_LIBRARIES
}
${
QT_MOBILITY_MULTIMEDIAKIT_LIBRARY
}
${
CMAKE_THREAD_LIBS_INIT
}
)
ADD_EXECUTABLE
(
cockatrice WIN32 MACOSX_BUNDLE
${
cockatrice_SOURCES
}
${
cockatrice_QM
}
${
cockatrice_RESOURCES_RCC
}
${
cockatrice_MOC_SRCS
}
)
TARGET_LINK_LIBRARIES
(
cockatrice cockatrice_common
${
QT_LIBRARIES
}
${
QT_MOBILITY_MULTIMEDIAKIT_LIBRARY
}
)
IF
(
NOT APPLE
)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/cockatrice DESTINATION bin
)
if
(
UNIX
)
ELSE
(
APPLE
)
if
(
APPLE
)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/cockatrice.app DESTINATION bin
)
INSTALL
(
TARGETS cockatrice BUNDLE DESTINATION ./
)
ENDIF
(
NOT APPLE
)
INSTALL
(
FILES
${
cockatrice_QM
}
DESTINATION ./cockatrice.app/Contents/Resources/translations
)
if
(
NOT WIN32 AND NOT APPLE
)
else
()
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/cockatrice.png DESTINATION
${
ICONDIR
}
/hicolor/48x48/apps
)
# Assume linux
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/cockatrice.svg DESTINATION
${
ICONDIR
}
/hicolor/scalable/apps
)
INSTALL
(
TARGETS cockatrice RUNTIME DESTINATION bin/
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/cockatrice.desktop DESTINATION
${
DESKTOPDIR
}
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/cockatrice.png DESTINATION
${
ICONDIR
}
/hicolor/48x48/apps
)
INSTALL
(
FILES
${
cockatrice_QM
}
DESTINATION share/cockatrice/translations
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/resources/cockatrice.svg DESTINATION
${
ICONDIR
}
/hicolor/scalable/apps
)
ENDIF
(
NOT WIN32 AND NOT APPLE
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/cockatrice.desktop DESTINATION
${
DESKTOPDIR
}
)
INSTALL
(
FILES
${
cockatrice_QM
}
DESTINATION share/cockatrice/translations
)
endif
()
elseif
(
WIN32
)
INSTALL
(
TARGETS cockatrice RUNTIME DESTINATION ./
)
INSTALL
(
FILES
${
cockatrice_QM
}
DESTINATION ./translations
)
endif
()
add_custom_command
(
add_custom_command
(
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.h
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.h
COMMAND
${
CMAKE_COMMAND
}
-DSOURCE_DIR=
${
CMAKE_CURRENT_SOURCE_DIR
}
-P
${
CMAKE_CURRENT_SOURCE_DIR
}
/../common/getversion.cmake
COMMAND
${
CMAKE_COMMAND
}
-DSOURCE_DIR=
${
CMAKE_CURRENT_SOURCE_DIR
}
-P
${
CMAKE_CURRENT_SOURCE_DIR
}
/../common/getversion.cmake
)
)
if
(
APPLE
)
set
(
plugin_dest_dir ./cockatrice.app/Contents/Plugins
)
set
(
qtconf_dest_dir ./cockatrice.app/Contents/Resources
)
# note: no codecs in qt5
# note: phonon_backend => mediaservice
# note: needs platform on osx
if
(
CMAKE_BUILD_TYPE STREQUAL
"Debug"
)
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*_debug
\\
.dylib"
)
else
()
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/[^_]*
\\
.dylib"
)
endif
()
install
(
CODE
"
file(WRITE
\"
${
qtconf_dest_dir
}
/qt.conf
\"
\"
[Paths]
Plugins = Plugins
\"
)
"
COMPONENT Runtime
)
install
(
CODE
"
file(GLOB_RECURSE QTPLUGINS
\"
${
plugin_dest_dir
}
/*.dylib
\"
)
include(BundleUtilities)
fixup_bundle(
\"\$
{CMAKE_INSTALL_PREFIX}/cockatrice.app
\"
\"\$
{QTPLUGINS}
\"
\"
${
QT_LIBRARY_DIR
}
\"
)
"
COMPONENT Runtime
)
endif
()
cockatrice/src/keysignals.h
View file @
f7e5a249
#ifndef KEYSIGNALS_H
#define KEYSIGNALS_H
#include
<QObject>
#include
<QObject>
#include
<QEvent>
#include
<QEvent>
...
@@ -19,3 +22,5 @@ signals:
...
@@ -19,3 +22,5 @@ signals:
protected:
protected:
virtual
bool
eventFilter
(
QObject
*
,
QEvent
*
event
);
virtual
bool
eventFilter
(
QObject
*
,
QEvent
*
event
);
};
};
#endif
cockatrice/src/pending_command.cpp
0 → 100644
View file @
f7e5a249
#include
"pending_command.h"
PendingCommand
::
PendingCommand
(
const
CommandContainer
&
_commandContainer
,
QVariant
_extraData
)
:
commandContainer
(
_commandContainer
),
extraData
(
_extraData
),
ticks
(
0
)
{
}
CommandContainer
&
PendingCommand
::
getCommandContainer
()
{
return
commandContainer
;
}
void
PendingCommand
::
setExtraData
(
const
QVariant
&
_extraData
)
{
extraData
=
_extraData
;
}
QVariant
PendingCommand
::
getExtraData
()
const
{
return
extraData
;
}
void
PendingCommand
::
processResponse
(
const
Response
&
response
)
{
emit
finished
(
response
,
commandContainer
,
extraData
);
emit
finished
(
response
.
response_code
());
}
int
PendingCommand
::
tick
()
{
return
++
ticks
;
}
cockatrice/src/pending_command.h
View file @
f7e5a249
...
@@ -15,17 +15,12 @@ private:
...
@@ -15,17 +15,12 @@ private:
QVariant
extraData
;
QVariant
extraData
;
int
ticks
;
int
ticks
;
public:
public:
PendingCommand
(
const
CommandContainer
&
_commandContainer
,
QVariant
_extraData
=
QVariant
())
PendingCommand
(
const
CommandContainer
&
_commandContainer
,
QVariant
_extraData
=
QVariant
());
:
commandContainer
(
_commandContainer
),
extraData
(
_extraData
),
ticks
(
0
)
{
}
CommandContainer
&
getCommandContainer
();
CommandContainer
&
getCommandContainer
()
{
return
commandContainer
;
}
void
setExtraData
(
const
QVariant
&
_extraData
);
void
setExtraData
(
const
QVariant
&
_extraData
)
{
extraData
=
_extraData
;
}
QVariant
getExtraData
()
const
;
QVariant
getExtraData
()
const
{
return
extraData
;
}
void
processResponse
(
const
Response
&
response
);
void
processResponse
(
const
Response
&
response
)
int
tick
();
{
emit
finished
(
response
,
commandContainer
,
extraData
);
emit
finished
(
response
.
response_code
());
}
int
tick
()
{
return
++
ticks
;
}
};
};
#endif
#endif
common/CMakeLists.txt
View file @
f7e5a249
# CMakeLists for common directory
#
# provides the common library
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
add_subdirectory
(
pb
)
add_subdirectory
(
pb
)
SET
(
common_SOURCES
SET
(
common_SOURCES
decklist.cpp
decklist.cpp
get_pb_extension.cpp
get_pb_extension.cpp
rng_abstract.cpp
rng_abstract.cpp
rng_sfmt.cpp
rng_sfmt.cpp
server.cpp
server.cpp
server_abstractuserinterface.cpp
server_abstractuserinterface.cpp
server_arrow.cpp
server_arrow.cpp
server_card.cpp
server_arrowtarget.h
server_cardzone.cpp
server_card.cpp
server_counter.cpp
server_cardzone.cpp
server_game.cpp
server_counter.cpp
server_player.cpp
server_game.cpp
server_protocolhandler.cpp
server_database_interface.cpp
server_remoteuserinterface.cpp
server_player.cpp
server_response_containers.cpp
server_protocolhandler.cpp
server_room.cpp
server_remoteuserinterface.cpp
serverinfo_user_container.cpp
server_response_containers.cpp
sfmt/SFMT.c
server_room.cpp
)
serverinfo_user_container.cpp
SET
(
common_HEADERS
sfmt/SFMT.c
decklist.h
rng_abstract.h
rng_sfmt.h
server.h
server_arrowtarget.h
server_card.h
server_database_interface.h
server_game.h
server_player.h
server_protocolhandler.h
server_room.h
)
)
FIND_PACKAGE
(
Qt4 REQUIRED
)
FIND_PACKAGE
(
Protobuf REQUIRED
)
QT4_WRAP_CPP
(
common_HEADERS_MOC
${
common_HEADERS
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE_DIRECTORIES
(
pb
)
INCLUDE_DIRECTORIES
(
pb
)
INCLUDE_DIRECTORIES
(
sfmt
)
INCLUDE_DIRECTORIES
(
sfmt
)
INCLUDE_DIRECTORIES
(
${
PROTOBUF_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
PROTOBUF_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
add_library
(
cockatrice_common
${
common_SOURCES
}
${
common_HEADERS_MOC
}
)
add_library
(
cockatrice_common
${
common_SOURCES
}
${
common_MOC_SRCS
}
)
# Without this check, Linux will put -pthread out of order in link.txt and build will fail
target_link_libraries
(
cockatrice_common cockatrice_protocol
)
if
(
UNIX
)
target_link_libraries
(
cockatrice_common cockatrice_protocol pthread
)
else
(
UNIX
)
target_link_libraries
(
cockatrice_common cockatrice_protocol
)
endif
(
UNIX
)
common/pb/CMakeLists.txt
View file @
f7e5a249
# CMakeLists for common directory
#
# provides the protobuf interfaces
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
SET
(
PROTO_FILES
SET
(
PROTO_FILES
admin_commands.proto
admin_commands.proto
card_attributes.proto
card_attributes.proto
color.proto
color.proto
command_attach_card.proto
command_attach_card.proto
command_change_zone_properties.proto
command_change_zone_properties.proto
command_concede.proto
command_concede.proto
command_create_arrow.proto
command_create_arrow.proto
command_create_counter.proto
command_create_counter.proto
command_create_token.proto
command_create_token.proto
command_deck_del_dir.proto
command_deck_del_dir.proto
command_deck_del.proto
command_deck_del.proto
command_deck_download.proto
command_deck_download.proto
command_deck_list.proto
command_deck_list.proto
command_deck_new_dir.proto
command_deck_new_dir.proto
command_deck_select.proto
command_deck_select.proto
command_deck_upload.proto
command_deck_upload.proto
command_del_counter.proto
command_del_counter.proto
command_delete_arrow.proto
command_delete_arrow.proto
command_draw_cards.proto
command_draw_cards.proto
command_dump_zone.proto
command_dump_zone.proto
command_flip_card.proto
command_flip_card.proto
command_game_say.proto
command_game_say.proto
command_inc_card_counter.proto
command_inc_card_counter.proto
command_inc_counter.proto
command_inc_counter.proto
command_kick_from_game.proto
command_kick_from_game.proto
command_leave_game.proto
command_leave_game.proto
command_move_card.proto
command_move_card.proto
command_mulligan.proto
command_mulligan.proto
command_next_turn.proto
command_next_turn.proto
command_ready_start.proto
command_ready_start.proto
command_replay_delete_match.proto
command_replay_delete_match.proto
command_replay_list.proto
command_replay_list.proto
command_replay_download.proto
command_replay_download.proto
command_replay_modify_match.proto
command_replay_modify_match.proto
command_reveal_cards.proto
command_reveal_cards.proto
command_roll_die.proto
command_roll_die.proto
command_set_active_phase.proto
command_set_active_phase.proto
command_set_card_attr.proto
command_set_card_attr.proto
command_set_card_counter.proto
command_set_card_counter.proto
command_set_counter.proto
command_set_counter.proto
command_set_sideboard_plan.proto
command_set_sideboard_plan.proto
command_set_sideboard_lock.proto
command_set_sideboard_lock.proto
command_shuffle.proto
command_shuffle.proto
commands.proto
commands.proto
command_stop_dump_zone.proto
command_stop_dump_zone.proto
command_undo_draw.proto
command_undo_draw.proto
context_concede.proto
context_concede.proto
context_connection_state_changed.proto
context_connection_state_changed.proto
context_deck_select.proto
context_deck_select.proto
context_move_card.proto
context_move_card.proto
context_mulligan.proto
context_mulligan.proto
context_ping_changed.proto
context_ping_changed.proto
context_ready_start.proto
context_ready_start.proto
context_set_sideboard_lock.proto
context_set_sideboard_lock.proto
context_undo_draw.proto
context_undo_draw.proto
event_add_to_list.proto
event_add_to_list.proto
event_attach_card.proto
event_attach_card.proto
event_change_zone_properties.proto
event_change_zone_properties.proto
event_connection_closed.proto
event_connection_closed.proto
event_create_arrow.proto
event_create_arrow.proto
event_create_counter.proto
event_create_counter.proto
event_create_token.proto
event_create_token.proto
event_del_counter.proto
event_del_counter.proto
event_delete_arrow.proto
event_delete_arrow.proto
event_destroy_card.proto
event_destroy_card.proto
event_draw_cards.proto
event_draw_cards.proto
event_dump_zone.proto
event_dump_zone.proto
event_flip_card.proto
event_flip_card.proto
event_game_closed.proto
event_game_closed.proto
event_game_host_changed.proto
event_game_host_changed.proto
event_game_joined.proto
event_game_joined.proto
event_game_say.proto
event_game_say.proto
event_game_state_changed.proto
event_game_state_changed.proto
event_join.proto
event_join.proto
event_join_room.proto
event_join_room.proto
event_kicked.proto
event_kicked.proto
event_leave.proto
event_leave.proto
event_leave_room.proto
event_leave_room.proto
event_list_games.proto
event_list_games.proto
event_list_rooms.proto
event_list_rooms.proto
event_move_card.proto
event_move_card.proto
event_player_properties_changed.proto
event_player_properties_changed.proto
event_remove_from_list.proto
event_remove_from_list.proto
event_replay_added.proto
event_replay_added.proto
event_reveal_cards.proto
event_reveal_cards.proto
event_roll_die.proto
event_roll_die.proto
event_room_say.proto
event_room_say.proto
event_server_complete_list.proto
event_server_complete_list.proto
event_server_identification.proto
event_server_identification.proto
event_server_message.proto
event_server_message.proto
event_server_shutdown.proto
event_server_shutdown.proto
event_set_active_phase.proto
event_set_active_phase.proto
event_set_active_player.proto
event_set_active_player.proto
event_set_card_attr.proto
event_set_card_attr.proto
event_set_card_counter.proto
event_set_card_counter.proto
event_set_counter.proto
event_set_counter.proto
event_shuffle.proto
event_shuffle.proto
event_stop_dump_zone.proto
event_stop_dump_zone.proto
event_user_joined.proto
event_user_joined.proto
event_user_left.proto
event_user_left.proto
event_user_message.proto
event_user_message.proto
game_commands.proto
game_commands.proto
game_event_container.proto
game_event_container.proto
game_event_context.proto
game_event_context.proto
game_event.proto
game_event.proto
game_replay.proto
game_replay.proto
isl_message.proto
isl_message.proto
moderator_commands.proto
moderator_commands.proto
move_card_to_zone.proto
move_card_to_zone.proto
response_deck_download.proto
response_deck_download.proto
response_deck_list.proto
response_deck_list.proto
response_deck_upload.proto
response_deck_upload.proto
response_dump_zone.proto
response_dump_zone.proto
response_get_games_of_user.proto
response_get_games_of_user.proto
response_get_user_info.proto
response_get_user_info.proto
response_join_room.proto
response_join_room.proto
response_list_users.proto
response_list_users.proto
response_login.proto
response_login.proto
response_replay_download.proto
response_replay_download.proto
response_replay_list.proto
response_replay_list.proto
response.proto
response.proto
room_commands.proto
room_commands.proto
room_event.proto
room_event.proto
serverinfo_arrow.proto
serverinfo_arrow.proto
serverinfo_cardcounter.proto
serverinfo_cardcounter.proto
serverinfo_card.proto
serverinfo_card.proto
serverinfo_counter.proto
serverinfo_counter.proto
serverinfo_deckstorage.proto
serverinfo_deckstorage.proto
serverinfo_game.proto
serverinfo_game.proto
serverinfo_gametype.proto
serverinfo_gametype.proto
serverinfo_playerping.proto
serverinfo_playerping.proto
serverinfo_playerproperties.proto
serverinfo_playerproperties.proto
serverinfo_player.proto
serverinfo_player.proto
serverinfo_replay.proto
serverinfo_replay.proto
serverinfo_replay_match.proto
serverinfo_replay_match.proto
serverinfo_room.proto
serverinfo_room.proto
serverinfo_user.proto
serverinfo_user.proto
serverinfo_zone.proto
serverinfo_zone.proto
server_message.proto
server_message.proto
session_commands.proto
session_commands.proto
session_event.proto
session_event.proto
)
)
find_package
(
Protobuf REQUIRED
)
include_directories
(
${
PROTOBUF_INCLUDE_DIRS
}
)
include_directories
(
${
PROTOBUF_INCLUDE_DIRS
}
)
include_directories
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
include_directories
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
PROTOBUF_GENERATE_CPP
(
PROTO_SRCS PROTO_HDRS
${
PROTO_FILES
}
)
PROTOBUF_GENERATE_CPP
(
PROTO_SRCS PROTO_HDRS
${
PROTO_FILES
}
)
add_library
(
cockatrice_protocol
${
PROTO_SRCS
}
${
PROTO_HDRS
}
)
add_library
(
cockatrice_protocol
${
PROTO_SRCS
}
${
PROTO_HDRS
}
)
set
(
cockatrice_protocol_LIBS
${
PROTOBUF_LIBRARIES
}
)
set
(
cockatrice_protocol_LIBS
${
PROTOBUF_LIBRARIES
}
)
if
(
WIN32
)
if
(
MSVC
)
set
(
cockatrice_protocol_LIBS
${
cockatrice_protocol_LIBS
}
-lprotobuf
)
set
(
cockatrice_protocol_LIBS
${
cockatrice_protocol_LIBS
}
-lprotobuf
)
endif
(
WIN32
)
endif
(
MSVC
)
if
(
UNIX
)
set
(
cockatrice_protocol_LIBS
${
cockatrice_protocol_LIBS
}
-lpthread
)
endif
(
UNIX
)
target_link_libraries
(
cockatrice_protocol
${
cockatrice_protocol_LIBS
}
)
target_link_libraries
(
cockatrice_protocol
${
cockatrice_protocol_LIBS
}
)
common/server_arrowtarget.cpp
0 → 100644
View file @
f7e5a249
#include
"server_arrowtarget.h"
\ No newline at end of file
common/server_database_interface.cpp
0 → 100644
View file @
f7e5a249
#include
"server_database_interface.h"
oracle/CMakeLists.txt
View file @
f7e5a249
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
# CMakeLists for oracle directory
#
# provides the oracle binary
PROJECT
(
oracle
)
PROJECT
(
oracle
)
# paths
# paths
set
(
DESKTOPDIR share/applications CACHE STRING
"path to .desktop files"
)
set
(
DESKTOPDIR share/applications CACHE STRING
"path to .desktop files"
)
SET
(
oracle_SOURCES src/main.cpp src/oracleimporter.cpp src/window_main.cpp ../cockatrice/src/carddatabase.cpp ../cockatrice/src/settingscache.cpp
)
SET
(
oracle_SOURCES
SET
(
oracle_HEADERS src/oracleimporter.h src/window_main.h ../cockatrice/src/carddatabase.h ../cockatrice/src/settingscache.h
)
src/main.cpp
src/oracleimporter.cpp
src/window_main.cpp
../cockatrice/src/carddatabase.cpp
../cockatrice/src/settingscache.cpp
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTXML TRUE
)
SET
(
QT_USE_QTXML TRUE
)
SET
(
QT_USE_QTSVG TRUE
)
SET
(
QT_USE_QTSVG TRUE
)
FIND_PACKAGE
(
Qt4 REQUIRED
)
# Include directories
set
(
CMAKE_BUILD_TYPE Release
)
IF
(
CMAKE_COMPILER_IS_GNUCC
)
set
(
CMAKE_CXX_FLAGS_RELEASE
"-s -O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-ggdb -O0"
)
ELSE
(
CMAKE_COMPILER_IS_GNUCC
)
set
(
CMAKE_CXX_FLAGS_RELEASE
"-O2"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-g -O0"
)
ENDIF
(
CMAKE_COMPILER_IS_GNUCC
)
QT4_WRAP_CPP
(
oracle_HEADERS_MOC
${
oracle_HEADERS
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE_DIRECTORIES
(
../cockatrice/src
)
INCLUDE_DIRECTORIES
(
../cockatrice/src
)
ADD_EXECUTABLE
(
oracle WIN32 MACOSX_BUNDLE
${
oracle_SOURCES
}
${
oracle_HEADERS_MOC
}
)
# Build oracle binary and link it
ADD_EXECUTABLE
(
oracle WIN32 MACOSX_BUNDLE
${
oracle_SOURCES
}
${
oracle_MOC_SRCS
}
)
TARGET_LINK_LIBRARIES
(
oracle
${
QT_LIBRARIES
}
)
TARGET_LINK_LIBRARIES
(
oracle
${
QT_LIBRARIES
}
)
IF
(
NOT APPLE
)
if
(
UNIX
)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/oracle DESTINATION bin
)
if
(
APPLE
)
ELSE
(
APPLE
)
INSTALL
(
TARGETS oracle BUNDLE DESTINATION ./
)
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/oracle.app DESTINATION bin
)
else
()
ENDIF
(
NOT APPLE
)
# Assume linux
INSTALL
(
TARGETS oracle RUNTIME DESTINATION bin/
)
endif
()
elseif
(
WIN32
)
INSTALL
(
TARGETS oracle RUNTIME DESTINATION ./
)
endif
()
IF
(
NOT WIN32 AND NOT APPLE
)
IF
(
NOT WIN32 AND NOT APPLE
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/oracle.desktop DESTINATION
${
DESKTOPDIR
}
)
INSTALL
(
FILES
${
CMAKE_CURRENT_SOURCE_DIR
}
/oracle.desktop DESTINATION
${
DESKTOPDIR
}
)
ENDIF
(
NOT WIN32 AND NOT APPLE
)
ENDIF
(
NOT WIN32 AND NOT APPLE
)
if
(
APPLE
)
set
(
plugin_dest_dir ./oracle.app/Contents/Plugins
)
set
(
qtconf_dest_dir ./oracle.app/Contents/Resources
)
# note: no codecs in qt5
# note: phonon_backend => mediaservice
# note: needs platform on osx
if
(
CMAKE_BUILD_TYPE STREQUAL
"Debug"
)
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*_debug
\\
.dylib"
)
else
()
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/[^_]*
\\
.dylib"
)
endif
()
install
(
CODE
"
file(WRITE
\"
${
qtconf_dest_dir
}
/qt.conf
\"
\"
[Paths]
Plugins = Plugins
\"
)
"
COMPONENT Runtime
)
install
(
CODE
"
file(GLOB_RECURSE QTPLUGINS
\"
${
plugin_dest_dir
}
/*.dylib
\"
)
include(BundleUtilities)
fixup_bundle(
\"\$
{CMAKE_INSTALL_PREFIX}/oracle.app
\"
\"\$
{QTPLUGINS}
\"
\"
${
QT_LIBRARY_DIR
}
\"
)
"
COMPONENT Runtime
)
endif
()
servatrice/CMakeLists.txt
View file @
f7e5a249
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
# CMakeLists for servatrice directory
SET
(
CMAKE_MODULE_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
)
#
# provides the servatrice binary
PROJECT
(
servatrice
)
PROJECT
(
servatrice
)
# cmake modules
# cmake module for libgcrypt is included in current directory
include
(
GNUInstallDirs
)
SET
(
CMAKE_MODULE_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
)
FIND_PACKAGE
(
Libgcrypt REQUIRED
)
SET
(
servatrice_SOURCES
SET
(
servatrice_SOURCES
src/main.cpp
src/main.cpp
src/passwordhasher.cpp
src/passwordhasher.cpp
src/servatrice.cpp
src/servatrice.cpp
src/servatrice_connection_pool.cpp
src/servatrice_connection_pool.cpp
src/servatrice_database_interface.cpp
src/servatrice_database_interface.cpp
src/server_logger.cpp
src/server_logger.cpp
src/serversocketinterface.cpp
src/serversocketinterface.cpp
src/isl_interface.cpp
src/isl_interface.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
)
SET
(
servatrice_HEADERS
src/servatrice.h
src/servatrice_connection_pool.h
src/servatrice_database_interface.h
src/server_logger.h
src/serversocketinterface.h
src/isl_interface.h
)
)
SET
(
QT_DONTUSE_QTGUI
)
SET
(
QT_DONTUSE_QTGUI
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTNETWORK TRUE
)
SET
(
QT_USE_QTSQL TRUE
)
SET
(
QT_USE_QTSQL TRUE
)
FIND_PACKAGE
(
Qt4 REQUIRED
)
FIND_PACKAGE
(
Protobuf REQUIRED
)
FIND_PACKAGE
(
Libgcrypt REQUIRED
)
FIND_PACKAGE
(
Threads
)
#set(CMAKE_BUILD_TYPE Release)
set
(
CMAKE_CXX_FLAGS_DEBUG
"-ggdb -O2"
)
set
(
CMAKE_CXX_FLAGS_RELEASE
"-O2"
)
QT4_WRAP_CPP
(
servatrice_HEADERS_MOC
${
servatrice_HEADERS
}
)
# Include directories
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE
(
${
QT_USE_FILE
}
)
INCLUDE_DIRECTORIES
(
../common
)
INCLUDE_DIRECTORIES
(
../common
)
INCLUDE_DIRECTORIES
(
${
LIBGCRYPT_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
LIBGCRYPT_INCLUDE_DIR
}
)
...
@@ -46,14 +32,53 @@ INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
...
@@ -46,14 +32,53 @@ INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
/../common
)
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
/../common
)
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
INCLUDE_DIRECTORIES
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
ADD_EXECUTABLE
(
servatrice
${
servatrice_SOURCES
}
${
servatrice_HEADERS_MOC
}
)
# Build servatrice binary and link it
ADD_EXECUTABLE
(
servatrice MACOSX_BUNDLE
${
servatrice_SOURCES
}
${
servatrice_MOC_SRCS
}
)
TARGET_LINK_LIBRARIES
(
servatrice cockatrice_common
${
QT_LIBRARIES
}
${
LIBGCRYPT_LIBRARY
}
${
CMAKE_THREAD_LIBS_INIT
}
)
TARGET_LINK_LIBRARIES
(
servatrice cockatrice_common
${
QT_LIBRARIES
}
${
LIBGCRYPT_LIBRARY
}
${
CMAKE_THREAD_LIBS_INIT
}
)
#add_custom_target(versionheader ALL DEPENDS version_header)
#add_custom_target(versionheader ALL DEPENDS version_header)
add_custom_command
(
add_custom_command
(
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.h
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.h
${
CMAKE_CURRENT_BINARY_DIR
}
/version_string.cpp
COMMAND
${
CMAKE_COMMAND
}
-DSOURCE_DIR=
${
CMAKE_CURRENT_SOURCE_DIR
}
-P
${
CMAKE_CURRENT_SOURCE_DIR
}
/../common/getversion.cmake
COMMAND
${
CMAKE_COMMAND
}
-DSOURCE_DIR=
${
CMAKE_CURRENT_SOURCE_DIR
}
-P
${
CMAKE_CURRENT_SOURCE_DIR
}
/../common/getversion.cmake
)
)
# install rules
# install rules
INSTALL
(
PROGRAMS
${
CMAKE_CURRENT_BINARY_DIR
}
/servatrice DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
if
(
UNIX
)
if
(
APPLE
)
INSTALL
(
TARGETS servatrice BUNDLE DESTINATION ./
)
else
()
# Assume linux
INSTALL
(
TARGETS servatrice RUNTIME DESTINATION bin/
)
endif
()
elseif
(
WIN32
)
INSTALL
(
TARGETS servatrice RUNTIME DESTINATION ./
)
endif
()
if
(
APPLE
)
set
(
plugin_dest_dir ./servatrice.app/Contents/Plugins
)
set
(
qtconf_dest_dir ./servatrice.app/Contents/Resources
)
# note: no codecs in qt5
# note: phonon_backend => mediaservice
# note: needs platform on osx
if
(
CMAKE_BUILD_TYPE STREQUAL
"Debug"
)
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/.*_debug
\\
.dylib"
)
else
()
install
(
DIRECTORY
"
${
QT_PLUGINS_DIR
}
/"
DESTINATION
${
plugin_dest_dir
}
COMPONENT Runtime
FILES_MATCHING REGEX
"(codecs|iconengines|imageformats|mediaservice|phonon_backend|platforms)/[^_]*
\\
.dylib"
)
endif
()
install
(
CODE
"
file(WRITE
\"
${
qtconf_dest_dir
}
/qt.conf
\"
\"
[Paths]
Plugins = Plugins
\"
)
"
COMPONENT Runtime
)
install
(
CODE
"
file(GLOB_RECURSE QTPLUGINS
\"
${
plugin_dest_dir
}
/*.dylib
\"
)
include(BundleUtilities)
fixup_bundle(
\"\$
{CMAKE_INSTALL_PREFIX}/servatrice.app
\"
\"\$
{QTPLUGINS}
\"
\"
${
QT_LIBRARY_DIR
}
\"
)
"
COMPONENT Runtime
)
endif
()
sounds/CMakeLists.txt
0 → 100644
View file @
f7e5a249
# CMakeLists for sounds/ directory
#
# Installs default sound files
FILE
(
GLOB sounds
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/*.raw"
)
if
(
UNIX
)
if
(
APPLE
)
INSTALL
(
FILES
${
sounds
}
DESTINATION sounds/
)
else
()
# Assume linux
INSTALL
(
FILES
${
sounds
}
DESTINATION share/cockatrice/sounds/
)
endif
()
elseif
(
WIN32
)
INSTALL
(
FILES
${
sounds
}
DESTINATION sounds/
)
endif
()
\ No newline at end of file
zonebg/CMakeLists.txt
0 → 100644
View file @
f7e5a249
# CMakeLists for zonebg/ directory
#
# Installs default "zone background" files
FILE
(
GLOB zonebg
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/*.*"
)
if
(
UNIX
)
if
(
APPLE
)
INSTALL
(
FILES
${
zonebg
}
DESTINATION zonebg/
)
else
()
# Assume linux
INSTALL
(
FILES
${
zonebg
}
DESTINATION share/cockatrice/zonebg/
)
endif
()
elseif
(
WIN32
)
INSTALL
(
FILES
${
zonebg
}
DESTINATION zonebg/
)
endif
()
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment