diff options
author | gregory guy <g-gregory@gmx.fr> | 2019-01-04 14:28:13 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2019-01-05 14:31:40 +0100 |
commit | 7bb6dfc4022646097af59390c751440b387b4383 (patch) | |
tree | 3123f7ee67d75e92a948541f2c10169a41adf66d | |
parent | adee82c94d8922bb526d84d27732b59059da0706 (diff) | |
download | knights-7bb6dfc4022646097af59390c751440b387b4383.tar.gz knights-7bb6dfc4022646097af59390c751440b387b4383.zip |
conversion to the cmake building system
Signed-off-by: gregory guy <g-gregory@gmx.fr>
(cherry picked from commit 7a0f90f2809ec97436f55aab39ddc5a0a2452b0e)
-rw-r--r-- | CMakeLists.txt | 78 | ||||
-rw-r--r-- | ConfigureChecks.cmake | 52 | ||||
-rw-r--r-- | config.h.cmake | 8 | ||||
-rw-r--r-- | doc/CMakeLists.txt | 1 | ||||
-rw-r--r-- | doc/en/index.docbook (renamed from doc/help_en.docbook) | 0 | ||||
-rw-r--r-- | doc/fr/index.docbook (renamed from doc/help_fr.docbook) | 28 | ||||
-rw-r--r-- | doc/man/CMakeLists.txt | 5 | ||||
-rw-r--r-- | doc/man/knights.1 | 154 | ||||
-rw-r--r-- | knights/CMakeLists.txt | 55 | ||||
-rw-r--r-- | media/CMakeLists.txt | 23 | ||||
-rw-r--r-- | po/CMakeLists.txt | 5 | ||||
-rw-r--r-- | po/es.po | 2 |
12 files changed, 398 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c232807 --- /dev/null +++ b/CMakeLists.txt @@ -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 -UQT_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 ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..f1eea06 --- /dev/null +++ b/ConfigureChecks.cmake @@ -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( ) diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 index 0000000..61ede3a --- /dev/null +++ b/config.h.cmake @@ -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@ diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..6d0aa9f --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1 @@ +tde_auto_add_subdirectories( ) diff --git a/doc/help_en.docbook b/doc/en/index.docbook index 6bc3be7..6bc3be7 100644 --- a/doc/help_en.docbook +++ b/doc/en/index.docbook diff --git a/doc/help_fr.docbook b/doc/fr/index.docbook index bd052bb..274c59a 100644 --- a/doc/help_fr.docbook +++ b/doc/fr/index.docbook @@ -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 --> diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt new file mode 100644 index 0000000..8512250 --- /dev/null +++ b/doc/man/CMakeLists.txt @@ -0,0 +1,5 @@ +INSTALL( + FILES ${PROJECT_NAME}.1 + DESTINATION ${MAN_INSTALL_DIR}/man1 + COMPONENT doc +) diff --git a/doc/man/knights.1 b/doc/man/knights.1 new file mode 100644 index 0000000..b62873a --- /dev/null +++ b/doc/man/knights.1 @@ -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 + diff --git a/knights/CMakeLists.txt b/knights/CMakeLists.txt new file mode 100644 index 0000000..e3239d9 --- /dev/null +++ b/knights/CMakeLists.txt @@ -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 +) diff --git a/media/CMakeLists.txt b/media/CMakeLists.txt new file mode 100644 index 0000000..f807c20 --- /dev/null +++ b/media/CMakeLists.txt @@ -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 +) diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..f943cac --- /dev/null +++ b/po/CMakeLists.txt @@ -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( ) @@ -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 |