diff --git a/.gitmodules b/.gitmodules index d71f439..c5143a3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "admin"] path = admin url = https://mirror.git.trinitydesktop.org/gitea/TDE/tde-common-admin +[submodule "cmake"] + path = cmake + url = https://mirror.git.trinitydesktop.org/gitea/TDE/tde-common-cmake diff --git a/CMakeL10n.txt b/CMakeL10n.txt new file mode 100644 index 0000000..a525b71 --- /dev/null +++ b/CMakeL10n.txt @@ -0,0 +1,23 @@ +################################################# +# +# (C) 2018 Slávek Banko +# slavek.banko (AT) axis.cz +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.8 ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEL10n ) + + +##### create translation templates ############## + +tde_l10n_auto_add_subdirectories( ) diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..4623736 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,84 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +# Modified by Mavridis Philippe for Komposé. +# +################################################# + +cmake_minimum_required( VERSION 2.8.12 ) + + +##### general package setup ##################### + +project( kompose ) +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} ) +option( WITH_EMBEDDED_SQLITE "Use included SQLite instead of system one" ${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 ) + +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" ) + + +##### source directories ######################## + +add_subdirectory( src ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) +tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations ) + + +##### 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..0d81d2a --- /dev/null +++ b/ConfigureChecks.cmake @@ -0,0 +1,42 @@ +################################################# +# +# (C) 2010 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +# Modified by Mavridis Philippe for Komposé. +# +################################################# + + +# 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 ) + +find_package( X11 ) + + +##### check for imlib2 + +pkg_search_module( IMLIB2 imlib2 ) + +if( NOT IMLIB2_FOUND ) + tde_message_fatal( "imlib2 is required but not found on your system" ) +endif( NOT IMLIB2_FOUND ) diff --git a/cmake b/cmake new file mode 160000 index 0000000..f0a5bcc --- /dev/null +++ b/cmake @@ -0,0 +1 @@ +Subproject commit f0a5bcc7600c36f8fe59754d1167d1bbc70a4953 diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 index 0000000..67860c5 --- /dev/null +++ b/config.h.cmake @@ -0,0 +1,12 @@ +#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@ + +/* Defined if you don't have either the XTest headers or + the xcb-util-keysyms headers */ +#cmakedefine NO_XTEST_EXTENSION 1 diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..f6eec15 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,34 @@ +file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * ) +list( REMOVE_ITEM _dirs html man ) + +string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) + +foreach( _dir IN LISTS _dirs ) + if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} + AND ( "${_dir}" STREQUAL "en" OR + "${_linguas}" MATCHES "^;*$" OR + ";${_linguas};" MATCHES ";${_dir};" )) + file( GLOB _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} ${_dir}/*.docbook ) + if( _doc_files ) + list( FIND _doc_files "index.docbook" _find_index ) + if( -1 EQUAL _find_index ) + set( _noindex "NOINDEX" ) + else() + unset( _noindex ) + endif() + tde_create_handbook( + SOURCE_BASEDIR ${_dir} + ${_noindex} + LANG ${_dir} + DESTINATION ${PROJECT_NAME} + ) + endif() + endif() +endforeach() + +if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/CMakeLists.txt ) + add_subdirectory( html ) +endif() +if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/man/CMakeLists.txt ) + add_subdirectory( man ) +endif() diff --git a/src/CMakeL10n.txt b/src/CMakeL10n.txt new file mode 100644 index 0000000..7d91398 --- /dev/null +++ b/src/CMakeL10n.txt @@ -0,0 +1,3 @@ +##### create translation templates ############## + +tde_l10n_create_template( "messages/kompose" ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..6bb3f3e --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,43 @@ +add_subdirectory( icons ) + +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${IMLIB2_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} + ${TDE_LIB_DIR} +) + +##### kompose (executable) +tde_add_executable( ${PROJECT_NAME} AUTOMOC + + SOURCES + main.cpp kompose.cpp komposetaskmanager.cpp komposetask.cpp + komposewidget.cpp komposetaskwidget.cpp komposedesktopwidget.cpp komposelayout.cpp + komposesystray.cpp komposefullscreenwidget.cpp komposesettings.cpp komposepreferences.cpp + komposetaskprefswidget.cpp komposeglobal.cpp komposetaskcontainerwidget.cpp + komposetaskvisualizer.cpp komposeviewmanager.cpp komposedcopiface.skel + + LINK + tdecore-shared + tdeui-shared + ${IMLIB2_LIBRARIES} + + DESTINATION ${BIN_INSTALL_DIR} +) + +##### create translated desktop files + +tde_create_translated_desktop( kompose.desktop ) + +##### install XML-GUI resource file +install( + FILES komposeui.rc + DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME} +) diff --git a/src/icons/CMakeLists.txt b/src/icons/CMakeLists.txt new file mode 100644 index 0000000..fd330f5 --- /dev/null +++ b/src/icons/CMakeLists.txt @@ -0,0 +1,2 @@ +tde_install_icons( DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/icons ) +tde_install_icons( app-kompose ) diff --git a/src/hi16-action-kompose_current_virtual_desktop.png b/src/icons/hi16-action-kompose_current_virtual_desktop.png similarity index 100% rename from src/hi16-action-kompose_current_virtual_desktop.png rename to src/icons/hi16-action-kompose_current_virtual_desktop.png diff --git a/src/hi16-action-kompose_grouped_by_virtual_desktop.png b/src/icons/hi16-action-kompose_grouped_by_virtual_desktop.png similarity index 100% rename from src/hi16-action-kompose_grouped_by_virtual_desktop.png rename to src/icons/hi16-action-kompose_grouped_by_virtual_desktop.png diff --git a/src/hi16-action-kompose_ungrouped.png b/src/icons/hi16-action-kompose_ungrouped.png similarity index 100% rename from src/hi16-action-kompose_ungrouped.png rename to src/icons/hi16-action-kompose_ungrouped.png diff --git a/src/hi16-app-kompose.png b/src/icons/hi16-app-kompose.png similarity index 100% rename from src/hi16-app-kompose.png rename to src/icons/hi16-app-kompose.png diff --git a/src/hi32-action-kompose_current_virtual_desktop.png b/src/icons/hi32-action-kompose_current_virtual_desktop.png similarity index 100% rename from src/hi32-action-kompose_current_virtual_desktop.png rename to src/icons/hi32-action-kompose_current_virtual_desktop.png diff --git a/src/hi32-action-kompose_grouped_by_virtual_desktop.png b/src/icons/hi32-action-kompose_grouped_by_virtual_desktop.png similarity index 100% rename from src/hi32-action-kompose_grouped_by_virtual_desktop.png rename to src/icons/hi32-action-kompose_grouped_by_virtual_desktop.png diff --git a/src/hi32-action-kompose_ungrouped.png b/src/icons/hi32-action-kompose_ungrouped.png similarity index 100% rename from src/hi32-action-kompose_ungrouped.png rename to src/icons/hi32-action-kompose_ungrouped.png diff --git a/src/hi32-app-kompose.png b/src/icons/hi32-app-kompose.png similarity index 100% rename from src/hi32-app-kompose.png rename to src/icons/hi32-app-kompose.png diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt new file mode 100644 index 0000000..94897a3 --- /dev/null +++ b/translations/CMakeLists.txt @@ -0,0 +1 @@ +tde_auto_add_subdirectories() \ No newline at end of file diff --git a/po/Makefile.am b/translations/Makefile.am similarity index 100% rename from po/Makefile.am rename to translations/Makefile.am diff --git a/po/Makefile.in b/translations/Makefile.in similarity index 100% rename from po/Makefile.in rename to translations/Makefile.in diff --git a/po/da.po b/translations/messages/da.po similarity index 100% rename from po/da.po rename to translations/messages/da.po diff --git a/po/de.po b/translations/messages/de.po similarity index 100% rename from po/de.po rename to translations/messages/de.po diff --git a/po/es.po b/translations/messages/es.po similarity index 100% rename from po/es.po rename to translations/messages/es.po diff --git a/po/fr.po b/translations/messages/fr.po similarity index 100% rename from po/fr.po rename to translations/messages/fr.po diff --git a/po/it.po b/translations/messages/it.po similarity index 100% rename from po/it.po rename to translations/messages/it.po diff --git a/po/kompose.pot b/translations/messages/kompose.pot similarity index 100% rename from po/kompose.pot rename to translations/messages/kompose.pot