Browse Source

conversion to the cmake building system

Signed-off-by: gregory guy <g-gregory@gmx.fr>
pull/2/head
gregory guy 10 months ago
parent
commit
7a0f90f280
No account linked to committer's email address
12 changed files with 398 additions and 13 deletions
  1. +78
    -0
      CMakeLists.txt
  2. +52
    -0
      ConfigureChecks.cmake
  3. +8
    -0
      config.h.cmake
  4. +1
    -0
      doc/CMakeLists.txt
  5. +0
    -0
      doc/en/index.docbook
  6. +16
    -12
      doc/fr/index.docbook
  7. +5
    -0
      doc/man/CMakeLists.txt
  8. +154
    -0
      doc/man/knights.1
  9. +55
    -0
      knights/CMakeLists.txt
  10. +23
    -0
      media/CMakeLists.txt
  11. +5
    -0
      po/CMakeLists.txt
  12. +1
    -1
      po/es.po

+ 78
- 0
CMakeLists.txt View File

@@ -0,0 +1,78 @@
############################################
# #
# Improvements and feedbacks are welcome #
# #
# This file is released under GPL >= 3 #
# #
############################################


cmake_minimum_required( VERSION 2.8 )


#### general package setup

project( knights )
set( VERSION R14.1.0 )


#### include essential cmake modules

include( FindPkgConfig )
include( CheckFunctionExists )
include( CheckIncludeFile )
include( CheckLibraryExists )
include( CheckCSourceCompiles )
include( CheckCXXSourceCompiles )


#### include our cmake modules

set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )


##### setup install paths

include( TDESetupPaths )
tde_setup_paths( )


##### optional stuff

option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )


##### user requested modules

option( BUILD_ALL "Build all" ON )
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )


##### configure checks

include( ConfigureChecks.cmake )


###### global compiler settings

add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST )

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )


##### directories

add_subdirectory( ${PROJECT_NAME} )
add_subdirectory( media )
tde_conditional_add_subdirectory( BUILD_DOC doc )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )


##### write configure files

configure_file( config.h.cmake config.h @ONLY )

+ 52
- 0
ConfigureChecks.cmake View File

@@ -0,0 +1,52 @@
###########################################
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 3 #
# #
###########################################


# required stuff
find_package( TQt )
find_package( TDE )

tde_setup_architecture_flags( )

include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)


##### check for gcc visibility support

if( WITH_GCC_VISIBILITY )
if( NOT UNIX )
tde_message_fatal( "gcc visibility support was requested, but your system is not *NIX" )
endif( NOT UNIX )
set( __KDE_HAVE_GCC_VISIBILITY 1 )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
endif( WITH_GCC_VISIBILITY )


##### gettext

if( BUILD_TRANSLATIONS )
include( FindGettext )
if( GETTEXT_FOUND )
set( MSGFMT_EXECUTABLE ${GETTEXT_MSGFMT_EXECUTABLE}
CACHE FILEPATH "path to msgfmt executable" )
endif( GETTEXT_FOUND )
if( NOT MSGFMT_EXECUTABLE )
tde_message_fatal( "msgfmt is required but was not found on your system." )
endif( NOT MSGFMT_EXECUTABLE )
endif( BUILD_TRANSLATIONS )


##### arts

pkg_search_module( ARTS arts )
if( NOT ARTS_FOUND )
message( FATAL_ERROR "\naRts is requested, but was not found on your system" )
endif( )

+ 8
- 0
config.h.cmake View File

@@ -0,0 +1,8 @@
#define VERSION "@VERSION@"

// Defined if you have fvisibility and fvisibility-inlines-hidden support.
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@

+ 1
- 0
doc/CMakeLists.txt View File

@@ -0,0 +1 @@
tde_auto_add_subdirectories( )

doc/help_en.docbook → doc/en/index.docbook View File


doc/help_fr.docbook → doc/fr/index.docbook View File

@@ -8,24 +8,28 @@

<book lang="&language;">
<bookinfo>
<title
> </title>
<title>
The Knights Handbook
</title>
<authorgroup>
<author
> </author>
<author>
<firstname>Troy</firstname>
<surname>Corbin Jr.</surname>
<affiliation>
<address>
<email>tcorbin@users.sf.net</email>
</address>
</affiliation>
</author>
<othercredit role="developer">
<firstname
>Troy</firstname>
<surname
>Corbin Jr.</surname>
<firstname>Troy</firstname>
<surname>Corbin Jr.</surname>
<affiliation>
<address>
<email
>tcorbin@users.sf.net</email>
<email>tcorbin@users.sf.net</email>
</address>
</affiliation>
<contrib
></contrib>
<contrib>Developer</contrib>
</othercredit>
</authorgroup>
<!-- TRANS:ROLES_OF_TRANSLATORS -->

+ 5
- 0
doc/man/CMakeLists.txt View File

@@ -0,0 +1,5 @@
INSTALL(
FILES ${PROJECT_NAME}.1
DESTINATION ${MAN_INSTALL_DIR}/man1
COMPONENT doc
)

+ 154
- 0
doc/man/knights.1 View File

@@ -0,0 +1,154 @@
.\" This file was generated by kdemangen.pl
.TH KNIGHTS 1 "Jun 2004" "Trinity Desktop Environment" "The Knights Chess Interface"
.SH NAME
knights
- The Knights Chess Interface
.SH SYNOPSIS
knights [Qt-options] [TDE-options] [options] [filename]
.SH DESCRIPTION
The Knights Chess Interface
.SH OPTIONS
.SS
.SS Arguments:
.TP
.B filename
A .pgn file to be loaded.
.SS Options:
.B -d <path>
Specify the location of your Knights data directory.
.SS Generic options:
.TP
.B --help
Show help about options
.TP
.B --help-qt
Show Qt specific options
.TP
.B --help-tde
Show TDE specific options
.TP
.B --help-all
Show all options
.TP
.B --author
Show author information
.TP
.B -v, --version
Show version information
.TP
.B --license
Show license information
.TP
.B --
End of options
.SS
.SS TDE options:
.TP
.B --caption <caption>
Use 'caption' as name in the titlebar.
.TP
.B --icon <icon>
Use 'icon' as the application icon.
.TP
.B --miniicon <icon>
Use 'icon' as the icon in the titlebar.
.TP
.B --config <filename>
Use alternative configuration file.
.TP
.B --dcopserver <server>
Use the DCOP Server specified by 'server'.
.TP
.B --nocrashhandler
Disable crash handler, to get core dumps.
.TP
.B --waitforwm
Waits for a WM_NET compatible windowmanager.
.TP
.B --style <style>
sets the application GUI style.
.TP
.B --geometry <geometry>
sets the client geometry of the main widget.
.SS
.SS Qt options:
.TP
.B --display <displayname>
Use the X-server display 'displayname'.
.TP
.B --session <sessionId>
Restore the application for the given 'sessionId'.
.TP
.B --cmap
Causes the application to install a private color
map on an 8-bit display.
.TP
.B --ncols <count>
Limits the number of colors allocated in the color
cube on an 8-bit display, if the application is
using the QApplication::ManyColor color
specification.
.TP
.B --nograb
tells Qt to never grab the mouse or the keyboard.
.TP
.B --dograb
running under a debugger can cause an implicit
-nograb, use -dograb to override.
.TP
.B --sync
switches to synchronous mode for debugging.
.TP
.B --fn, --font <fontname>
defines the application font.
.TP
.B --bg, --background <color>
sets the default background color and an
application palette (light and dark shades are
calculated).
.TP
.B --fg, --foreground <color>
sets the default foreground color.
.TP
.B --btn, --button <color>
sets the default button color.
.TP
.B --name <name>
sets the application name.
.TP
.B --title <title>
sets the application title (caption).
.TP
.B --visual TrueColor
forces the application to use a TrueColor visual on
an 8-bit display.
.TP
.B --inputstyle <inputstyle>
sets XIM (X Input Method) input style. Possible
values are onthespot, overthespot, offthespot and
root.
.TP
.B --im <XIM server>
set XIM server.
.TP
.B --noxim
disable XIM.
.TP
.B --reverse
mirrors the whole layout of widgets.
.SS

.SH SEE ALSO
Full user documentation is available through the TDE Help Center. You can also enter the URL
.BR help:/knights/
directly into konqueror or you can run
.BR "`khelpcenter help:/knights/'"
from the command-line.
.br
.SH AUTHORS
.nf
Troy Corbin Jr. <tcorbin@users.sourceforge.net>
.br
Alexander Wels <agpwels@adelphia.net>
.br


+ 55
- 0
knights/CMakeLists.txt View File

@@ -0,0 +1,55 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)

link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)


##### knights (executable)

tde_add_executable( ${PROJECT_NAME} AUTOMOC

SOURCES
board_2d.cpp board_base.cpp setpagedisplay.cpp
proto_xboard.cpp dlg_selectengine.cpp thinbuttons.cpp
pgn.cpp io_engine.cpp dlg_challenge.cpp idmanager.cpp
challenge_graph.cpp dlg_login.cpp tabgrip.cpp
tabpage.cpp tab_seeklist.cpp dlg_engine.cpp
setpageaudio.cpp proto_base.cpp dlg_server.cpp
core.cpp match_param.cpp knightspixcache.cpp
dlg_settings.cpp console.cpp match.cpp
setpagegeneral.cpp splash.cpp audio.cpp
main.cpp logic.cpp list_pgn.cpp challenge_graph_view.cpp
accel.cpp dlg_selectemail.cpp challenge_rectangle.cpp
knightstextview.cpp tabmanager.cpp command.cpp
dlg_newmatch.cpp chessclock.cpp dlg_promote.cpp
resource.cpp tabbox.cpp io_internet.cpp
challenge_game.cpp knights.cpp tab_pgnview.cpp
io_base.cpp wiz_setup.cpp setpageservers.cpp
proto_uci.cpp setpageengines.cpp
LINK
tdecore-shared tdeui-shared tdeio-shared tdeprint-shared
artskde-shared artsflow_idl kmedia2_idl soundserver_idl mcop
DESTINATION ${BIN_INSTALL_DIR}
)


##### other data

install(
FILES pgn.desktop
DESTINATION ${MIME_INSTALL_DIR}/application
)

install(
FILES ${PROJECT_NAME}.desktop
DESTINATION ${APPS_INSTALL_DIR}/Games/Board
)

+ 23
- 0
media/CMakeLists.txt View File

@@ -0,0 +1,23 @@
tde_install_icons()

install(
FILES
pgn_template.kml
default-portrait.jpg
wizard.png
splash.png
icon-general.png
default-engine-portrait.jpg
icon-display.png

DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
)

install(
FILES
KBDefault.tar.gz
KSDefault.tar.gz
KCDefault.tar.gz
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/themes
)

+ 5
- 0
po/CMakeLists.txt View File

@@ -0,0 +1,5 @@
file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )

if( _srcs )
tde_create_translation( LANG auto OUTPUT_NAME ${PROJECT_NAME} )
endif( )

+ 1
- 1
po/es.po View File

@@ -11,7 +11,7 @@ msgstr ""
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: accel.cpp:23

Loading…
Cancel
Save