summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgregory guy <g-gregory@gmx.fr>2019-02-08 13:39:11 +0100
committerSlávek Banko <slavek.banko@axis.cz>2019-02-24 12:32:20 +0100
commitee94e3dcbe5a7c9d76a49811e101333d5a6fbf89 (patch)
tree446e180af9955b4f2b2033b1b2d48eef3f8f028d
parentce1c9bf53873d4d0ccc29c1220ed29125ec85fcc (diff)
downloadkbarcode-ee94e3dcbe5a7c9d76a49811e101333d5a6fbf89.zip
kbarcode-ee94e3dcbe5a7c9d76a49811e101333d5a6fbf89.tar.gz
conversion to the cmake building system
Signed-off-by: gregory guy <g-gregory@gmx.fr>
-rw-r--r--CMakeLists.txt79
-rw-r--r--ConfigureChecks.cmake40
-rw-r--r--config.h.cmake14
-rw-r--r--doc/CMakeLists.txt1
-rw-r--r--doc/en/CMakeLists.txt1
-rw-r--r--doc/man/CMakeLists.txt5
-rw-r--r--doc/man/kbarcode.1194
-rw-r--r--fileplugin/CMakeLists.txt34
-rw-r--r--kbarcode/CMakeLists.txt97
-rw-r--r--kbarcode/dsmainwindow.cpp4
-rw-r--r--kbarcode/encodingcombo.cpp2
-rw-r--r--kbarcode/gnubarkodeengine.h2
-rw-r--r--kbarcode/main.cpp3
-rw-r--r--kbarcode/pics/CMakeLists.txt4
-rw-r--r--po/CMakeLists.txt5
15 files changed, 482 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..18f5ed7
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,79 @@
+############################################
+# #
+# Improvements and feedbacks are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+############################################
+
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+#### general package setup
+
+project( kbarcode )
+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
+
+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( fileplugin )
+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..c76d602
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,40 @@
+###########################################
+# #
+# 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 )
+
+
+#### check for headers
+
+check_include_file( "barcode.h" _ENABLE_NATIVE_GNU_BARCODE )
+check_include_file( "kjs/interpreter.h" USE_JAVASCRIPT )
+
+
+#### check for pcre
+
+pkg_search_module( PCRE libpcre )
+if( NOT PCRE_FOUND )
+ tde_message_fatal( "pcre (2.8.x) is required but was not found on your system." )
+endif( NOT PCRE_FOUND )
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..4304829
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,14 @@
+#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@
+
+/* Define to 1 if you have <barcode.h header> file. */
+#cmakedefine _ENABLE_NATIVE_GNU_BARCODE 1
+
+/* Define to 1 if you have <kjs/interpreter.h> header file. */
+#cmakedefine USE_JAVASCRIPT 1
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/en/CMakeLists.txt b/doc/en/CMakeLists.txt
new file mode 100644
index 0000000..ba3ef3e
--- /dev/null
+++ b/doc/en/CMakeLists.txt
@@ -0,0 +1 @@
+tde_create_handbook( DESTINATION ${PROJECT_NAME} )
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/kbarcode.1 b/doc/man/kbarcode.1
new file mode 100644
index 0000000..b81aee5
--- /dev/null
+++ b/doc/man/kbarcode.1
@@ -0,0 +1,194 @@
+.\" This file was generated by (a slightly modified) kdemangen.pl and edited by hand
+.TH KBARCODE 1 "Jun 2006" "Trinity Desktop Environment" "barcode and label printing"
+.SH NAME
+kbarcode
+\- KBarcode is a barcode and label printing application
+.SH SYNOPSIS
+\fBkbarcode\fP [Qt\-options] [TDE\-options] [\fIfile\fP]
+.SH DESCRIPTION
+\fBKBarcode\fP is a barcode and label printing application for TDE. It can be used to print everything from simple business cards up to complex labels with several barcodes, such as article descriptions.
+.sp 1
+\fBKBarcode\fP comes with an easy\-to\-use WYSIWYG label designer, a setup wizard, batch import of labels (directly from the delivery note), thousands of predefined labels, database management tools, and translations in many languages.
+.sp 1
+Even printing more than 10,000 labels in one go is no problem for \fBKBarcode\fP.
+.sp 1
+Additionally, it is a simple xbarcode replacement for the creation of barcodes. All major types of barcodes like EAN, UPC, CODE39, and ISBN are supported.
+.SH OPTIONS
+.SS
+.SS Arguments:
+.TP
+.B file
+load label
+.SS
+.SS Options:
+.TP
+.BR \-b \ +[ \fIfile\fP ]
+import data for batch printing
+.TP
+.BR \-l \ +[ \fIfile\fP ]
+label for batch printing
+.TP
+.B \-c
+customer id for batch printing
+.TP
+.B \-d <printer>
+Printer/destination to print on
+.TP
+.B \-\-single
+start as xbarcode replacement
+.TP
+.B \-\-batch
+start in batch printing mode
+.TP
+.B \-\-label
+start label editor
+.TP
+.B \-\-print
+print immediately in batch mode
+.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 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
+.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 \- see man X for the argument format
+.SS
+
+.SH SEE ALSO
+.TP
+\fI/usr/share/apps/kbarcode/barcodes.html\fP
+informations about different barcodes
+.TP
+\fBhttp://freshmeat.net/projects/kbarcode/\fP
+\fBKBarcode\fP project page
+.TP
+\fBhttp://www.kbarcode.net/\fP
+\fBKBarcode\fP home page
+.br
+.SH AUTHORS
+.nf
+Dominik Seichter <domseichter@web.de>
+.br
+Stefan "Stonki" Onken <support@stonki.de>
+.br
+
+.br
+.fi
+Please use http://bugs.trinitydesktop.org to report bugs, do not mail the authors directly.
+.PP
+This manual page was written by Holger Hartmann <Holger_Hartmann@gmx.de> for the \fBDebian\fP Project (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version or any later version published by the Free Software Foundation.
+.PP
+On \fBDebian\fP systems, the complete text of the GNU General Public License can be found in /usr/share/common\-licenses/GPL.
diff --git a/fileplugin/CMakeLists.txt b/fileplugin/CMakeLists.txt
new file mode 100644
index 0000000..78af279
--- /dev/null
+++ b/fileplugin/CMakeLists.txt
@@ -0,0 +1,34 @@
+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}
+)
+
+
+##### tdefile_kbarcode (kpart)
+
+tde_add_kpart( tdefile_kbarcode AUTOMOC
+
+ SOURCES
+ tdefile_kbarcode.cpp
+ LINK
+ tdecore-shared
+ tdeio-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+install(
+ FILES tdefile_kbarcode.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+)
diff --git a/kbarcode/CMakeLists.txt b/kbarcode/CMakeLists.txt
new file mode 100644
index 0000000..a16fbb0
--- /dev/null
+++ b/kbarcode/CMakeLists.txt
@@ -0,0 +1,97 @@
+add_subdirectory( pics )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${PCRE_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kbarcode (executable)
+
+tde_add_executable( ${PROJECT_NAME} AUTOMOC
+
+ SOURCES
+ barcodecombo.cpp barcodedialog.cpp
+ barcodedialogs.cpp commands.cpp
+ configdialog.cpp confwizard.cpp
+ csvimportdlg.cpp databasebrowser.cpp
+ definition.cpp definitiondialog.cpp
+ dsmainwindow.cpp kbarcode.cpp
+ label.cpp labeleditor.cpp
+ labelutils.cpp main.cpp
+ mimesources.cpp multilineeditdlg.cpp
+ mycanvasitem.cpp mycanvasview.cpp
+ mydatatable.cpp newlabel.cpp
+ previewdialog.cpp printersettings.cpp
+ printlabeldlg.cpp rectsettingsdlg.cpp
+ smalldialogs.cpp sqltables.cpp
+ tokenprovider.cpp xmlutils.cpp
+ zplutils.cpp measurements.cpp
+ editoriface.skel kbarcodeiface.skel batchiface.skel
+ kbarcodesettings.cpp batchprinter.cpp
+ barcodeitem.cpp documentitem.cpp
+ lineitem.cpp rectitem.cpp
+ tcanvasitem.cpp textitem.cpp
+ imageitem.cpp documentitemdlg.cpp
+ propertywidget.cpp tec.cpp
+ barcodeprinterdlg.cpp textlineitem.cpp
+ textlineedit.cpp tokendialog.cpp
+ barkode.cpp gnubarcode.cpp
+ barkodeengine.cpp pixmapbarcode.cpp
+ batchwizard.cpp csvfile.cpp
+ dstextedit.cpp encodingcombo.cpp
+ purepostscript.cpp tbarcode2.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ tdeprint-shared
+ tdeabc-shared
+ kjs-shared
+ ${PCRE_LIBRARIES}
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### icons
+
+tde_install_icons( )
+
+
+##### other data
+
+install(
+ FILES
+ ${PROJECT_NAME}.desktop
+ ${PROJECT_NAME}-batch.desktop
+ ${PROJECT_NAME}-editor.desktop
+ ${PROJECT_NAME}-single.desktop
+
+ DESTINATION ${XDG_APPS_INSTALL_DIR}
+)
+
+install(
+ FILES ${PROJECT_NAME}-label.desktop
+ DESTINATION ${MIME_INSTALL_DIR}/application
+)
+
+install(
+ FILES
+ barcodes.html
+ exampledata.sql
+ labeldefinitions.sql
+ barcode.ps
+ rules.xml
+
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
+)
diff --git a/kbarcode/dsmainwindow.cpp b/kbarcode/dsmainwindow.cpp
index 79bfd1a..0510f3d 100644
--- a/kbarcode/dsmainwindow.cpp
+++ b/kbarcode/dsmainwindow.cpp
@@ -177,8 +177,8 @@ void DSMainWindow::connectMySQL()
void DSMainWindow::appHelpActivated()
{
KMessageBox::information( this, i18n(
- "<qt>The KBarcode documentation is avaible as PDF for download on our webpage.<br><br>") +
- "<a href=\"http://trinitydesktop.org/data/main/applications/kbarcode/kbarcode-2.0.0.pdf\">" +
+ "<qt>The KBarcode documentation is avaible as PDF for download here.<br><br>") +
+ "<a href=\"https://gentoo.ussg.indiana.edu/distfiles/kbarcode-2.0.0.pdf\">" +
i18n("Download Now") + "</a></qt>",
TQString(), TQString(), KMessageBox::AllowLink );
}
diff --git a/kbarcode/encodingcombo.cpp b/kbarcode/encodingcombo.cpp
index 23f2b01..3dd8e08 100644
--- a/kbarcode/encodingcombo.cpp
+++ b/kbarcode/encodingcombo.cpp
@@ -45,3 +45,5 @@ EncodingCombo::EncodingCombo( TQWidget* parent )
EncodingCombo::~EncodingCombo()
{
}
+
+#include "encodingcombo.moc"
diff --git a/kbarcode/gnubarkodeengine.h b/kbarcode/gnubarkodeengine.h
index 323553c..c9b829e 100644
--- a/kbarcode/gnubarkodeengine.h
+++ b/kbarcode/gnubarkodeengine.h
@@ -18,7 +18,7 @@
#ifndef GNUBARKODEENGINE_H
#define GNUBARKODEENGINE_H
-#include <barkodeengine.h>
+#include "barkodeengine.h"
struct Barcode_Item;
diff --git a/kbarcode/main.cpp b/kbarcode/main.cpp
index 60cb981..b2384e9 100644
--- a/kbarcode/main.cpp
+++ b/kbarcode/main.cpp
@@ -71,6 +71,9 @@ void setupDirs()
if( !tdedir.contains( "/usr/" ) )
dirs->addPrefix( "/usr/" );
+
+ if( !tdedir.contains( "/opt/trinity/" ) )
+ dirs->addPrefix( "/opt/trinity/" );
tqDebug("WARNING: Prefix changed: %s", dirs->kfsstnd_prefixes().latin1() );
}
diff --git a/kbarcode/pics/CMakeLists.txt b/kbarcode/pics/CMakeLists.txt
new file mode 100644
index 0000000..e232cf5
--- /dev/null
+++ b/kbarcode/pics/CMakeLists.txt
@@ -0,0 +1,4 @@
+install(
+ FILES logo.png
+ DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
+)
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644
index 0000000..ad36a01
--- /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( )