Remove pristine-tar files.

ubuntu/cosmic
Simon Quigley 7 years ago
parent 208a3baaeb
commit a2826c90f9

@ -1,27 +0,0 @@
Upstream Authors:
LXQt team: http://lxqt.org
Razor team: http://razor-qt.org
Luís Pereira <luis.artur.pereira@gmail.com>
Alexander Sokolov <sokoloff.a@gmail.com>
Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Palo Kisa <palo.kisa@gmail.com>
Petr Vanek <petr@yarpen.cz>
Alec Moskvin <alecm@gmx.com>
Jerome Leclanche <jerome@leclan.ch>
Paulo Lieuthier <paulolieuthier@gmail.com>
Alf Gaida <agaida@siduction.org>
Bartosz Taczala <bartosz.taczala@tieto.com>
Julien Lavergne <julien.lavergne@gmail.com>
Helio Chissini de Castro <helio@kde.org>
Kuzma Shapran <kuzma.shapran@gmail.com>
Veeti Paananen <veeti.paananen@rojekti.fi>
Anssi Hannula <anssi@mageia.org>
Christian Surlykke <christian@surlykke.dk>
Hong Hao <oahong@oahong.me>
Ivailo Monev <xakepa10@gmail.com>
Ludger Krämer <dbluelle@blau-weissoedingen.de>
Thomas Viehweger <ThomasVie@users.noreply.github.com>
kinabcd <kinabcd@gmail.com>
License: BSD-3-Clause
The full text of the licenses can be found in the 'BSD-3-Clause' file.

@ -1,25 +0,0 @@
License: BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@ -1,247 +0,0 @@
lxqt-build-tools-0.4.0 / 2017-09-22
===================================
* Bump version to 0.4.0
* Added needed versions
* remove version set from LXQtConfigVars.in
* Move LXQt version to liblxqt
* Fixes a FTBFS with superbuild mode
* Adds a FindExif module
* LXQtCompilerSettings: Fixes a typo in diagnostics-color
* Adds (Ninja) colored diagnostics for GCC (>=4.9)
* Enable strict iterators for debug builds
0.3.2 / 2017-01-14
==================
* Release 0.3.2: Update changelog
* Bump version to 0.3.2 - finally the build tools are arch: all (#15)
* Warnings (#16)
* Remove arched bits from version.cmake-file (#14)
0.3.1 / 2017-01-01
==================
* Release 0.3.1: Update changelog
* Bump LXQT_PATCH_VERSION and build tools version (#13)
* 32 64 bit ness (#12)
* Use "gcc-ar" and "gcc-ranlib" tools when building static libs with gcc link-time optimization. (#11)
0.3.0 / 2016-12-06
==================
* Release 0.3.0: Update changelog
* Adds an FindXCB CMake module
* FindUDev: Add VERSION_STRING support
* FindUDev: Set REQUIRED_VARS
* FindUdev: Feed pkg_modules_modules results to find_library/path
* FindUDev: Adds Feature Summary
* Adds FindUDev module
* Enables colored diagnostics for CLang/Ninja combination
* Disable link-time optimization for clang++/llvm since after some testing it breaks QObject signal/slot sometimes. * Remove trailing spaces.
* Use different link-time optimization compiler options for gcc and clang and move -Bsymbolic flags to linker flags.
* Add more linker options to turn on linker-time optimizations for gcc & clang.
* Set CMAKE_BUILD_TYPE to Release by default if it's value is not set.
* FindGLIB: Improve gio-unix handling
* Adds a FindGLIB CMake module
* Adds a FindMenuCache CMake module
* Adds a FindFm CMake module
* move project name to top
* Fixes the name of package config file name in superbuild mode
0.2.0 / 2016-10-30
==================
* Release 0.2.0: Update changelog
* Bump minor to 2 (#7)
* Added Qt5Core to README.md (#6)
* Adds an LXQtConfigVars module
* Adds superbuild support
* README.md: Update dependencies
0.1.0 / 2016-10-14
==================
* Release 0.1.0: Update changelog
* Adds LXQtCreatePortableHeaders module
* Authors and license (#2)
* Add README.md
* Make lxqt-build-tools be usable
0.0.0 / 2016-09-30
==================
* Remove cpack (#107)
* Bump version ot 0.11.0 (#105)
* Settings: Add "homemade" XDG_CONFIG_DIRS support
* translations: Change default translations repository
* Don't lock the screen when it's already locked.
* LXQtTranslateTs.cmake: Enable PULL_TRANSLATIONS by default
* LXQtTranslateTs.cmake: Use/update template in remote repo
* .gitignore: Cleanup
* build: Use external translations
* translations: Fix external translations logic
* translations: Add external translations support
* Adds CMAKE_INSTALL_PREFIX to the LXQt Theme search paths
* LXQtCompilerSettings: Add QT_USE_QSTRINGBUILDER to the compile definitions
* TranslateDesktopTs: Adds UPDATE_OPTIONS options
* TranslateDesktop: Remove lupdate absolute option
* TranslateDesktop: Use -a switch in grep commands
* Use CMAKE_INSTALL_FULL_DATAROOTDIR
* Add LXQT_GRAPHICS_DIR directory definition
* Adds FindXdgUserDirs CMake find_package module
* Release 0.10.0
* pluginTranslation: removed using QStringLiteral as it was causing SEGFAULT in static finalization time
* pluginTranslation: add some symbol for referencing (for file to be not stripped out in static linking time)
* Adds "automatic" plugin translations loader support
* Rename LxQt to LXQt everywhere
* Handles CMake policy CMP0063
* Adds an lxqt_enable_target_exceptions() CMake function
* Adds LXQtCompilerSettings CMake module
* LXQtCreatePkgConfigFile.cmake: Makes install COMPONENT configurable
* LXQtTranslateTs.cmake Adds install COMPONENT option
* Adds Runtime install COMPONENT
* Fixes an SuperBuild/NormalBuild FTBFS
* CMake: Use CMAKE_AUTOUIC, drop qt5_wrap()
* CMake: Quote variables
* CMake: Removes unused variables
* Removes LIB_INSTALL_DIR CACHE PATH variable
* Use relative paths in install DESTINATION
* Marks link libraries as PUBLIC
* Use target_compile_definitions() instead of add_definitions()
* Make Release the default build type
* Simplifies build type matching
* lxqt-config.cmake.in: Use find_dependency()
* Updates the build system to the Targets infrastructure
* Sort .desktop translations. Fix typos in the comments. Remove local dir artifact.
* pkg-config: Adds Qt5Xdg to the required dependencies
* Updates lxqt_create_pkgconfig_file()
* Stops using Qt5Xdg dropped stuff
* Adds LXQT_DATA_DIR configuration variable
* Moves the about dialog to lxqt-about
* debug: showing qDebug()/qWarning() only in "debug" build
* debug: strip debug messages in "release" build
* Remove AddPluginDialog as it is no longer used
* Add KDevelop4 project type to .gitignore
* require c++11 support
* Release 0.9.0
* - Remove KF5 from prefix. This will fix compilation when KDE framework headers are not in standard paths.
* i18n/i10n: Updates documentation and behavior
* remove lxqtleave from liblxqt
* lxqt_translate_desktop: pass -h instead of --no-filename to grep which is compatible with Busybox
* add executable to handle leave actions
* lxqt_translate_desktop: Updates code to cope with the cmake-policy CMP0054
* - Use simple approach to data dir. Current setup of code not allows both qt4 and qt5 cohexists, and data files are same for both libraries. If a different data dir is required for specifics reason, is possible to set in cmake run -DLXQT_LIBRARY_NAME:STRING="string"
* Adds the LxQt::SingleApplication class.
* CMakeLists.txt maintenaince
* Fixes yet another translations install dir mistake
* Fixes translations install dir
* Use the new LXQtTranslate modules.
* Fixes Qt5LinguistToolsMacros file extension bug
* Copied Qt5LinguistToolsMacros.cmake
* Removes cmake commented code
* Removes duplicates add_definitions()
* Removes lxqt_translate_desktop() from the _use.cnake
* Adds Qt5TranslationLoader cmake module
* Fix HtmlDelegate and move it to its own file. Also get rid of X11 on CMakeLists.txt.
* Delete XfitMan class. Fixes lxde/lxde-qt#226
* Don't update (extract) translations by default.
* Includes all LXQt translation modules
* Adds automatic translations loaders for LXQt libs and apps
* Adds LXQtTranslateDesktop module
* Adds the LXQtranslateTs cmake module
* Clean up CMakeLists.txt and drop Qt 4 support
* Release v0.8.0
* Updates translations installation and search paths
* Generate source.ts when updating translations
* Don't translate uic generated files
* Add -locations absolute option to lupdate so our *.ts files can contain informations about the source lines.
* Add code to update the *.ts files when the UPDATE_TRANSLATIONS option is turned on.
* remove magic from cmake. USE_QT5 should be the only trigger
* Use the "new" CMake FIND_PACKAGE case policy
* Add include(${QTXDG_USE_FILE}) to Qt5 also.
* Use the "new" CMake FIND_PACKAGE case policy
* Adds missing libqtxdg dependency
* Don't allow #include <lxqt-qt5/lxqtxxxxx.h>
* Updates the Qt4 and Qt5 library names and related stuff
* Use the same header namespace everywhere
* Don't use undefined variables
* Find liblxqt dependencies automatically
* Removes another duplicated installation of a file
* Removes duplicate installation of a file
* Fixes extra misleading slashes in path names
* Cleans commented unneeded stuff
* Fix a typo in variable name
* Fix broken build of qt4 version
* Use newer version of cmake 2.8.9
* Detect the path of qmake correctly for Qt5.
* Fix after merging from master, by removing dupplicated items
* Merge branch 'master' of https://github.com/lxde/liblxqt into qt5
* Update qt5 porting
* Install pkgconfig file to /usr/local/libdata/pkgconfig when FreeBSD is detected.
* Set link directories properly
* Release 0.7.0
* Release 0.6.99 (0.7.0pre alpha)
* Add CPack rules for creating tarball
* Don't append library suffix to library path and use it by default
* CMakeLists.txt: Adds quotes to the lib string
* Respect standard LIB_INSTALL_DIR
* Reformats CMakeLists.txt to fit in an 80x24 terminal
* Removes blank lines
* Use cmake export functionality.
* Retain old CMAKE_CXX_FLAGS while adding visibility stuff. Add -Wl,-no-undefined -Wall flags to ensure correctness.
* Use gcc visibility feature to decrease number of exported symbols to half.
* Qt5 support (step 1)
* Fix renaming bugs, replacing lxqt-qt with lxde-qt
* Finish the crazy razor=>lxqt renaming tasks.
* Intree build
* Rename razor to lxqt and fix XdgDir header inclusion.
* Fix namespace for LxQt::xFitMan() to avoid undefined reference when linking with liblxqt.
* The Translatator class added, all translations moved to /usr/<local>/share/lxde/transalations
* Descriptions for translators
* Simplify translations script
* Simplify translations script
* All public files has lxqt prefix
* Razorsettings => LxQt::Settings
* RazorPluginInfo => LxQt::PluginInfo
* RazorNotification => LxQt::Notification
* RazorGridLayout => LxQt::GridLayout
* RazorAutostartEntry => LxQt::AutostartEntry
* RazorApplication => LxQt::Application
* RazorConfigDialog=>LxQt::ConfigDialog
* RazorAboutDlg => LxQt::AboutDialog
* RazorPower => LxQt::Power
* Cmake find_package files
* Fix broken CMakeLists.txt and make the lib compile again.
* Make liblxqt (original librazorqt) compiles independently.
* Old files removed
* Rotated widget added
* libraries: Removes unneeded include(RazorLibSuffix)
* ProgramFinder: a set of functions to check if programs are installed
* Improved razorpanellayout and new razorgridlayout.
* Add autostart entry API into the library
* Added "Copy to clipboard" button to razor-about->technical information.
* Fix components missing translations
* Translators info & refactoring of the About dialog
* Fixed librazorqt.qm directory
* Translations for librazorqt
* Implement new RazorNotification class
* Remove RazorNotification classes (no license/copyright)
* fixed #277 cmake installs private class
* Remove custom settings, use razor ones
* Moving notification client library to razorqt
* Revert "Global shortcuts now based on PSI code."
* Global shortcuts now based on PSI code
* RazorApplication class implemented; all modules ported to this class
* Create a "standardized" configuration dialog
* XdgAutoStart rewriten (lgpl2+)
* menus are adopted to the new backends; old code removed; check for running razor-session to allow/disallow "logout" item
* New power engine & razor-power program
* SVK translation finalized
* implemented #70: pkg-config for libs
* razorqt: add find_package(X11) as ${X11_X11_LIB} is used
* New doxygen ifrastructure
* missing translations in CMakeLists
* XdgDesktopFile is implicitly shared
* huge refactoring of the libraries build organization

@ -1,129 +0,0 @@
project(lxqt-build-tools)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
option(WITH_XDG_DIRS_FALLBACK "Use our XDG_CONFIG_DIRS fallback" ON)
set(LXQT_BUILD_TOOLS_MAJOR_VERSION 0)
set(LXQT_BUILD_TOOLS_MINOR_VERSION 4)
set(LXQT_BUILD_TOOLS_PATCH_VERSION 0)
set(LXQT_BUILD_TOOLS_VERSION ${LXQT_BUILD_TOOLS_MAJOR_VERSION}.${LXQT_BUILD_TOOLS_MINOR_VERSION}.${LXQT_BUILD_TOOLS_PATCH_VERSION})
# Check for needed versions
# We need at least Qt 5.6.1 and glib-2.0 >= 2.50 to build all LXQt parts
find_package(PkgConfig REQUIRED)
find_package(Qt5Core "5.6.1" REQUIRED)
pkg_check_modules(GLIB2 glib-2.0>=2.50 REQUIRED)
include(CMakePackageConfigHelpers)
include(GNUInstallDirs) # Standard directories for installation
include(cmake/FindInstallConfigPath.cmake) # sets LXQT_ETC_XDG_DIR, if unset
#-----------------------------------------------------------------------------
# LXQT_DATA_DIR defaults to CMAKE_INSTALL_FULL_DATADIR. It's added to
# XDG_DATA_DIRS by the startlxqt script
# Warning: Setting LXQT_DATA_DIR must be done after including GNUInstallDirs
#-----------------------------------------------------------------------------
if (NOT DEFINED LXQT_DATA_DIR)
set(LXQT_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}" CACHE PATH
"LXQt base directory relative to which data files should be searched"
)
endif()
set(LXQT_LIBRARY_NAME "lxqt" CACHE STRING "lxqt")
set(LXQT_RELATIVE_SHARE_DIR "${LXQT_LIBRARY_NAME}")
set(LXQT_SHARE_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/${LXQT_RELATIVE_SHARE_DIR}")
set(LXQT_RELATIVE_TRANSLATIONS_DIR "${LXQT_LIBRARY_NAME}/translations")
set(LXQT_TRANSLATIONS_DIR "${LXQT_SHARE_DIR}/translations")
set(LXQT_GRAPHICS_DIR "${LXQT_SHARE_DIR}/graphics")
file(GLOB toInstallFindModules
"${PROJECT_SOURCE_DIR}/cmake/find-modules/*.cmake"
)
file(GLOB toInstallModules
"${PROJECT_SOURCE_DIR}/cmake/modules/*.cmake"
"${PROJECT_SOURCE_DIR}/cmake/modules/*.in"
)
#-----------------------------------------------------------------------------
# Superbuild mode
#-----------------------------------------------------------------------------
set(FIND_MODULES_INSTALL_DIR "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/lxqt-build-tools/cmake/find-modules/")
set(MODULES_INSTALL_DIR "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/lxqt-build-tools/cmake/modules/")
file(COPY
${toInstallFindModules}
DESTINATION "${FIND_MODULES_INSTALL_DIR}"
)
file(COPY
${toInstallModules}
DESTINATION "${MODULES_INSTALL_DIR}"
)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config.cmake.in"
"${CMAKE_BINARY_DIR}/lxqt-build-tools-config.cmake"
INSTALL_DESTINATION "neverland" # required, altough we don't install it
PATH_VARS
MODULES_INSTALL_DIR
FIND_MODULES_INSTALL_DIR
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/LXQtConfigVars.cmake.in"
"${MODULES_INSTALL_DIR}/LXQtConfigVars.cmake"
@ONLY
)
#-----------------------------------------------------------------------------
# Installable mode
#-----------------------------------------------------------------------------
set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/lxqt-build-tools/")
set(FIND_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/lxqt-build-tools/find-modules/")
set(MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/lxqt-build-tools/modules/")
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install/lxqt-build-tools-config.cmake"
INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
PATH_VARS
MODULES_INSTALL_DIR
FIND_MODULES_INSTALL_DIR
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/LXQtConfigVars.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install/LXQtConfigVars.cmake"
@ONLY
)
# The package version file is common to superbuild and installable mode
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config-version.cmake.in"
"${CMAKE_BINARY_DIR}/lxqt-build-tools-config-version.cmake"
@ONLY
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/install/lxqt-build-tools-config.cmake"
"${CMAKE_BINARY_DIR}/lxqt-build-tools-config-version.cmake"
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
)
install(
FILES ${toInstallFindModules}
DESTINATION "${FIND_MODULES_INSTALL_DIR}"
)
install(
FILES
${toInstallModules}
"${CMAKE_CURRENT_BINARY_DIR}/install/LXQtConfigVars.cmake"
DESTINATION
"${MODULES_INSTALL_DIR}"
)

@ -1,21 +0,0 @@
# lxqt-build-tools
## Introduction
This repository is providing several tools needed to build LXQt itself as well as other components maintained by the LXQt project.
These tools used to be spread over the repositories of various other components and were summarized to ease dependency management. So far many components, in particular [liblxqt](https://github.com/lxde/liblxqt), were representing a build dependency without being needed themselves but only because their repository was providing a subset of the tools which are now summarized here. So the use of this repository will reduce superfluous and bloated dependencies.
## Installation
### Compiling sources
To build only CMake and Qt5Core are needed, optionally Git to pull VCS checkouts. Runtime dependencies do not exist.
Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` has to be set to `/usr` on most operating systems.
To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual. (Strictly speaking `make` isn't even needed right now. On the other hand it doesn't hurt so packagers may just include it in case it'll be needed one day.)
## Packagers
This package is arch-independent now. You can simply package it as `BuildArch: noarch` (rpm) or `arch: all` (deb).

@ -1,26 +0,0 @@
# XDG standards expects system-wide configuration files in the /etc/xdg/lxqt location.
# Unfortunately QSettings we are using internally can be overriden in the Qt compilation
# time to use different path for system-wide configs. (for example configure ... -sysconfdir /etc/settings ...)
# This path can be found calling Qt4's qmake:
# qmake -query QT_INSTALL_CONFIGURATION
#
find_package(Qt5Core REQUIRED)
if(NOT DEFINED LXQT_ETC_XDG_DIR)
get_target_property(QT_QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} IMPORTED_LOCATION)
message(STATUS "${QT_QMAKE_EXECUTABLE}")
if(NOT QT_QMAKE_EXECUTABLE)
message(FATAL_ERROR "LXQT_ETC_XDG_DIR: qmake executable not found (included before qt was configured?)")
endif()
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_CONFIGURATION
OUTPUT_VARIABLE LXQT_ETC_XDG_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "LXQT_ETC_XDG_DIR autodetected as '${LXQT_ETC_XDG_DIR}'")
message(STATUS "You can set it manually with -DLXQT_ETC_XDG_DIR=<value>")
message(STATUS "")
endif ()

@ -1,34 +0,0 @@
# The module defines the following variables
#
# LXQT_SHARE_DIR - This allows to install and read the configs from non-standard locations
#
# LXQT_TRANSLATIONS_DIR - The default translations directory
#
# LXQT_ETC_XDG_DIR - XDG standards expects system-wide configuration files in the
# /etc/xdg/lxqt location. Unfortunately QSettings we are using internally
# can be overriden in the Qt compilation time to use different path for
# system-wide configs. (for example configure ... -sysconfdir /etc/settings ...)
# This path can be found calling Qt's qmake:
# qmake -query QT_INSTALL_CONFIGURATION
#
# LXQT_DATA_DIR - LXQt base directory relative to which data files should
# be searched.Defaults to CMAKE_INSTALL_FULL_DATADIR. It's
# added to XDG_DATA_DIRS by the startlxqt script.
set(LXQT_LIBRARY_NAME "@LXQT_LIBRARY_NAME@")
set(LXQT_RELATIVE_SHARE_DIR "@LXQT_RELATIVE_SHARE_DIR@")
set(LXQT_SHARE_DIR "@LXQT_SHARE_DIR@")
set(LXQT_RELATIVE_TRANSLATIONS_DIR "@LXQT_RELATIVE_TRANSLATIONS_DIR@")
set(LXQT_TRANSLATIONS_DIR "@LXQT_TRANSLATIONS_DIR@")
set(LXQT_GRAPHICS_DIR "@LXQT_GRAPHICS_DIR@")
set(LXQT_ETC_XDG_DIR "@LXQT_ETC_XDG_DIR@")
set(LXQT_DATA_DIR "@LXQT_DATA_DIR@")
add_definitions("-DLXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\"")
add_definitions("-DLXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\"")
add_definitions("-DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\"")
add_definitions("-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\"")
add_definitions("-DLXQT_GRAPHICS_DIR=\"${LXQT_GRAPHICS_DIR}\"")
add_definitions("-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\"")
add_definitions("-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\"")

@ -1,80 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# BSD-3-Clause file for details.
#.rst:
# FindExif
# -----------
#
# Try to find the Exif library
#
# Once done this will define
#
# ::
#
# EXIF_FOUND - System has the Exif library
# EXIF_INCLUDE_DIR - The Exif library include directory
# EXIF_INCLUDE_DIRS - Location of the headers needed to use the Exif library
# EXIF_LIBRARIES - The libraries needed to use the Exif library
# EXIF_DEFINITIONS - Compiler switches required for using the Exif library
# EXIF_VERSION_STRING - the version of the Exif library found
# use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig QUIET)
pkg_check_modules(PC_EXIF QUIET libexif)
set(EXIF_DEFINITIONS ${PC_EXIF_CFLAGS_OTHER})
find_path(EXIF_INCLUDE_DIR NAMES libexif/exif-data.h
HINTS
${PC_EXIF_INCLUDEDIR}
${PC_EXIF_INCLUDE_DIRS}
PATH_SUFFIXES libexif
)
find_library(EXIF_LIBRARIES NAMES exif libexif
HINTS
${PC_EXIF_LIBDIR}
${PC_EXIF_LIBRARY_DIRS}
)
# iterate over all dependencies
unset(FD_LIBRARIES)
foreach(depend ${PC_EXIF_LIBRARIES})
find_library(_DEPEND_LIBRARIES
NAMES
${depend}
HINTS
${PC_EXIF_LIBDIR}
${PC_EXIF_LIBRARY_DIRS}
)
if (_DEPEND_LIBRARIES)
list(APPEND FD_LIBRARIES ${_DEPEND_LIBRARIES})
endif()
unset(_DEPEND_LIBRARIES CACHE)
endforeach()
set(EXIF_VERSION_STRING ${PC_EXIF_VERSION})
set(EXIF_INCLUDE_DIR ${PC_EXIF_INCLUDEDIR})
list(APPEND EXIF_INCLUDE_DIRS
${EXIF_INCLUDE_DIR}
${PC_EXIF_INCLUDE_DIRS}
)
list(REMOVE_DUPLICATES EXIF_INCLUDE_DIRS)
list(APPEND EXIF_LIBRARIES
${FD_LIBRARIES}
)
list(REMOVE_DUPLICATES EXIF_LIBRARIES)
# handle the QUIETLY and REQUIRED arguments and set EXIF_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Exif
REQUIRED_VARS EXIF_LIBRARIES EXIF_INCLUDE_DIR EXIF_INCLUDE_DIRS
VERSION_VAR EXIF_VERSION_STRING)
mark_as_advanced(EXIF_INCLUDE_DIR EXIF_LIBRARIES)

@ -1,80 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# BSD-3-Clause file for details.
#.rst:
# FindFm
# -----------
#
# Try to find the Fm library
#
# Once done this will define
#
# ::
#
# FM_FOUND - System has the Fm library
# FM_INCLUDE_DIR - The Fm library include directory
# FM_INCLUDE_DIRS - Location of the headers needed to use the Fm library
# FM_LIBRARIES - The libraries needed to use the Fm library
# FM_DEFINITIONS - Compiler switches required for using the Fm library
# FM_VERSION_STRING - the version of the Fm library found
# use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig QUIET)
pkg_check_modules(PC_FM QUIET libfm)
set(FM_DEFINITIONS ${PC_FM_CFLAGS_OTHER})
find_path(FM_INCLUDE_DIR NAMES libfm/fm.h
HINTS
${PC_FM_INCLUDEDIR}
${PC_FM_INCLUDE_DIRS}
PATH_SUFFIXES libfm
)
find_library(FM_LIBRARIES NAMES fm libfm
HINTS
${PC_FM_LIBDIR}
${PC_FM_LIBRARY_DIRS}
)
# iterate over all dependencies
unset(FD_LIBRARIES)
foreach(depend ${PC_FM_LIBRARIES})
find_library(_DEPEND_LIBRARIES
NAMES
${depend}
HINTS
${PC_FM_LIBDIR}
${PC_FM_LIBRARY_DIRS}
)
if (_DEPEND_LIBRARIES)
list(APPEND FD_LIBRARIES ${_DEPEND_LIBRARIES})
endif()
unset(_DEPEND_LIBRARIES CACHE)
endforeach()
set(FM_VERSION_STRING ${PC_FM_VERSION})
set(FM_INCLUDE_DIR ${PC_FM_INCLUDEDIR})
list(APPEND FM_INCLUDE_DIRS
${FM_INCLUDE_DIR}
${PC_FM_INCLUDE_DIRS}
)
list(REMOVE_DUPLICATES FM_INCLUDE_DIRS)
list(APPEND FM_LIBRARIES
${FD_LIBRARIES}
)
list(REMOVE_DUPLICATES FM_LIBRARIES)
# handle the QUIETLY and REQUIRED arguments and set FM_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Fm
REQUIRED_VARS FM_LIBRARIES FM_INCLUDE_DIR FM_INCLUDE_DIRS
VERSION_VAR FM_VERSION_STRING)
mark_as_advanced(FM_INCLUDE_DIR FM_LIBRARIES)

@ -1,126 +0,0 @@
# - Try to find Glib and its components (gio, gobject etc)
# Once done, this will define
#
# GLIB_FOUND - system has Glib
# GLIB_INCLUDE_DIRS - the Glib include directories
# GLIB_LIBRARIES - link these to use Glib
#
# Optionally, the COMPONENTS keyword can be passed to find_package()
# and Glib components can be looked for. Currently, the following
# components can be used, and they define the following variables if
# found:
#
# gio: GLIB_GIO_LIBRARIES
# gobject: GLIB_GOBJECT_LIBRARIES
# gmodule: GLIB_GMODULE_LIBRARIES
# gthread: GLIB_GTHREAD_LIBRARIES
#
# Note that the respective _INCLUDE_DIR variables are not set, since
# all headers are in the same directory as GLIB_INCLUDE_DIRS.
#
# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
# Copyright (C) 2016 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
find_package(PkgConfig)
pkg_check_modules(PC_GLIB QUIET glib-2.0)
find_library(GLIB_LIBRARIES
NAMES glib-2.0
HINTS ${PC_GLIB_LIBDIR}
${PC_GLIB_LIBRARY_DIRS}
)
# Files in glib's main include path may include glibconfig.h, which,
# for some odd reason, is normally in $LIBDIR/glib-2.0/include.
get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
find_path(GLIBCONFIG_INCLUDE_DIR
NAMES glibconfig.h
HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${_GLIB_LIBRARY_DIR}
${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS}
PATH_SUFFIXES glib-2.0/include
)
find_path(GLIB_INCLUDE_DIR
NAMES glib.h
HINTS ${PC_GLIB_INCLUDEDIR}
${PC_GLIB_INCLUDE_DIRS}
PATH_SUFFIXES glib-2.0
)
set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
# Version detection
if (EXISTS "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h")
file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
endif ()
# Additional Glib components. We only look for libraries, as not all of them
# have corresponding headers and all headers are installed alongside the main
# glib ones.
foreach (_component ${GLIB_FIND_COMPONENTS})
if (${_component} STREQUAL "gio")
find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
elseif (${_component} STREQUAL "gobject")
find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
elseif (${_component} STREQUAL "gmodule")
find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
elseif (${_component} STREQUAL "gthread")
find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
elseif (${_component} STREQUAL "gio-unix")
pkg_check_modules(GIO_UNIX QUIET gio-unix-2.0)
find_path(GLIB_GIO_UNIX_INCLUDE_DIR
NAMES gio/gunixconnection.h
HINTS ${GIO_UNIX_INCLUDEDIR}
PATH_SUFFIXES gio-unix-2.0)
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_UNIX_INCLUDE_DIR)
endif ()
endforeach ()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
VERSION_VAR GLIB_VERSION)
mark_as_advanced(
GLIBCONFIG_INCLUDE_DIR
GLIB_GIO_LIBRARIES
GLIB_GIO_UNIX_INCLUDE_DIR
GLIB_GMODULE_LIBRARIES
GLIB_GOBJECT_LIBRARIES
GLIB_GTHREAD_LIBRARIES
GLIB_INCLUDE_DIR
GLIB_INCLUDE_DIRS
GLIB_LIBRARIES
)

@ -1,88 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# BSD-3-Clause file for details.
#.rst:
# FindMenuCache
# -----------
#
# Try to find the MenuCache library
#
# Once done this will define
#
# ::
#
# MENUCACHE_FOUND - System has the MenuCache library
# MENUCACHE_INCLUDE_DIR - The MenuCache library include directory
# MENUCACHE_INCLUDE_DIRS - Location of the headers needed to use the MenuCache library
# MENUCACHE_LIBRARIES - The libraries needed to the MenuCache library
# MENUCACHE_DEFINITIONS - Compiler switches required for using the MenuCache library
# MENUCACHE_VERSION_STRING - the version of MenuCache library found
# use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig QUIET)
pkg_check_modules(PC_MENUCACHE QUIET libmenu-cache)
set(MENUCACHE_DEFINITIONS ${PC_MENUCACHE_CFLAGS_OTHER})
find_path(MENUCACHE_INCLUDE_DIRS
NAMES
menu-cache.h
menu-cache/menu-cache.h
HINTS
${PC_MENUCACHE_INCLUDEDIR}
${PC_MENUCACHE_INCLUDE_DIRS}
PATH_SUFFIXES
libmenu-cache
)
find_library(MENUCACHE_LIBRARIES
NAMES
menu-cache
libmenu-cache
HINTS
${PC_MENUCACHE_LIBDIR}
${PC_MENUCACHE_LIBRARY_DIRS}
)
# iterate over all dependencies
unset(FD_LIBRARIES)
foreach(depend ${PC_MENUCACHE_LIBRARIES})
find_library(_DEPEND_LIBRARIES
NAMES
${depend}
HINTS
${PC_MENUCACHE_LIBDIR}
${PC_MENUCACHE_LIBRARY_DIRS}
)
if (_DEPEND_LIBRARIES)
list(APPEND FD_LIBRARIES ${_DEPEND_LIBRARIES})
endif()
unset(_DEPEND_LIBRARIES CACHE)
endforeach()
set(MENUCACHE_VERSION_STRING ${PC_MENUCACHE_VERSION})
set(MENUCACHE_INCLUDE_DIR ${PC_MENUCACHE_INCLUDEDIR})
list(APPEND MENUCACHE_INCLUDE_DIRS
${MENUCACHE_INCLUDE_DIR}
${PC_MENUCACHE_INCLUDE_DIRS}
)
list(REMOVE_DUPLICATES MENUCACHE_INCLUDE_DIRS)
list(APPEND MENUCACHE_LIBRARIES
${FD_LIBRARIES}
)
list(REMOVE_DUPLICATES MENUCACHE_LIBRARIES)
# handle the QUIETLY and REQUIRED arguments and set MENUCACHE_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MenuCache
REQUIRED_VARS MENUCACHE_LIBRARIES MENUCACHE_INCLUDE_DIR MENUCACHE_INCLUDE_DIRS
VERSION_VAR MENUCACHE_VERSION_STRING)
mark_as_advanced(MENUCACHE_INCLUDE_DIR MENUCACHE_LIBRARIES)

@ -1,65 +0,0 @@
# - Try to find the UDev library
# Once done this will define
#
# UDEV_FOUND - system has UDev
# UDEV_INCLUDE_DIR - the libudev include directory
# UDEV_LIBS - The libudev libraries
# Copyright (c) 2010, Rafael Fernández López, <ereslibre@kde.org>
# Copyright (c) 2016, Luís Pereira, <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of the University nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
find_package(PkgConfig)
pkg_check_modules(PC_UDEV QUIET libudev)
find_path(UDEV_INCLUDE_DIR libudev.h
HINTS ${PC_UDEV_INCLUDEDIR} ${PC_UDEV_INCLUDE_DIRS})
find_library(UDEV_LIBS udev HINTS ${PC_UDEV_LIBDIR} ${PC_UDEV_LIBRARY_DIRS})
if(UDEV_INCLUDE_DIR AND UDEV_LIBS)
include(CheckFunctionExists)
include(CMakePushCheckState)
cmake_push_check_state()
set(CMAKE_REQUIRED_LIBRARIES ${UDEV_LIBS} )
cmake_pop_check_state()
endif()
set(UDEV_VERSION_STRING ${PC_UDEV_VERSION})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(UDev
REQUIRED_VARS UDEV_INCLUDE_DIR UDEV_LIBS
VERSION_VAR ${UDEV_VERSION_STRING})
mark_as_advanced(UDEV_INCLUDE_DIR UDEV_LIBS)
include(FeatureSummary)
set_package_properties(UDev PROPERTIES
URL "https://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/udev.html"
DESCRIPTION "Linux dynamic device management")

@ -1,53 +0,0 @@
#.rst:
# FindXCB
# -------
#
# Find XCB libraries
#
# Tries to find xcb libraries on unix systems.
#
# - Be sure to set the COMPONENTS to the components you want to link to
# - The XCB_LIBRARIES variable is set ONLY to your COMPONENTS list
# - To use only a specific component check the XCB_LIBRARIES_${COMPONENT} variable
#
# The following values are defined
#
# ::
#
# XCB_FOUND - True if xcb is available
# XCB_INCLUDE_DIRS - Include directories for xcb
# XCB_LIBRARIES - List of libraries for xcb
# XCB_DEFINITIONS - List of definitions for xcb
#
#=============================================================================
# Copyright (c) 2015 Jari Vetoniemi
#
# Distributed under the OSI-approved BSD License (the "License");
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
include(FeatureSummary)
set_package_properties(XCB PROPERTIES
URL "http://xcb.freedesktop.org/"
DESCRIPTION "X protocol C-language Binding")
find_package(PkgConfig)
pkg_check_modules(PC_XCB QUIET xcb ${XCB_FIND_COMPONENTS})
find_library(XCB_LIBRARIES xcb HINTS ${PC_XCB_LIBRARY_DIRS})
find_path(XCB_INCLUDE_DIRS xcb/xcb.h PATH_SUFFIXES xcb HINTS ${PC_XCB_INCLUDE_DIRS})
foreach(COMPONENT ${XCB_FIND_COMPONENTS})
find_library(XCB_LIBRARIES_${COMPONENT} ${COMPONENT} HINTS ${PC_XCB_LIBRARY_DIRS})
list(APPEND XCB_LIBRARIES ${XCB_LIBRARIES_${COMPONENT}})
mark_as_advanced(XCB_LIBRARIES_${COMPONENT})
endforeach(COMPONENT ${XCB_FIND_COMPONENTS})
set(XCB_DEFINITIONS ${PC_XCB_CFLAGS_OTHER})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XCB DEFAULT_MSG XCB_LIBRARIES XCB_INCLUDE_DIRS)
mark_as_advanced(XCB_INCLUDE_DIRS XCB_LIBRARIES XCB_DEFINITIONS)

@ -1,56 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
# FindXdgUserDirs
#
# Try to find xdg-user-dirs-update.
#
# If the xdg-user-dirs-update executable is not in your PATH, you can provide
# an alternative name or full path location with the
# `XdgUserDirsUpdate_EXECUTABLE` variable.
#
# This will define the following variables:
#
# `XdgUserDirs_FOUND`
# True if xdg-user-dirs-update is available.
#
# `XdgUserDirsUpdate_EXECUTABLE`
# The xdg-user-dirs-update executable.
#
# Find xdg-user-dirs-update
find_program(XdgUserDirsUpdate_EXECUTABLE NAMES xdg-user-dirs-update)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XdgUserDirs
FOUND_VAR
XdgUserDirs_FOUND
REQUIRED_VARS
XdgUserDirsUpdate_EXECUTABLE
)
mark_as_advanced(XdgUserDirsUpdate_EXECUTABLE)

@ -1,15 +0,0 @@
/* This file has been generated by the CMake lxqt_app_translation_loader().
* It loads LXQt application translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
static void loadAppTranslation()
{
LXQt::Translator::translateApplication(QStringLiteral("@catalog_name@"));
}
Q_COREAPP_STARTUP_FUNCTION(loadAppTranslation)

@ -1,217 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
# Copyright 2015 Palo Kisa <palo.kisa@gmail.com>
# Copyright 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#-----------------------------------------------------------------------------
# Build with release mode by default (turn on compiler optimizations)
#-----------------------------------------------------------------------------
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
#-----------------------------------------------------------------------------
# Honor visibility properties for all target types.
#
# The ``<LANG>_VISIBILITY_PRESET`` and
# ``VISIBILITY_INLINES_HIDDEN`` target properties affect visibility
# of symbols during dynamic linking. When first introduced these properties
# affected compilation of sources only in shared libraries, module libraries,
# and executables with the ``ENABLE_EXPORTS`` property set. This
# was sufficient for the basic use cases of shared libraries and executables
# with plugins. However, some sources may be compiled as part of static
# libraries or object libraries and then linked into a shared library later.
# CMake 3.3 and above prefer to honor these properties for sources compiled
# in all target types. This policy preserves compatibility for projects
# expecting the properties to work only for some target types.
#
# The ``OLD`` behavior for this policy is to ignore the visibility properties
# for static libraries, object libraries, and executables without exports.
# The ``NEW`` behavior for this policy is to honor the visibility properties
# for all target types.
#
# This policy was introduced in CMake version 3.3. CMake version
# 3.3.0 warns when the policy is not set and uses ``OLD`` behavior. Use
# the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW``
# explicitly.
#-----------------------------------------------------------------------------
if(COMMAND CMAKE_POLICY)
if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
endif()
include(CheckCXXCompilerFlag)
#-----------------------------------------------------------------------------
# Global definitions
#-----------------------------------------------------------------------------
add_definitions(
-DQT_USE_QSTRINGBUILDER
)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
add_definitions(-DQT_STRICT_ITERATORS)
endif()
#-----------------------------------------------------------------------------
# Detect Clang compiler
#-----------------------------------------------------------------------------
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(LXQT_COMPILER_IS_CLANGCXX 1)
endif()
#-----------------------------------------------------------------------------
# Set visibility to hidden to hide symbols, unless they're exported manually
# in the code
#-----------------------------------------------------------------------------
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
#-----------------------------------------------------------------------------
# Disable exceptions
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
endif()
#-----------------------------------------------------------------------------
# Common warning flags
#-----------------------------------------------------------------------------
set(__LXQT_COMMON_WARNING_FLAGS "-Wall -Wextra -Wchar-subscripts -Wno-long-long -Wpointer-arith -Wundef -Wformat-security")
#-----------------------------------------------------------------------------
# Warning flags
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${__LXQT_COMMON_WARNING_FLAGS} -Wnon-virtual-dtor -Woverloaded-virtual -Wpedantic")
endif()
if (LXQT_COMPILER_IS_CLANGCXX)
# qCDebug(), qCWarning, etc trigger a very verbose warning, about.... nothing. Disable it.
# Found when building lxqt-session.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments")
endif()
#-----------------------------------------------------------------------------
# Linker flags
# Do not allow undefined symbols
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
# -Bsymbolic-functions: replace dynamic symbols used internally in
# shared libs with direct addresses.
set(SYMBOLIC_FLAGS
"-Wl,-Bsymbolic-functions -Wl,-Bsymbolic"
)
set(CMAKE_SHARED_LINKER_FLAGS
"-Wl,--no-undefined ${SYMBOLIC_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}"
)
set(CMAKE_MODULE_LINKER_FLAGS
"-Wl,--no-undefined ${SYMBOLIC_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}"
)
set(CMAKE_EXE_LINKER_FLAGS
"${SYMBOLIC_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}"
)
endif()
#-----------------------------------------------------------------------------
# Turn on more aggrassive optimizations not supported by CMake
# References: https://wiki.qt.io/Performance_Tip_Startup_Time
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
# -flto: use link-time optimizations to generate more efficient code
if (CMAKE_COMPILER_IS_GNUCXX)
set(LTO_FLAGS "-flto -fuse-linker-plugin")
# When building static libraries with LTO in gcc >= 4.9,
# "gcc-ar" and "gcc-ranlib" should be used instead of "ar" and "ranlib".
# references:
# https://gcc.gnu.org/gcc-4.9/changes.html
# http://hubicka.blogspot.tw/2014/04/linktime-optimization-in-gcc-2-firefox.html
# https://github.com/monero-project/monero/pull/1065/commits/1855213c8fb8f8727f4107716aab8e7ba826462b
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9.0") # gcc >= 4.9
set(CMAKE_AR "gcc-ar")
set(CMAKE_RANLIB "gcc-ranlib")
endif()
elseif (LXQT_COMPILER_IS_CLANGCXX)
# The link-time optimization of clang++/llvm seems to be too aggrassive.
# After testing, it breaks the signal/slots of QObject sometimes.
# So disable it for now until there is a solution.
# set(LTO_FLAGS "-flto")
endif()
# apply these options to "Release" build type only
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LTO_FLAGS}")
endif()
#-----------------------------------------------------------------------------
# CXX11 and CXX0X requirements
#-----------------------------------------------------------------------------
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(FATAL "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. C++11 support is required")
endif()
#-----------------------------------------------------------------------------
# Enable colored diagnostics for the CLang/Ninja combination
#-----------------------------------------------------------------------------
if (CMAKE_GENERATOR STREQUAL "Ninja" AND
# Rationale: https://public.kitware.com/Bug/view.php?id=15502
((CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR
(LXQT_COMPILER_IS_CLANGCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)))
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
endif()
#-----------------------------------------------------------------------------
# Enable exceptions for an target
#
# lxqt_enable_target_exceptions(<target>
# <INTERFACE|PUBLIC|PRIVATE>
# )
#
#-----------------------------------------------------------------------------
function(lxqt_enable_target_exceptions target mode)
target_compile_options(${target} ${mode}
"$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>:-fexceptions>"
)
endfunction()

@ -1,252 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================#
# lxqt_create_pkgconfig_file(PACKAGE_NAME <package_name>
# VERSION <version>
# [PREFIX <path>]
# [EXEC_PREFIX <path>]
# [INCLUDEDIR_PREFIX <path>]
# [INCLUDEDIRS <path1> <path2> ... <path3>]
# [LIBDIR_PREFIX <path>]
# [DESCRIPTIVE_NAME <name>]
# [DESCRIPTION <description>]
# [URL <url>]
# [REQUIRES <dep1> <dep2> ... <dep3>]
# [REQUIRES_PRIVATE <dep1> <dep2> ... <dep3>]
# [LIB_INSTALLDIR <dir>]
# [CFLAGS <cflags>]
# [PATH <path>]
# [INSTALL]
# [COMPONENT] component)
#
#
# PACKAGE_NAME and VERSION are mandatory. Everything else is optional
include(CMakeParseArguments)
include(GNUInstallDirs)
function(lxqt_create_pkgconfig_file)
set(options INSTALL)
set(oneValueArgs
PACKAGE_NAME
PREFIX
EXEC_PREFIX
INCLUDEDIR_PREFIX
LIBDIR_PREFIX
DESCRIPTIVE_NAME
DESCRIPTION
URL
VERSION
PATH
COMPONENT
)
set(multiValueArgs
INCLUDEDIRS
REQUIRES
REQUIRES_PRIVATE
CONFLICTS
CFLAGS
LIBS
LIBS_PRIVATE
)
cmake_parse_arguments(USER "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (USER_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown keywords given to create_pkgconfig_file(): \"${USER_UNPARSED_ARGUMENTS}\"")
endif()
# Check for mandatory args. Abort if not set
if (NOT DEFINED USER_PACKAGE_NAME)
message(FATAL_ERROR "Required argument PACKAGE_NAME missing in generate_pkgconfig_file() call")
else()
set(_PKGCONFIG_PACKAGE_NAME "${USER_PACKAGE_NAME}")
endif()
if (NOT DEFINED USER_VERSION)
message(FATAL_ERROR "Required argument VERSION missing in generate_pkgconfig_file() call")
else()
set(_PKGCONFIG_VERSION "${USER_VERSION}")
endif()
# Optional args
if (NOT DEFINED USER_PREFIX)
set(_PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif()
if (NOT DEFINED USER_EXEC_PREFIX)
set(_PKGCONFIG_EXEC_PREFIX "\${prefix}")
endif()
if (NOT DEFINED USER_INCLUDEDIR_PREFIX)
set(_PKGCONFIG_INCLUDEDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
endif()
if (NOT DEFINED USER_LIBDIR_PREFIX)
set(_PKGCONFIG_LIBDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
endif()
if (NOT DEFINED USER_DESCRIPTIVE_NAME)
set(_PKGCONFIG_DESCRIPTIVE_NAME "")
else()
set(_PKGCONFIG_DESCRIPTIVE_NAME "${USER_DESCRIPTIVE_NAME}")
endif()
if (DEFINED USER_INCLUDEDIRS)
set(tmp "")
foreach(dir ${USER_INCLUDEDIRS})
if (NOT IS_ABSOLUTE "${dir}")
list(APPEND tmp "-I\${includedir}/${dir}")
endif()
endforeach()
string(REPLACE ";" " " _INCLUDEDIRS "${tmp}")
endif()
if (DEFINED USER_REQUIRES)
string(REPLACE ";" ", " _PKGCONFIG_REQUIRES "${USER_REQUIRES}")
endif()
if (DEFINED USER_REQUIRES_PRIVATE)
string(REPLACE ";" ", " _PKGCONFIG_REQUIRES_PRIVATE "${USER_REQUIRES_PRIVATE}")
else()
set(_PKGCONFIG_REQUIRES_PRIVATE "")
endif()
if (NOT DEFINED USER_CFLAGS)
set(_PKGCONFIG_CFLAGS "-I\${includedir} ${_INCLUDEDIRS}")
endif()
if (NOT DEFINED USER_LIBS)
set(_PKGCONFIG_LIBS "-L\${libdir}")
else()
set(tmp "-L\${libdir}")
set(_libs "${USER_LIBS}")
foreach(lib ${_libs})
list(APPEND tmp "-l${lib}")
endforeach()
string(REPLACE ";" " " _PKGCONFIG_LIBS "${tmp}")
endif()
if (NOT DEFINED USER_LIBS_PRIVATE)
set(PKGCONFIG_LIBS "-L\${libdir}")
else()
set(tmp "")
set(_libs "${USER_LIBS_PRIVATE}")
foreach(lib ${_libs})
list(APPEND tmp "-l${lib}")
endforeach()
string(REPLACE ";" " " _PKGCONFIG_LIBS_PRIVATE "${tmp}")
endif()
if (DEFINED USER_DESCRIPTION)
set(_PKGCONFIG_DESCRIPTION "${USER_DESCRIPTION}")
else()
set(_PKGCONFIG_DESCRIPTION "")
endif()
if (DEFINED USER_URL)
set(_PKFCONFIG_URL "${USER_URL}")
else()
set(_PKGCONFIG_URL "")
endif()
if (NOT DEFINED USER_PATH)
set(_PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${_PKGCONFIG_PACKAGE_NAME}.pc")
else()
if (IS_ABSOLUTE "${USER_PATH}")
set(_PKGCONFIG_FILE "${USER_PATH}/${_PKGCONFIG_PACKAGE_NAME}.pc")
else()
set(_PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${USER_PATH}/${_PKGCONFIG_PACKAGE_NAME}.pc")
endif()
endif()
# Write the .pc file
FILE(WRITE "${_PKGCONFIG_FILE}"
"# file generated by create_pkgconfig_file()\n"
"prefix=${_PKGCONFIG_PREFIX}\n"
"exec_prefix=${_PKGCONFIG_EXEC_PREFIX}\n"
"libdir=${_PKGCONFIG_LIBDIR_PREFIX}\n"
"includedir=${_PKGCONFIG_INCLUDEDIR_PREFIX}\n"
"\n"
"Name: ${_PKGCONFIG_DESCRIPTIVE_NAME}\n"
)
if (NOT "${_PKGCONFIG_DESCRIPTION}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Description: ${_PKGCONFIG_DESCRIPTION}\n"
)
endif()
if (NOT "${_PKGCONFIG_URL}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE} "URL: ${_PKGCONFIG_URL}\n")
endif()
FILE(APPEND ${_PKGCONFIG_FILE} "Version: ${_PKGCONFIG_VERSION}\n")
if (NOT "${_PKGCONFIG_REQUIRES}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE} "Requires: ${_PKGCONFIG_REQUIRES}\n")
endif()
if (NOT "${_PKGCONFIG_REQUIRES_PRIVATE}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Requires.private: ${_PKGCONFIG_REQUIRES_PRIVATE}\n"
)
endif()
FILE(APPEND ${_PKGCONFIG_FILE}
"Cflags: ${_PKGCONFIG_CFLAGS}\n"
"Libs: ${_PKGCONFIG_LIBS}\n"
)
if (NOT "${_PKGCONFIG_LIBS_PRIVATE}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Libs.private: ${_PKGCONFIG_REQUIRES_PRIVATE}\n"
)
endif()
if (DEFINED USER_INSTALL)
# FreeBSD loves to install files to different locations
# http://www.freebsd.org/doc/handbook/dirstructure.html
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(_PKGCONFIG_INSTALL_DESTINATION "libdata/pkgconfig")
else()
set(_PKGCONFIG_INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endif()
if (DEFINED USER_COMPONENT)
set(_COMPONENT "${USER_COMPONENT}")
else()
set(_COMPONENT "Devel")
endif()
install(FILES "${_PKGCONFIG_FILE}"
DESTINATION "${_PKGCONFIG_INSTALL_DESTINATION}"
COMPONENT "${_COMPONENT}")
endif()
endfunction()

@ -1,110 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
# lxqt_create_portable_headers(<portable_headers>
# HEADER_NAMES <CamelCaseName> [<CamelCaseName1> [...]]
# [OUTPUT_DIR <output_dir>]
# )
#
# Creates portable headers; e.g.:
# Creates XdgAction from xdgaction.h
# XdgAction contents:
# #include "xdgaction.h"
#
# Output:
# portable_headers File locations of the created headers
#
# Input:
# HEADER_NAMES Header CamelCaseNames. An CamelCaseName header will be created
# that includes camelcasename.h file
#
# OUTPUT_DIR Specifies where the files will be created. Defaults to
# ``${CMAKE_CURRENT_BINARY_DIR}``. If the value is an relative path, it
# will be appended to ``${CMAKE_CURRENT_BINARY_DIR}``.
#
# Use:
# set(PUBLIC_CLASSES MyClass YourClass)
# lxqt_create_portable_headers(PORTABLE_HEADERS ${PUBLIC_CLASSES})
# PORTABLE_HEADER is an return value that contains the full name of the
# generated headers.
function(lxqt_create_portable_headers outfiles)
set(options)
set(oneValueArgs OUTPUT_DIR PATH_PREFIX NAME_PREFIX)
set(multiValueArgs HEADER_NAMES)
cmake_parse_arguments(USER "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (USER_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown keywords given to lxqt_create_portable_headers(): \"${USER_UNPARSED_ARGUMENTS}\"")
endif()
if (NOT DEFINED USER_HEADER_NAMES)
message(FATAL_ERROR "Required argument HEADER_NAMES missing in lxqt_create_portable_headers() call")
else()
set(_HEADER_NAMES "${USER_HEADER_NAMES}")
endif()
if (NOT DEFINED USER_OUTPUT_DIR)
set(_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
else()
if (IS_ABSOLUTE "${USER_OUTPUT_DIR}")
set(_OUTPUT_DIR "${USER_OUTPUT_DIR}")
else()
set(_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${USER_OUTPUT_DIR}")
endif()
endif()
if (NOT DEFINED USER_PATH_PREFIX)
set(_PATH_PREFIX "")
else()
set(_PATH_PREFIX "${USER_PATH_PREFIX}")
endif()
if (NOT DEFINED USER_NAME_PREFIX)
set(_NAME_PREFIX "")
else()
set(_NAME_PREFIX "${USER_NAME_PREFIX}")
endif()
set(class_list ${_HEADER_NAMES})
foreach(f ${class_list})
string(TOLOWER "${f}.h" _filename)
if ("${_PATH_PREFIX}" STREQUAL "")
file(WRITE "${_OUTPUT_DIR}/${f}"
"#include \"${_NAME_PREFIX}${_filename}\"")
else()
file(WRITE "${_OUTPUT_DIR}/${f}"
"#include \"${_PATH_PREFIX}${_NAME_PREFIX}/${_filename}\"")
endif()
list(APPEND ${outfiles} "${_OUTPUT_DIR}/${f}")
endforeach()
set(${outfiles} ${${outfiles}} PARENT_SCOPE)
endfunction()

@ -1,15 +0,0 @@
/* This file has been generated by the CMake lxqt_app_translation_loader().
* It loads LXQt libraries translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
static void loadLibTranslation()
{
LXQt::Translator::translateLibrary(QStringLiteral("@catalog_name@"));
}
Q_COREAPP_STARTUP_FUNCTION(loadLibTranslation)

@ -1,23 +0,0 @@
/* This file has been generated by the CMake lxqt_plugin_translation_loader().
* It loads LXQt plugin translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
/* Dummy helper symbol for referencing.
* In case plugin is linked as static (lib*.a) unreferenced objects are stripped in linking time
* => we need to reference some symbol from this file to be not stripped as a whole.
*/
void * loadPluginTranslation_@catalog_name@_helper = nullptr;
static void loadPluginTranslation()
{
//XXX: we don't use the QStringLiteral here because it causes SEGFAULT in static finalization time
// (the string is stored in static QHash and it's destructor can reference already deleted static QString (generated by QStringLiteral))
LXQt::Translator::translatePlugin("@catalog_name@", "@plugin_type@");
}
Q_COREAPP_STARTUP_FUNCTION(loadPluginTranslation)

@ -1,32 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# An convenience module that loads all the LXQt translations modules at once.
include(LXQtTranslateTs)
include(LXQtTranslateDesktop)
include(LXQtTranslationLoader)

@ -1,107 +0,0 @@
#=============================================================================
# The lxqt_translate_desktop() function was copied from the
# LXQt LXQtTranslate.cmake
#
# Original Author: Alexander Sokolov <sokoloff.a@gmail.com>
#
# funtion lxqt_translate_desktop(_RESULT
# SOURCES <sources>
# [TRANSLATION_DIR] translation_directory
# )
# Output:
# _RESULT The generated .desktop (.desktop) files
#
# Input:
#
# SOURCES List of input desktop files (.destktop.in) to be translated
# (merged), relative to the CMakeList.txt.
#
# TRANSLATION_DIR Optional path to the directory with the .ts files,
# relative to the CMakeList.txt. Defaults to
# "translations".
#
#=============================================================================
function(lxqt_translate_desktop _RESULT)
# Parse arguments ***************************************
set(oneValueArgs TRANSLATION_DIR)
set(multiValueArgs SOURCES)
cmake_parse_arguments(_ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# check for unknown arguments
set(_UNPARSED_ARGS ${_ARGS_UNPARSED_ARGUMENTS})
if (NOT ${_UNPARSED_ARGS} STREQUAL "")
MESSAGE(FATAL_ERROR
"Unknown arguments '${_UNPARSED_ARGS}'.\n"
"See lxqt_translate_desktop() documentation for more information.\n"
)
endif()
if (NOT DEFINED _ARGS_SOURCES)
set(${_RESULT} "" PARENT_SCOPE)
return()
else()
set(_sources ${_ARGS_SOURCES})
endif()
if (NOT DEFINED _ARGS_TRANSLATION_DIR)
set(_translationDir "translations")
else()
set(_translationDir ${_ARGS_TRANSLATION_DIR})
endif()
get_filename_component (_translationDir ${_translationDir} ABSOLUTE)
foreach (_inFile ${_sources})
get_filename_component(_inFile ${_inFile} ABSOLUTE)
get_filename_component(_fileName ${_inFile} NAME_WE)
#Extract the real extension ............
get_filename_component(_fileExt ${_inFile} EXT)
string(REPLACE ".in" "" _fileExt ${_fileExt})
#.......................................
set(_outFile "${CMAKE_CURRENT_BINARY_DIR}/${_fileName}${_fileExt}")
file(GLOB _translations
${_translationDir}/${_fileName}_*${_fileExt}
)
set(_pattern "'\\[.*]\\s*='")
if (_translations)
list(SORT _translations)
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v -a "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMAND grep -h -a ${_pattern} ${_translations} >> ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
else()
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v -a "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
endif()
set(__result ${__result} ${_outFile})
# TX file ***********************************************
set(_txFile "${CMAKE_BINARY_DIR}/tx/${_fileName}${_fileExt}.tx.sh")
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_translationDir ${_translationDir})
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_inFile ${_inFile})
string(REPLACE "." "" _fileType ${_fileExt})
file(WRITE ${_txFile}
"[ -f ${_inFile} ] || exit 0\n"
"echo '[lxde-qt.${_fileName}_${_fileType}]'\n"
"echo 'type = DESKTOP'\n"
"echo 'source_lang = en'\n"
"echo 'source_file = ${_tx_inFile}'\n"
"echo 'file_filter = ${_tx_translationDir}/${_fileName}_<lang>${_fileExt}'\n"
"echo ''\n"
)
endforeach()
set(${_RESULT} ${__result} PARENT_SCOPE)
endfunction(lxqt_translate_desktop)

@ -1,281 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# funtion lxqt_translate_ts(qmFiles
# [USE_QT5 [Yes | No]]
# [UPDATE_TRANSLATIONS [Yes | No]]
# SOURCES <sources>
# [UPDATE_OPTIONS] update_options
# [TEMPLATE] translation_template
# [TRANSLATION_DIR] translation_directory
# [INSTALL_DIR] install_directory
# [COMPONENT] component
# [PULL_TRANSLATIONS [Yes | No]]
# [CLEAN_TRANSLATIONS [Yes | No]]
# [REPO_SUBDIR] repository_subdirectory
# [TRANSLATIONS_REPO] remote_translation_repo
# [TRANSLATIONS_REFSPEC] translations_remote_branch
# )
# Output:
# qmFiles The generated compiled translations (.qm) files
#
# Input:
# USE_QT5 Optional flag to choose between Qt4 and Qt5. Defaults to Qt5
#
# UPDATE_TRANSLATIONS Optional flag. Setting it to Yes, extracts and
# compiles the translations. Setting it No, only
# compiles them.
#
# UPDATE_OPTIONS Optional options to lupdate when UPDATE_TRANSLATIONS
# is True.
#
# TEMPLATE Optional translations files base name. Defaults to
# ${PROJECT_NAME}. An .ts extensions is added.
#
# TRANSLATION_DIR Optional path to the directory with the .ts files,
# relative to the CMakeList.txt. Defaults to
# "translations".
#
# INSTALL_DIR Optional destination of the file compiled files (qmFiles).
# If not present no installation is performed
#
# COMPONENT Optional install component. Only effective if INSTALL_DIR
# present. Defaults to "Runtime".
#
# PULL_TRANSLATIONS Optional flag. If set, the translations are pulled
# from external repository in cmake phase (not in build/make time)
# into directory "${TRANSLATION_DIR}/${REPO_SUBDIR}".
#
# CLEAN_TRANSLATIONS Optional flag. If set, the externally pulled
# translations are removed.
#
# REPO_SUBDIR Optional path in the "translations repository" to directory
# with translations. Only effective if PULL_TRANSLATIONS enabled.
# Defaults to "${TEMPLATE}".
#
# TRANSLATIONS_REPO External git repository with translations - only the ${TEMPLATE} directory
# is pulled (using the "sparse checkout").
# Optional (defaults to "https://github.com/lxde/lxqt-l10n.git").
#
# TRANSLATIONS_REFSPEC Optional refspec of external repository. Used in git pull.
# Defaults to "master".
# CMake v2.8.3 needed to use the CMakeParseArguments module
cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR)
# We use our patched version to round a annoying bug.
include(Qt5PatchedLinguistToolsMacros)
option(PULL_TRANSLATIONS "Pull translations" Yes)
option(CLEAN_TRANSLATIONS "Clean translations" No)
function(lxqt_translate_ts qmFiles)
set(oneValueArgs
USE_QT5
UPDATE_TRANSLATIONS
TEMPLATE
TRANSLATION_DIR
INSTALL_DIR
COMPONENT
PULL_TRANSLATIONS
CLEAN_TRANSLATIONS
REPO_SUBDIR
TRANSLATIONS_REPO
TRANSLATIONS_REFSPEC
)
set(multiValueArgs SOURCES UPDATE_OPTIONS)
cmake_parse_arguments(TR "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (NOT DEFINED TR_UPDATE_TRANSLATIONS)
set(TR_UPDATE_TRANSLATIONS "No")
endif()
if (NOT DEFINED TR_UPDATE_OPTIONS)
set(TR_UPDATE_OPTIONS "")
endif()
if (NOT DEFINED TR_USE_QT5)
set(TR_USE_QT5 "Yes")
endif()
if(NOT DEFINED TR_TEMPLATE)
set(TR_TEMPLATE "${PROJECT_NAME}")
endif()
if (NOT DEFINED TR_TRANSLATION_DIR)
set(TR_TRANSLATION_DIR "translations")
endif()
get_filename_component(TR_TRANSLATION_DIR "${TR_TRANSLATION_DIR}" ABSOLUTE)
if (NOT DEFINED TR_CLEAN_TRANSLATIONS)
set(TR_CLEAN_TRANSLATIONS "No")
endif()
if (NOT DEFINED TR_PULL_TRANSLATIONS)
set(TR_PULL_TRANSLATIONS "No")
endif()
if (NOT DEFINED TR_REPO_SUBDIR)
set(TR_REPO_SUBDIR "${TR_TEMPLATE}")
endif()
if (NOT DEFINED TR_TRANSLATIONS_REPO)
set(TR_TRANSLATIONS_REPO "https://github.com/lxde/lxqt-l10n.git")
endif()
if (NOT DEFINED TR_TRANSLATIONS_REFSPEC)
set(TR_TRANSLATIONS_REFSPEC "master")
endif()
if (TR_CLEAN_TRANSLATIONS)
message(STATUS "Cleaning translations dir '${TR_TRANSLATION_DIR}' ...")
set(DIR_TO_REMOVE "${TR_TRANSLATION_DIR}/${TR_REPO_SUBDIR}")
get_filename_component(PARENT_DIR "${DIR_TO_REMOVE}" DIRECTORY)
while (NOT "${PARENT_DIR}" STREQAL "${TR_TRANSLATION_DIR}")
set(DIR_TO_REMOVE "${PARENT_DIR}")
get_filename_component(PARENT_DIR "${DIR_TO_REMOVE}" DIRECTORY)
endwhile ()
#TODO: is there a way to check successfulness of file command !?!
file(REMOVE_RECURSE "${TR_TRANSLATION_DIR}/.git" "${DIR_TO_REMOVE}")
endif ()
if (TR_PULL_TRANSLATIONS)
find_package(Git REQUIRED)
if (NOT (GIT_FOUND AND GIT_VERSION_STRING VERSION_GREATER "1.7.0"))
message(FATAL_ERROR "Git > 1.7.0 is needed For pulling translations!")
endif ()
if (NOT EXISTS "${TR_TRANSLATION_DIR}/${TR_REPO_SUBDIR}")
message(STATUS "Setting git repository in the translations dir '${TR_TRANSLATION_DIR}' ...")
if (EXISTS "${TR_TRANSLATION_DIR}/.git")
execute_process(COMMAND rm -Rf .git
WORKING_DIRECTORY "${TR_TRANSLATION_DIR}"
RESULT_VARIABLE ex_result
)
if (NOT "${ex_result}" EQUAL 0)
message(FATAL_ERROR "Initialization(cleanup) of translations dir failed!")
endif ()
endif()
# make sure the dir exist, otherwise git init will fail
file(MAKE_DIRECTORY "${TR_TRANSLATION_DIR}")
execute_process(COMMAND "${GIT_EXECUTABLE}" init
WORKING_DIRECTORY "${TR_TRANSLATION_DIR}"
RESULT_VARIABLE ex_result
)
if (NOT "${ex_result}" EQUAL 0)
message(FATAL_ERROR "Initialization(init) of translations dir failed!")
endif ()
execute_process(COMMAND "${GIT_EXECUTABLE}" remote add origin "${TR_TRANSLATIONS_REPO}"
WORKING_DIRECTORY "${TR_TRANSLATION_DIR}"
RESULT_VARIABLE ex_result
)
if (NOT "${ex_result}" EQUAL 0)
message(FATAL_ERROR "Initialization(remote) of translations dir failed!")
endif ()
execute_process(COMMAND "${GIT_EXECUTABLE}" config core.sparseCheckout true
WORKING_DIRECTORY "${TR_TRANSLATION_DIR}"
RESULT_VARIABLE ex_result
)
if (NOT "${ex_result}" EQUAL 0)
message(FATAL_ERROR "Initialization(config) of translations dir failed!")
endif ()
file(WRITE "${TR_TRANSLATION_DIR}/.git/info/sparse-checkout" "${TR_REPO_SUBDIR}")
endif ()
message(STATUS "Pulling the translations...")
execute_process(COMMAND "${GIT_EXECUTABLE}" pull origin "${TR_TRANSLATIONS_REFSPEC}"
WORKING_DIRECTORY "${TR_TRANSLATION_DIR}"
RESULT_VARIABLE ex_result
)
if (NOT "${ex_result}" EQUAL 0)
message(FATAL_ERROR "Pulling translations failed!")
endif ()
endif ()
#project/module can use it's own translations (not from external)
if (EXISTS "${TR_TRANSLATION_DIR}/${TR_REPO_SUBDIR}/")
file(GLOB tsFiles "${TR_TRANSLATION_DIR}/${TR_REPO_SUBDIR}/*_*.ts")
set(templateFile "${TR_TRANSLATION_DIR}/${TR_REPO_SUBDIR}/${TR_TEMPLATE}.ts")
else ()
file(GLOB tsFiles "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}_*.ts")
set(templateFile "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}.ts")
endif ()
if(TR_USE_QT5)
# Qt5
if (TR_UPDATE_TRANSLATIONS)
qt5_patched_create_translation(QMS
${TR_SOURCES}
${templateFile}
OPTIONS ${TR_UPDATE_OPTIONS}
)
qt5_patched_create_translation(QM
${TR_SOURCES}
${tsFiles}
OPTIONS ${TR_UPDATE_OPTIONS}
)
else()
qt5_patched_add_translation(QM ${tsFiles})
endif()
else()
# Qt4
if(TR_UPDATE_TRANSLATIONS)
qt4_create_translation(QMS
${TR_SOURCES}
${templateFile}
OPTIONS ${TR_UPDATE_OPTIONS}
)
qt4_create_translation(QM
${TR_SOURCES}
${tsFiles}
OPTIONS ${TR_UPDATE_OPTIONS}
)
else()
qt4_add_translation(QM ${tsFiles})
endif()
endif()
if(TR_UPDATE_TRANSLATIONS)
add_custom_target("update_${TR_TEMPLATE}_ts" ALL DEPENDS ${QMS})
endif()
if(DEFINED TR_INSTALL_DIR)
if(NOT DEFINED TR_COMPONENT)
set(TR_COMPONENT "Runtime")
endif()
install(FILES ${QM}
DESTINATION "${TR_INSTALL_DIR}"
COMPONENT "${TR_COMPONENT}"
)
endif()
set(${qmFiles} ${QM} PARENT_SCOPE)
endfunction()

@ -1,73 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# These functions enables "automatic" translation loading in LXQt Qt5 apps
# and libs. They generate a .cpp file that takes care of everything. The
# user doesn't have to do anything in the source code.
#
# Typical use:
# include(LXQtTranslationLoader)
# lxqt_app_translation_loader(lxqt-app_QM_LOADER ${PROJECT_NAME})
# add_executable(${PROJECT_NAME}
# ${lxqt-app_QM_LOADER}
# ...
# )
# lxqt_app_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
function(lxqt_app_translation_loader source_files catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtAppTranslationLoader.cpp.in
LXQtAppTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtAppTranslationLoader.cpp PARENT_SCOPE)
endfunction()
# lxqt_lib_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
function(lxqt_lib_translation_loader source_files catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtLibTranslationLoader.cpp.in
LXQtLibTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtLibTranslationLoader.cpp PARENT_SCOPE)
endfunction()
# lxqt_plugin_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
# <plugin_type> Plugin type. Example: lxqt-panel
function(lxqt_plugin_translation_loader source_files catalog_name plugin_type)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtPluginTranslationLoader.cpp.in
LXQtPluginTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtPluginTranslationLoader.cpp PARENT_SCOPE)
endfunction()

@ -1,112 +0,0 @@
#=============================================================================
# Copyright 2005-2011 Kitware, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of Kitware, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
include(CMakeParseArguments)
function(QT5_PATCHED_CREATE_TRANSLATION _qm_files)
set(options)
set(oneValueArgs)
set(multiValueArgs OPTIONS)
cmake_parse_arguments(_LUPDATE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(_lupdate_files ${_LUPDATE_UNPARSED_ARGUMENTS})
set(_lupdate_options ${_LUPDATE_OPTIONS})
set(_my_sources)
set(_my_tsfiles)
foreach(_file ${_lupdate_files})
get_filename_component(_ext ${_file} EXT)
get_filename_component(_abs_FILE ${_file} ABSOLUTE)
if(_ext MATCHES "ts")
list(APPEND _my_tsfiles ${_abs_FILE})
else()
list(APPEND _my_sources ${_abs_FILE})
endif()
endforeach()
foreach(_ts_file ${_my_tsfiles})
if(_my_sources)
# make a list file to call lupdate on, so we don't make our commands too
# long for some systems
# get_filename_component(_ts_name ${_ts_file} NAME_WE)
get_filename_component(_name ${_ts_file} NAME)
string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _ts_name ${_name})
set(_ts_lst_file "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lst_file")
set(_lst_file_srcs)
foreach(_lst_file_src ${_my_sources})
set(_lst_file_srcs "${_lst_file_src}\n${_lst_file_srcs}")
endforeach()
get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
foreach(_pro_include ${_inc_DIRS})
get_filename_component(_abs_include "${_pro_include}" ABSOLUTE)
set(_lst_file_srcs "-I${_pro_include}\n${_lst_file_srcs}")
endforeach()
file(WRITE ${_ts_lst_file} "${_lst_file_srcs}")
endif()
add_custom_command(OUTPUT ${_ts_file}
COMMAND ${Qt5_LUPDATE_EXECUTABLE}
ARGS ${_lupdate_options} "@${_ts_lst_file}" -ts ${_ts_file}
DEPENDS ${_my_sources} ${_ts_lst_file} VERBATIM)
endforeach()
qt5_patched_add_translation(${_qm_files} ${_my_tsfiles})
set(${_qm_files} ${${_qm_files}} PARENT_SCOPE)
endfunction()
function(QT5_PATCHED_ADD_TRANSLATION _qm_files)
foreach(_current_FILE ${ARGN})
get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
# get_filename_component(qm ${_abs_FILE} NAME_WE)
get_filename_component(_name ${_abs_FILE} NAME)
string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" qm ${_name})
get_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
if(output_location)
file(MAKE_DIRECTORY "${output_location}")
set(qm "${output_location}/${qm}.qm")
else()
set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
endif()
add_custom_command(OUTPUT ${qm}
COMMAND ${Qt5_LRELEASE_EXECUTABLE}
ARGS ${_abs_FILE} -qm ${qm}
DEPENDS ${_abs_FILE} VERBATIM
)
list(APPEND ${_qm_files} ${qm})
endforeach()
set(${_qm_files} ${${_qm_files}} PARENT_SCOPE)
endfunction()

@ -1,47 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# These functions enables "automatic" translation loading in Qt5 apps
# and libs. They generate a .cpp file that takes care of everything. The
# user doesn't have to do anything in the source code.
#
# qt5_translation_loader(<source_files> <translations_dir> <catalog_name>)
#
# Output:
# <source_files> Appends the generated file to this variable.
#
# Input:
# <translations_dir> Full path name to the translations dir.
# <catalog_name> Translation catalog to be loaded.
function(qt5_translation_loader source_files translations_dir catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/Qt5TranslationLoader.cpp.in
Qt5TranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/Qt5TranslationLoader.cpp PARENT_SCOPE)
endfunction()

@ -1,33 +0,0 @@
/* This file has been generated by the CMake qt_translation_loader().
* It loads Qt application translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <QLocale>
#include <QTranslator>
#include <QLibraryInfo>
static void loadQtTranslation()
{
QString locale = QLocale::system().name();
QTranslator *qtTranslator = new QTranslator(qApp);
if (qtTranslator->load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) {
qApp->installTranslator(qtTranslator);
} else {
delete qtTranslator;
}
QTranslator *appTranslator = new QTranslator(qApp);
if (appTranslator->load(QString("@translations_dir@/@catalog_name@_%1.qm").arg(locale))) {
QCoreApplication::installTranslator(appTranslator);
} else if (locale == QLatin1String("C") ||
locale.startsWith(QLatin1String("en"))) {
// English is the default. It's translated anyway.
delete appTranslator;
}
}
Q_COREAPP_STARTUP_FUNCTION(loadQtTranslation)

@ -1,10 +0,0 @@
set(PACKAGE_VERSION "@LXQT_BUILD_TOOLS_VERSION@")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

@ -1,9 +0,0 @@
@PACKAGE_INIT@
set(LXQT_CMAKE_MODULES_DIR "@PACKAGE_MODULES_INSTALL_DIR@")
set(LXQT_CMAKE_FIND_MODULES_DIR "@PACKAGE_FIND_MODULES_INSTALL_DIR@")
list(APPEND CMAKE_MODULE_PATH
"${LXQT_CMAKE_MODULES_DIR}"
"${LXQT_CMAKE_FIND_MODULES_DIR}"
)
Loading…
Cancel
Save