summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgregory guy <gregory-tde@laposte.net>2020-08-19 16:05:44 +0200
committergregory guy <gregory-tde@laposte.net>2020-08-20 13:23:31 +0200
commit61e3123dccf41518a4959991c2e1ca53896ed945 (patch)
treec836eebbca16e2d167e88eae8bb65048f2526cdc
parent12bd04ac0f9ca9e0fba934f89a8a56465f1f2efb (diff)
downloadtdepacman-61e3123dccf41518a4959991c2e1ca53896ed945.tar.gz
tdepacman-61e3123dccf41518a4959991c2e1ca53896ed945.zip
conversion to the cmake building system.
Signed-off-by: gregory guy <gregory-tde@laposte.net>
-rw-r--r--CMakeLists.txt81
-rw-r--r--ConfigureChecks.cmake34
-rw-r--r--INSTALL174
-rw-r--r--README20
-rw-r--r--config.h.cmake8
-rw-r--r--[-rwxr-xr-x]configure0
-rw-r--r--doc/CMakeLists.txt14
-rw-r--r--doc/de/CMakeLists.txt6
-rw-r--r--doc/en/CMakeLists.txt8
-rw-r--r--fonts/CMakeLists.txt6
-rw-r--r--kpacman/CMakeLists.txt65
-rw-r--r--kpacman/keys.cpp2
-rw-r--r--kpacman/kpacman.cpp2
-rw-r--r--kpacman/kpacman.desktop4
-rw-r--r--kpacman/kpacmanview.cpp2
-rw-r--r--kpacman/referee.cpp2
-rw-r--r--kpacman/score.cpp2
-rw-r--r--kpacman/status.cpp2
-rw-r--r--maps/CMakeLists.txt2
-rw-r--r--maps/mspacman/CMakeLists.txt6
-rw-r--r--pics/CMakeLists.txt10
-rw-r--r--pics/mspacman-tiny/CMakeLists.txt8
-rw-r--r--pics/mspacman/CMakeLists.txt8
-rw-r--r--pics/tiny/CMakeLists.txt8
-rw-r--r--pics/zacman/CMakeLists.txt8
-rw-r--r--po/CMakeLists.txt14
26 files changed, 335 insertions, 161 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..650b9da
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,81 @@
+############################################
+# #
+# Improvements and feedbacks are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+############################################
+
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+#### general package setup
+
+project( kpacman )
+set( VERSION R14.1.0 )
+
+
+#### include essential cmake modules
+
+include( FindPkgConfig )
+include( CheckFunctionExists )
+include( CheckSymbolExists )
+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 (Qt2 stuff: TQArray vs TQMemArray -- tqmemarray.h)
+
+add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST -UTQT_NO_COMPAT )
+
+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( maps )
+add_subdirectory( pics )
+add_subdirectory( fonts )
+add_subdirectory( kpacman )
+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..255861b
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,34 @@
+###########################################
+# #
+# 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)
+
+tde_setup_largefiles( )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+ tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
+
+
+##### look for tdegames
+
+pkg_search_module( TDEGAMES libtdegames )
+
+if( NOT TDEGAMES_FOUND )
+ tde_message_fatal( "libtdegames is required but was not found on your system" )
+endif()
diff --git a/INSTALL b/INSTALL
index 02a4a07..fa66f55 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,167 +1,23 @@
Basic Installation
==================
- These are generic installation instructions.
+kpacman relies on cmake to build.
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
+Here are suggested default options:
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
+ -DCMAKE_INSTALL_PREFIX="/opt/trinity" \
+ -DCONFIG_INSTALL_DIR="/etc/trinity" \
+ -DSYSCONF_INSTALL_DIR="/etc/trinity" \
+ -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_VERBOSE_MAKEFILE="ON" \
+ -DCMAKE_SKIP_RPATH="OFF" \
+ -DBUILD_ALL="ON" \
+ -DWITH_ALL_OPTIONS="ON"
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes a while. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Type `make install' to install the programs and any data files and
- documentation.
-
- 4. You can remove the program binaries and object files from the
- source code directory by typing `make clean'.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
+Requirements:
+=============
+- tdelibs
+- libtdegames
diff --git a/README b/README
index e69de29..3686278 100644
--- a/README
+++ b/README
@@ -0,0 +1,20 @@
+
+ kpacman - A pacman game for KDE.
+
+
+Kpacman is a classic arcade game.
+Pac-Man was designed by Toru Iwatani, Namco first released the game in
+Japan in May 1980.
+
+
+
+ CONTRIBUTING
+==============
+
+If you wish to contribute to Kpacman (TDE), you might do so:
+
+- TDE Gitea Workspace (TGW) collaboration tool.
+ https://mirror.git.trinitydesktop.org/gitea
+
+- TDE Weblate Translation Workspace (TWTW) collaboration tool.
+ https://mirror.git.trinitydesktop.org/weblate
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/configure b/configure
index 4220766..4220766 100755..100644
--- a/configure
+++ b/configure
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..70d6348
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,14 @@
+file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
+string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
+
+foreach( _dir ${_dirs} )
+ if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} AND
+ EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}/CMakeLists.txt )
+ if( "${_dir}" STREQUAL "en" OR
+ "${_dir}" STREQUAL "man" OR
+ "${_linguas}" MATCHES "^;*$" OR
+ ";${_linguas};" MATCHES ";${_dir};" )
+ add_subdirectory( ${_dir} )
+ endif( )
+ endif()
+endforeach()
diff --git a/doc/de/CMakeLists.txt b/doc/de/CMakeLists.txt
new file mode 100644
index 0000000..beff083
--- /dev/null
+++ b/doc/de/CMakeLists.txt
@@ -0,0 +1,6 @@
+file( GLOB _files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.html )
+
+install(
+ FILES ${_files} kpacman.gif
+ DESTINATION ${HTML_INSTALL_DIR}/de/${PROJECT_NAME}
+)
diff --git a/doc/en/CMakeLists.txt b/doc/en/CMakeLists.txt
new file mode 100644
index 0000000..de864ad
--- /dev/null
+++ b/doc/en/CMakeLists.txt
@@ -0,0 +1,8 @@
+file( GLOB _files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.html )
+
+install(
+ FILES ${_files} kpacman.gif
+ DESTINATION ${HTML_INSTALL_DIR}/en/${PROJECT_NAME}
+)
+
+tde_create_handbook( DESTINATION ${PROJECT_NAME} )
diff --git a/fonts/CMakeLists.txt b/fonts/CMakeLists.txt
new file mode 100644
index 0000000..ddbfa8a
--- /dev/null
+++ b/fonts/CMakeLists.txt
@@ -0,0 +1,6 @@
+##### other data
+
+install(
+ FILES font-small.pbm font-smooth.pbm font.pbm
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/fonts
+)
diff --git a/kpacman/CMakeLists.txt b/kpacman/CMakeLists.txt
new file mode 100644
index 0000000..985e259
--- /dev/null
+++ b/kpacman/CMakeLists.txt
@@ -0,0 +1,65 @@
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${TDEGAMES_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+ ${TDEGAMES_LIBRARY_DIRS}
+)
+
+add_definitions( -fpermissive )
+
+
+##### kpacman (executable)
+
+tde_add_executable( ${PROJECT_NAME} AUTOMOC
+
+ SOURCES
+ kpacmanview.cpp
+ referee.cpp
+ status.cpp
+ painter.cpp
+ score.cpp
+ pacman.cpp
+ monster.cpp
+ keys.cpp
+ fruit.cpp
+ energizer.cpp
+ board.cpp
+ bitfont.cpp
+ kpacman.cpp
+ main.cpp
+ LINK
+ tdeui-shared
+ tdecore-shared
+ ${TDEGAMES_LIBRARIES}
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+install(
+ FILES kpacmanui.rc
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
+)
+
+install(
+ FILES kpacmanrc
+ DESTINATION ${CONFIG_INSTALL_DIR}
+)
+
+
+tde_create_translated_desktop( ${PROJECT_NAME}.desktop )
+
+
+##### icons
+
+tde_install_icons( ${PROJECT_NAME} )
diff --git a/kpacman/keys.cpp b/kpacman/keys.cpp
index 5ec37c8..d26c263 100644
--- a/kpacman/keys.cpp
+++ b/kpacman/keys.cpp
@@ -188,3 +188,5 @@ void PKeys::ok()
accept();
}
+
+#include "keys.moc"
diff --git a/kpacman/kpacman.cpp b/kpacman/kpacman.cpp
index 7ae55e2..9083728 100644
--- a/kpacman/kpacman.cpp
+++ b/kpacman/kpacman.cpp
@@ -472,3 +472,5 @@ void KpacmanApp::slotStatusMsg(const TQString &text)
statusBar()->clear();
statusBar()->changeItem(text, ID_STATUS_MSG);
}
+
+#include "kpacman.moc"
diff --git a/kpacman/kpacman.desktop b/kpacman/kpacman.desktop
index 97c88c3..72503ff 100644
--- a/kpacman/kpacman.desktop
+++ b/kpacman/kpacman.desktop
@@ -1,4 +1,3 @@
-# KDE Config File
[Desktop Entry]
Type=Application
Exec=kpacman -caption "%c" %i %m
@@ -7,6 +6,7 @@ MiniIcon=kpacman.png
X-DocPath=kpacman/index.html
Comment=
Comment[de]=
-Terminal=0
+Terminal=false
Name=Kpacman
Name[de]=Kpacman
+Categories=Qt;TDE;Game;ArcadeGame;
diff --git a/kpacman/kpacmanview.cpp b/kpacman/kpacmanview.cpp
index e2a48da..cf89358 100644
--- a/kpacman/kpacmanview.cpp
+++ b/kpacman/kpacmanview.cpp
@@ -159,3 +159,5 @@ void KpacmanView::resizeEvent( TQResizeEvent * )
score->setGeometry(0, 0, referee->width(), bitfont->height()*3+referee->height()+status->height());
score->setBackgroundColor(BLACK);
}
+
+#include "kpacmanview.moc"
diff --git a/kpacman/referee.cpp b/kpacman/referee.cpp
index dbdeca7..6051365 100644
--- a/kpacman/referee.cpp
+++ b/kpacman/referee.cpp
@@ -1389,3 +1389,5 @@ void Referee::focusOutEvent(TQFocusEvent *)
emit focusedGamePause();
}
}
+
+#include "referee.moc"
diff --git a/kpacman/score.cpp b/kpacman/score.cpp
index 9706966..c4f86b8 100644
--- a/kpacman/score.cpp
+++ b/kpacman/score.cpp
@@ -624,3 +624,5 @@ TQFileInfo Score::locateHighscoreFilePath()
return privateHighscoreFileInfo;
}
+
+#include "score.moc"
diff --git a/kpacman/status.cpp b/kpacman/status.cpp
index 7ec7ebb..65fb7f0 100644
--- a/kpacman/status.cpp
+++ b/kpacman/status.cpp
@@ -350,3 +350,5 @@ void Status::setLevel(int Level)
actualLevel = (level > (int) levelPix->count()) ? (int) levelPix->count() : level;
repaint();
}
+
+#include "status.moc"
diff --git a/maps/CMakeLists.txt b/maps/CMakeLists.txt
new file mode 100644
index 0000000..7f65e79
--- /dev/null
+++ b/maps/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+add_subdirectory( mspacman )
diff --git a/maps/mspacman/CMakeLists.txt b/maps/mspacman/CMakeLists.txt
new file mode 100644
index 0000000..e3e2d5a
--- /dev/null
+++ b/maps/mspacman/CMakeLists.txt
@@ -0,0 +1,6 @@
+##### other data
+
+install(
+ FILES map01 map02 map03 map04
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/maps/mspacman
+)
diff --git a/pics/CMakeLists.txt b/pics/CMakeLists.txt
new file mode 100644
index 0000000..1400d78
--- /dev/null
+++ b/pics/CMakeLists.txt
@@ -0,0 +1,10 @@
+tde_auto_add_subdirectories()
+
+##### other data
+
+file( GLOB xpm_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xpm )
+
+install(
+ FILES ${xpm_files}
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/pics
+)
diff --git a/pics/mspacman-tiny/CMakeLists.txt b/pics/mspacman-tiny/CMakeLists.txt
new file mode 100644
index 0000000..a159989
--- /dev/null
+++ b/pics/mspacman-tiny/CMakeLists.txt
@@ -0,0 +1,8 @@
+##### other data
+
+file( GLOB xpm_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xpm )
+
+install(
+ FILES ${xpm_files}
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/pics/mspacman-tiny
+)
diff --git a/pics/mspacman/CMakeLists.txt b/pics/mspacman/CMakeLists.txt
new file mode 100644
index 0000000..8aadf5d
--- /dev/null
+++ b/pics/mspacman/CMakeLists.txt
@@ -0,0 +1,8 @@
+##### other data
+
+file( GLOB xpm_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xpm )
+
+install(
+ FILES ${xpm_files}
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/pics/mspacman
+)
diff --git a/pics/tiny/CMakeLists.txt b/pics/tiny/CMakeLists.txt
new file mode 100644
index 0000000..d82da30
--- /dev/null
+++ b/pics/tiny/CMakeLists.txt
@@ -0,0 +1,8 @@
+##### other data
+
+file( GLOB xpm_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xpm )
+
+install(
+ FILES ${xpm_files}
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/pics/tiny
+)
diff --git a/pics/zacman/CMakeLists.txt b/pics/zacman/CMakeLists.txt
new file mode 100644
index 0000000..6258b3d
--- /dev/null
+++ b/pics/zacman/CMakeLists.txt
@@ -0,0 +1,8 @@
+##### other data
+
+file( GLOB xpm_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xpm )
+
+install(
+ FILES ${xpm_files}
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/pics/zacman
+)
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644
index 0000000..75c89f8
--- /dev/null
+++ b/po/CMakeLists.txt
@@ -0,0 +1,14 @@
+file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )
+string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
+
+foreach( _po ${po_files} )
+ get_filename_component( _lang ${_po} NAME_WE )
+ if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" )
+ if( "${_po}" MATCHES "^([^/]*)/.*" )
+ string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" )
+ else( )
+ set( _component "${PROJECT_NAME}" )
+ endif( )
+ tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} )
+ endif( )
+endforeach( )