Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:AndnoVember:LXQt:Qt6
lxqt2-build-tools
_service:obs_scm:lxqt2-build-tools-2.0.0+git202...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:lxqt2-build-tools-2.0.0+git20240417.obscpio of Package lxqt2-build-tools
07070100000000000081A4000000000000000000000001661F9ECA000001A9000000000000000000000000000000000000003300000000lxqt2-build-tools-2.0.0+git20240417/.gitattributes# remove files from deployment using `git archive` # git* files .gitattributes export-ignore .github export-ignore .gitignore export-ignore # several files and directories we never want to export # a little bit belt and braces as the most of these files # should never ever be in the repository .*~ export-ignore .kdev4 export-ignore /build export-ignore /temp export-ignore /tmp export-ignore 07070100000001000041ED000000000000000000000002661F9ECA00000000000000000000000000000000000000000000002C00000000lxqt2-build-tools-2.0.0+git20240417/.github07070100000002000081A4000000000000000000000001661F9ECA00000732000000000000000000000000000000000000003E00000000lxqt2-build-tools-2.0.0+git20240417/.github/ISSUE_TEMPLATE.md<!--- Provide a general summary of the issue in the title above. You ---> <!--- should not delete relevant sections and/or questions in your report ---> <!--- BEFORE FILLING OUT THIS REPORT FORM: ---> <!--- Dear users of stable and LTS (long term service) distributions: ---> <!--- Please do NOT file bugs against old (dead) versions but use your ---> <!--- distribution bugtracker instead. This is esp. true for Ubuntu LTS. ---> ##### Expected Behavior <!--- If you're describing a bug, tell us what should happen --> <!--- If you're suggesting a change/improvement, tell us how it should work --> ##### Current Behavior <!--- If describing a bug, tell us what happens instead of the expected ---> <!--- behaviour. If suggesting a change/improvement, explain the difference --> <!--- from current behavior (a screenshot might help) ---> ##### Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, ---> <!--- or ideas how to implement the addition or change ---> ##### Steps to Reproduce (for bugs) <!--- Provide a link to a live example, or an unambiguous set of steps to ---> <!--- reproduce this bug. Include code to reproduce, if relevant ---> 1. 2. 3. 4. ##### Context <!--- How has this issue affected you? What are you trying to accomplish? ---> <!--- Providing context helps us come up with a solution that is most ---> <!--- useful in the real world ---> ##### System Information <!--- Include as many relevant details about the system you experienced ---> <!--- the bug in ---> * Distribution & Version: * Kernel: * Qt Version: * Package version: 07070100000003000081A4000000000000000000000001661F9ECA00000024000000000000000000000000000000000000002F00000000lxqt2-build-tools-2.0.0+git20240417/.gitignore*.kdev4* CMakeLists.txt.user* build 07070100000004000081A4000000000000000000000001661F9ECA00000439000000000000000000000000000000000000002C00000000lxqt2-build-tools-2.0.0+git20240417/AUTHORSUpstream Authors: LXQt team: https://lxqt-project.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. 07070100000005000081A4000000000000000000000001661F9ECA000005CB000000000000000000000000000000000000003100000000lxqt2-build-tools-2.0.0+git20240417/BSD-3-ClauseLicense: 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. 07070100000006000081A4000000000000000000000001661F9ECA00003701000000000000000000000000000000000000002E00000000lxqt2-build-tools-2.0.0+git20240417/CHANGELOGlxqt-build-tools-2.0.0 / 2024-04-17 ==================================== * Ported to Qt6, with the new project name `lxqt2-build-tools`. lxqt-build-tools-0.13.0 / 2023-04-15 ==================================== * Bumped minimum compatibility level to C++17. lxqt-build-tools-0.12.0 / 2022-11-05 ==================================== * Support absolute `CMAKE_INSTALL_{INCLUDE,LIB}DIR` in `LXQtCreatePkgConfigFile`. * Use `gdesktopappinfo.h` to find gio-unix-2.0 in `FindGLIB.cmake`. * Drop use of `-Bsymbolic` in `LXQtCompilerSettings`. lxqt-build-tools-0.11.0 / 2022-04-15 ==================================== * Replaced `gunixconnection.h` file in `gio-unix` include dir check (after GLib 2.71.1). lxqt-build-tools-0.10.0 / 2021-11-04 ==================================== * Set the minimum required version of Qt to 5.15. lxqt-build-tools-0.9.0 / 2021-04-15 =================================== * Added a CMake FindXTerm module. lxqt-build-tools-0.8.0 / 2020-11-01 =================================== * Removed version checks for some LXQt dependencies. * Added a Fontconfig CMake find module. * Suppressed warning about find_package_handle_standard_args package name mismatch. lxqt-build-tools-0.7.0 / 2020-04-21 =================================== * Bump version to 0.7.0. * Initial support for Xcode (AppleClang and ld64). * Added a section for settings related to CMake build. * Set C++ extensions to be disabled. * Forbid string casts in LXQtCompilerSettings. * Added a FindClazy CMake module. * Enabled Clazy option when building with clang. * Adds CMake find modules for some xdg-utils tools. * The minimum Qt version is bumped to 5.10.0. lxqt-build-tools-0.6.0 / 2018-01-25 =================================== * Bump version to 0.6.0 * Don't use automatic string conversions * Introduced lxqt-transupdate for translation updates * Improved cmake scripting - Set cmake_minimum_required to 3.1.0 - Consider QT_SELECT - some distributions use this tool - Drop 0X and 11 support, require c++14 - Remvoed QUIET from any finds - Cleaned up LXQtTranslateTs module - Removed translation pulling and cleanup external repos after translations moved back to their original repos - Remove link-time optimization for gcc since it breaks qobject_cast() in some cases. - Removed obsolete FindFm module lxqt-build-tools-0.5.0 / 2018-05-21 =================================== * Bump version to 0.5.0 * Prevent in-source builds * Adds an PreventInSourceBuilds module * http --> https * Fixed some LXDE mentions * LXQtCompilerSettings: Set CMAKE_C_VISIBILITY_PRESET to hidden * Don't allow Qt foreach/Q_FOREACH * Update CMakeLists.txt * Require Qt 5.7.1 * Adds a FindXKBCommon CMake module * Adds ECMFindModuleHelpers CMake module * Don't export github templates 0.4.0 / 2017-09-22 ================== * Release 0.4.0: Update changelog * 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 07070100000007000081A4000000000000000000000001661F9ECA000015EE000000000000000000000000000000000000003300000000lxqt2-build-tools-2.0.0+git20240417/CMakeLists.txtcmake_minimum_required(VERSION 3.18.0 FATAL_ERROR) # CMP0000: Call the cmake_minimum_required() command at the beginning of the top-level # CMakeLists.txt file even before calling the project() command. # The cmake_minimum_required(VERSION) command implicitly invokes the cmake_policy(VERSION) # command to specify that the current project code is written for the given range of CMake # versions. project(lxqt2-build-tools) option(WITH_XDG_DIRS_FALLBACK "Use our XDG_CONFIG_DIRS fallback" ON) set(LXQT_BUILD_TOOLS_MAJOR_VERSION 2) set(LXQT_BUILD_TOOLS_MINOR_VERSION 0) 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}) set(LXQT_MIN_LINGUIST_VERSION "6.6") include(CMakePackageConfigHelpers) include(GNUInstallDirs) # Standard directories for installation include(FeatureSummary) include(cmake/FindInstallConfigPath.cmake) # sets LXQT_ETC_XDG_DIR, if unset include(cmake/modules/LXQtPreventInSourceBuilds.cmake) #----------------------------------------------------------------------------- # 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/*.cpp.in" ) file(GLOB toInstallModulesHelpers "${PROJECT_SOURCE_DIR}/cmake/modules/*.pl" ) #----------------------------------------------------------------------------- # Superbuild mode #----------------------------------------------------------------------------- set(FIND_MODULES_INSTALL_DIR "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/find-modules/") set(MODULES_INSTALL_DIR "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/modules/") file(COPY ${toInstallFindModules} DESTINATION "${FIND_MODULES_INSTALL_DIR}" ) file(COPY ${toInstallModules} ${toInstallModulesHelpers} DESTINATION "${MODULES_INSTALL_DIR}" ) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config.cmake.in" "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-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 ) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/LXQtTranslateTs.cmake.in" "${MODULES_INSTALL_DIR}/LXQtTranslateTs.cmake" @ONLY ) #----------------------------------------------------------------------------- # Installable mode #----------------------------------------------------------------------------- set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/${CMAKE_PROJECT_NAME}/") set(FIND_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/${CMAKE_PROJECT_NAME}/find-modules/") set(MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/${CMAKE_PROJECT_NAME}/modules/") configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/install/${CMAKE_PROJECT_NAME}-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 ) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/LXQtTranslateTs.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/install/LXQtTranslateTs.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}/${CMAKE_PROJECT_NAME}-config-version.cmake" @ONLY ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/${CMAKE_PROJECT_NAME}-config.cmake" "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-config-version.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" ) install( FILES ${toInstallFindModules} DESTINATION "${FIND_MODULES_INSTALL_DIR}" ) install( FILES ${toInstallModules} ${toInstallModulesHelpers} "${CMAKE_CURRENT_BINARY_DIR}/install/LXQtConfigVars.cmake" "${CMAKE_CURRENT_BINARY_DIR}/install/LXQtTranslateTs.cmake" DESTINATION "${MODULES_INSTALL_DIR}" ) # Tools install install( PROGRAMS "lxqt-transupdate" DESTINATION "${CMAKE_INSTALL_BINDIR}" RENAME "lxqt2-transupdate" ) # Feature summary feature_summary( FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT ALL ) 07070100000008000081A4000000000000000000000001661F9ECA00000728000000000000000000000000000000000000002E00000000lxqt2-build-tools-2.0.0+git20240417/README.md# 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/lxqt/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). ## Current Minimum Versions | Package | Version| |------------------------------|--------| | KF6_MINIMUM_VERSION | 6.0.0 | | KF6SCREEN_MINIMUM_VERSION | 6.0.0 | | LIBFM_QT_MINIMUM_VERSION | 2.0.0 | | LIBFMQT_MINIMUM_VERSION | 2.0.0 | | LIBMENUCACHE_MINIMUM_VERSION | 1.1.0 | | LXQTBT_MINIMUM_VERSION | 2.0.0 | | LXQT_MINIMUM_VERSION | 2.0.0 | | QTERMWIDGET_MINIMUM_VERSION | 0.14.0 | | QT_MINIMUM_VERSION | 6.6.0 | | QTXDG_MINIMUM_VERSION | 4.0.0 | 07070100000009000041ED000000000000000000000004661F9ECA00000000000000000000000000000000000000000000002A00000000lxqt2-build-tools-2.0.0+git20240417/cmake0707010000000A000081A4000000000000000000000001661F9ECA00000604000000000000000000000000000000000000004600000000lxqt2-build-tools-2.0.0+git20240417/cmake/FindInstallConfigPath.cmake# 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 qmake: # qtpaths --query QT_INSTALL_CONFIGURATION # find_package(Qt6 ${LXQTBT_QT_MINIMUM_VERSION} REQUIRED) find_package(Qt6CoreTools ${LXQTBT_QT_MINIMUM_VERSION} REQUIRED) macro(print_set_lxqt_etc_xdg_dir_info) message(STATUS "You can set it manually with -DLXQT_ETC_XDG_DIR=<value>") message(STATUS "") endmacro() include(${PROJECT_SOURCE_DIR}/cmake/modules/LXQtQueryQt.cmake) if(NOT DEFINED LXQT_ETC_XDG_DIR) set(qt_variable "QT_INSTALL_CONFIGURATION") lxqt_query_qt(output_path ${qt_variable} IGNORE_ERRORS) if (output_path STREQUAL "") set(output_path "/etc/xdg") set(LXQT_ETC_XDG_DIR ${output_path} CACHE FILEPATH "Location of the LXQt XDG system-wide configuration files") message(STATUS "Got nothing from: ${QUERY_EXECUTABLE} --query \"${qt_variable}\"") message(STATUS "Unable to autodetect LXQT_ETC_XDG_DIR. LXQT_ETC_XDG_DIR will be set to '/etc/xdg'") else() set(LXQT_ETC_XDG_DIR ${output_path} CACHE FILEPATH "Location of the LXQt XDG system-wide configuration files") message(STATUS "LXQT_ETC_XDG_DIR autodetected as '${LXQT_ETC_XDG_DIR}'") endif() print_set_lxqt_etc_xdg_dir_info() endif() 0707010000000B000081A4000000000000000000000001661F9ECA00000756000000000000000000000000000000000000004200000000lxqt2-build-tools-2.0.0+git20240417/cmake/LXQtConfigVars.cmake.in# 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}\"") 0707010000000C000041ED000000000000000000000002661F9ECA00000000000000000000000000000000000000000000003700000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules0707010000000D000081A4000000000000000000000001661F9ECA000010F0000000000000000000000000000000000000004700000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindClazy.cmake#.rst: # FindClazy # ------------ # # Try to find the Clazy package # # This will define the following variables: # # ``Clazy_FOUND`` # True if (the requested version of) Clazy is available # # ``Clazy_VERSION`` # The version of Clazy # # ``Clazy_EXECUTABLE`` # The clazy executable # # ``Clazy_STANDALONE_EXECUTABLE # The clazy executable # # ``Clazy_PLUGIN`` # The clazy library # # If ``Clazy_FOUND`` is TRUE, it will also define the following imported # targets: # # ``Clazy::Clazy`` # The clazy executable # # ``Clazy::Standalone`` # The clazy-standalone executable # # ``Clazy::Plugin`` # The clazy plugin # #============================================================================= # Copyright (c) 2019, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_clazy_REQUIRED_VARS) find_program(Clazy_EXECUTABLE NAMES clazy) if (Clazy_EXECUTABLE) execute_process(COMMAND ${Clazy_EXECUTABLE} --version OUTPUT_VARIABLE _clazy_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "clazy version: ([0-9]\\.[0-9]+).*" "\\1" Clazy_VERSION_STRING "${_clazy_version}") if (Clazy_VERSION_STRING VERSION_LESS 1.5) if (Clazy_FIND_REQUIRED) message(FATAL_ERROR "Clazy versions prior to 1.5 not supported. Found Clazy version: ${Clazy_VERSION_STRING}") else() message(WARNING "Clazy versions prior to 1.5 not supported. Found Clazy version: ${Clazy_VERSION_STRING}") endif() endif() if (Clazy_FIND_REQUIRED) list(APPEND _clazy_REQUIRED_VARS ${Clazy_EXECUTABLE}) endif() find_program(Clazy_STANDALONE NAMES clazy-standalone) if (Clazy_FIND_REQUIRED) list(APPEND _clazy_REQUIRED_VARS ${Clazy_STANDALONE}) endif() find_library(Clazy_PLUGIN NAMES ClazyPlugin ClazyPlugin${CMAKE_SHARED_LIBRARY_SUFFIX}) if (Clazy_FIND_REQUIRED) list(APPEND _clazy_REQUIRED_VARS ${Clazy_PLUGIN}) endif() find_package_handle_standard_args(Clazy REQUIRED_VARS _clazy_REQUIRED_VARS VERSION_VAR Clazy_VERSION_STRING ) if (Clazy_FOUND) if (NOT TARGET Clazy::Clazy) add_executable(Clazy::Clazy IMPORTED) set_target_properties(Clazy::Clazy PROPERTIES IMPORTED_LOCATION "${Clazy_EXECUTABLE}" ) endif() if (NOT TARGET Clazy::Standalone) add_executable(Clazy::Standalone IMPORTED) set_target_properties(Clazy::Standalone PROPERTIES IMPORTED_LOCATION "${Clazy_STANDALONE}" ) endif() if (NOT TARGET Clazy::Plugin) add_library(Clazy::Plugin SHARED IMPORTED) set_target_properties(Clazy::Plugin PROPERTIES IMPORTED_LOCATION "${Clazy_PLUGIN}" ) endif() endif() 0707010000000E000081A4000000000000000000000001661F9ECA00000879000000000000000000000000000000000000004600000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindExif.cmake# 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) pkg_check_modules(PC_EXIF 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) 0707010000000F000081A4000000000000000000000001661F9ECA00000F0C000000000000000000000000000000000000004C00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindFontconfig.cmake#.rst: # FindFontconfig # -------------- # # Try to find Fontconfig. # Once done this will define the following variables: # # ``Fontconfig_FOUND`` # True if Fontconfig is available # ``Fontconfig_INCLUDE_DIRS`` # The include directory to use for the Fontconfig headers # ``Fontconfig_LIBRARIES`` # The Fontconfig libraries for linking # ``Fontconfig_DEFINITIONS`` # Compiler switches required for using Fontconfig # ``Fontconfig_VERSION`` # The version of Fontconfig that has been found # # If ``Fontconfig_FOUND`` is TRUE, it will also define the following # imported target: # # ``Fontconfig::Fontconfig`` # # Since 5.57.0. #============================================================================= # SPDX-FileCopyrightText: 2006, 2007 Laurent Montel <montel@kde.org> # SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org> # # SPDX-License-Identifier: BSD-3-Clause #============================================================================= # 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_FONTCONFIG QUIET fontconfig) set(Fontconfig_DEFINITIONS ${PC_FONTCONFIG_CFLAGS_OTHER}) find_path(Fontconfig_INCLUDE_DIRS fontconfig/fontconfig.h PATHS ${PC_FONTCONFIG_INCLUDE_DIRS} /usr/X11/include ) find_library(Fontconfig_LIBRARIES NAMES fontconfig PATHS ${PC_FONTCONFIG_LIBRARY_DIRS} ) set(Fontconfig_VERSION ${PC_FONTCONFIG_VERSION}) if (NOT Fontconfig_VERSION) find_file(Fontconfig_VERSION_HEADER NAMES "fontconfig/fontconfig.h" HINTS ${Fontconfig_INCLUDE_DIRS} ) mark_as_advanced(Fontconfig_VERSION_HEADER) if (Fontconfig_VERSION_HEADER) file(READ ${Fontconfig_VERSION_HEADER} _fontconfig_version_header_content) string(REGEX MATCH "#define FC_MAJOR[ \t]+[0-9]+" Fontconfig_MAJOR_VERSION_MATCH ${_fontconfig_version_header_content}) string(REGEX MATCH "#define FC_MINOR[ \t]+[0-9]+" Fontconfig_MINOR_VERSION_MATCH ${_fontconfig_version_header_content}) string(REGEX MATCH "#define FC_REVISION[ \t]+[0-9]+" Fontconfig_PATCH_VERSION_MATCH ${_fontconfig_version_header_content}) string(REGEX REPLACE ".*FC_MAJOR[ \t]+(.*)" "\\1" Fontconfig_MAJOR_VERSION ${Fontconfig_MAJOR_VERSION_MATCH}) string(REGEX REPLACE ".*FC_MINOR[ \t]+(.*)" "\\1" Fontconfig_MINOR_VERSION ${Fontconfig_MINOR_VERSION_MATCH}) string(REGEX REPLACE ".*FC_REVISION[ \t]+(.*)" "\\1" Fontconfig_PATCH_VERSION ${Fontconfig_PATCH_VERSION_MATCH}) set(Fontconfig_VERSION "${Fontconfig_MAJOR_VERSION}.${Fontconfig_MINOR_VERSION}.${Fontconfig_PATCH_VERSION}") endif() endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Fontconfig FOUND_VAR Fontconfig_FOUND REQUIRED_VARS Fontconfig_LIBRARIES Fontconfig_INCLUDE_DIRS VERSION_VAR Fontconfig_VERSION ) mark_as_advanced(Fontconfig_LIBRARIES Fontconfig_INCLUDE_DIRS) if(Fontconfig_FOUND AND NOT TARGET Fontconfig::Fontconfig) add_library(Fontconfig::Fontconfig UNKNOWN IMPORTED) set_target_properties(Fontconfig::Fontconfig PROPERTIES IMPORTED_LOCATION "${Fontconfig_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${Fontconfig_INCLUDE_DIRS}" INTERFACE_COMPILER_DEFINITIONS "${Fontconfig_DEFINITIONS}" ) endif() # backward compatibility, remove in kf6 set(FONTCONFIG_INCLUDE_DIR "${Fontconfig_INCLUDE_DIRS}") set(FONTCONFIG_LIBRARIES "${Fontconfig_LIBRARIES}") set(FONTCONFIG_DEFINITIONS "${Fontconfig_DEFINITIONS}") mark_as_advanced(FONTCONFIG_INCLUDE_DIR FONTCONFIG_LIBRARIES FONTCONFIG_DEFINITIONS) include(FeatureSummary) set_package_properties(Fontconfig PROPERTIES URL "https://www.fontconfig.org/" DESCRIPTION "Fontconfig is a library for configuring and customizing font access" ) 07070100000010000081A4000000000000000000000001661F9ECA000015DF000000000000000000000000000000000000004600000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindGLIB.cmake# - 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 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 gio-unix-2.0) find_path(GLIB_GIO_UNIX_INCLUDE_DIR NAMES gio/gdesktopappinfo.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 ) 07070100000011000081A4000000000000000000000001661F9ECA000009B8000000000000000000000000000000000000004B00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindMenuCache.cmake# 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) pkg_check_modules(PC_MENUCACHE 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) 07070100000012000081A4000000000000000000000001661F9ECA00000A77000000000000000000000000000000000000004600000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindUDev.cmake# - 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 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") 07070100000013000081A4000000000000000000000001661F9ECA00000771000000000000000000000000000000000000004500000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXCB.cmake#.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 "https://xcb.freedesktop.org/" DESCRIPTION "X protocol C-language Binding") find_package(PkgConfig) pkg_check_modules(PC_XCB 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) 07070100000014000081A4000000000000000000000001661F9ECA0000104F000000000000000000000000000000000000004B00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXKBCommon.cmake#.rst: # FindXKBCommon # ----------- # # Try to find XKBCommon. # # This is a component-based find module, which makes use of the COMPONENTS # and OPTIONAL_COMPONENTS arguments to find_module. The following components # are available:: # # XKBCommon X11 # # If no components are specified, this module will act as though all components # were passed to OPTIONAL_COMPONENTS. # # This module will define the following variables, independently of the # components searched for or found: # # ``XKBCommon_FOUND`` # TRUE if (the requested version of) XKBCommon is available # ``XKBCommon_VERSION`` # Found XKBCommon version # ``XKBCommon_TARGETS`` # A list of all targets imported by this module (note that there may be more # than the components that were requested) # ``XKBCommon_LIBRARIES`` # This can be passed to target_link_libraries() instead of the imported # targets # ``XKBCommon_INCLUDE_DIRS`` # This should be passed to target_include_directories() if the targets are # not used for linking # ``XKBCommon_DEFINITIONS`` # This should be passed to target_compile_options() if the targets are not # used for linking # # For each searched-for components, ``XKBCommon_<component>_FOUND`` will be set to # TRUE if the corresponding XKBCommon library was found, and FALSE otherwise. If # ``XKBCommon_<component>_FOUND`` is TRUE, the imported target # ``XKBCommon::<component>`` will be defined. #============================================================================= # Copyright 2017 Luís Pereira <luis.artur.pereira@gmail.com> # # Documentation adapted from the KF5 FindWayland module. # # 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. #============================================================================= include(ECMFindModuleHelpers) ecm_find_package_version_check(XKBCommon) set(XKBCommon_known_components XKBCommon X11) unset(XKBCommon_XKBCommon_component_deps) set(XKBCommon_XKBCommon_pkg_config "xkbcommon") set(XKBCommon_XKBCommon_lib "xkbcommon") set(XKBCommon_XKBCommon_header "xkbcommon/xkbcommon.h") set(XKBCommon_X11_component_deps XKBCommon) set(XKBCommon_X11_pkg_config "xkbcommon-x11") set(XKBCommon_X11_lib "xkbcommon-x11") set(XKBCommon_X11_header "xkbcommon/xkbcommon-x11.h") ecm_find_package_parse_components(XKBCommon RESULT_VAR XKBCommon_components KNOWN_COMPONENTS ${XKBCommon_known_components} ) ecm_find_package_handle_library_components(XKBCommon COMPONENTS ${XKBCommon_components} ) find_package_handle_standard_args(XKBCommon FOUND_VAR XKBCommon_FOUND REQUIRED_VARS XKBCommon_LIBRARIES XKBCommon_INCLUDE_DIRS VERSION_VAR XKBCommon_VERSION HANDLE_COMPONENTS ) include(FeatureSummary) set_package_properties(XKBCommon PROPERTIES URL "https://xkbcommon.org" DESCRIPTION "A library to handle keyboard descriptions" ) 07070100000015000081A4000000000000000000000001661F9ECA00000811000000000000000000000000000000000000004700000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXTerm.cmake#============================================================================= # Copyright 2020 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. #============================================================================= # FindXTerm # # Try to find the XTerm executable # # This will define the following variables: # # `XTerm_FOUND` # True if XTerm executable is available. # # `XTerm_EXECUTABLE` # The XTerm executable. # # Find XTerm executable find_program(XTerm_EXECUTABLE NAMES xterm) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(XTerm FOUND_VAR XTerm_FOUND REQUIRED_VARS XTerm_EXECUTABLE ) mark_as_advanced(XTerm_EXECUTABLE) 07070100000016000081A4000000000000000000000001661F9ECA00000E2C000000000000000000000000000000000000004A00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgEmail.cmake#.rst: # FindXdgEmail # ------------ # # Try to find the xdg-email executable # # This will define the following variables: # # ``XdgEmail_FOUND`` # True if (the requested version of) XdgEmail is available # # ``XdgEmail_VERSION`` # The version of XdgEmail # # ``XdgEmail_EXECUTABLE`` # The xdg-email executable # # If ``XdgEmail_FOUND`` is TRUE, it will also define the following imported # target: # # ``XdgEmail::XdgEmail`` # The xdg-email executable # # #============================================================================= # Copyright (c) 2019, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_xdgemail_REQUIRED_VARS) set(_xdgemail_deps XdgMime XdgOpen) set(_xdgemail_QUIET) if (XdgEmail_FIND_QUIETLY) set(_xdgemail_QUIET QUIET) endif() set(_xdgemail_REQUIRED) if (XdgEmail_FIND_REQUIRED) set(_xdgemail_REQUIRED REQUIRED) endif() find_program(XdgEmail_EXECUTABLE NAMES xdg-email) if (XdgEmail_EXECUTABLE) execute_process(COMMAND ${XdgEmail_EXECUTABLE} --version OUTPUT_VARIABLE _xdgemail_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "xdg-email ([0-9]\\.[0-9]\\.[0-9]+).*" "\\1" XdgEmail_VERSION_STRING "${_xdgemail_version}") if (XdgEmail_FIND_REQUIRED) list(APPEND _xdgemail_REQUIRED_VARS ${XdgEmail_EXECUTABLE}) endif() foreach(module ${_xdgemail_deps}) find_package(${module} ${XdgEmail_FIND_VERSION} ${_xdgemail_QUIET} ${_xdgemail_REQUIRED}) if (XdgEmail_FIND_REQUIRED) list(APPEND _xdgemail_REQUIRED_VARS ${${module}_EXECUTABLE}) endif() endforeach() find_package_handle_standard_args(XdgEmail REQUIRED_VARS _xdgemail_REQUIRED_VARS VERSION_VAR XdgEmail_VERSION_STRING ) if (XdgEmail_FOUND AND NOT TARGET XdgEmail::XdgEmail) add_executable(XdgEmail::XdgEmail IMPORTED) set_target_properties(XdgEmail::XdgEmail PROPERTIES IMPORTED_LOCATION "${XdgEmail_EXECUTABLE}" ) endif() mark_as_advanced(XdgEmail_EXECUTABLE) 07070100000017000081A4000000000000000000000001661F9ECA00000C27000000000000000000000000000000000000004900000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgMime.cmake#.rst: # FindXdgMime # ------------ # # Try to find the xdg-mime executable # # This will define the following variables: # # ``XdgMime_FOUND`` # True if (the requested version of) XdgMime is available # # ``XdgMime_VERSION`` # The version of XdgMime # # ``XdgMime_EXECUTABLE`` # The xdg-mime executable # # If ``XdgMime_FOUND`` is TRUE, it will also define the following imported # target: # # ``XdgMime::XdgMime`` # The xdg-mime executable # # #============================================================================= # Copyright (c) 2019, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_xdgmime_REQUIRED_VARS) find_program(XdgMime_EXECUTABLE NAMES xdg-mime) if (XdgMime_EXECUTABLE) execute_process(COMMAND ${XdgMime_EXECUTABLE} --version OUTPUT_VARIABLE _xdgmime_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "xdg-mime ([0-9]\\.[0-9]\\.[0-9]+).*" "\\1" XdgMime_VERSION_STRING "${_xdgmime_version}") if (XdgMime_FIND_REQUIRED) list(APPEND _xdgmime_REQUIRED_VARS ${XdgMime_EXECUTABLE}) endif() find_package_handle_standard_args(XdgMime REQUIRED_VARS _xdgmime_REQUIRED_VARS VERSION_VAR XdgMime_VERSION_STRING ) if (XdgMime_FOUND AND NOT TARGET XdgMime::XdgMime) add_executable(XdgMime::XdgMime IMPORTED) set_target_properties(XdgMime::XdgMime PROPERTIES IMPORTED_LOCATION "${XdgMime_EXECUTABLE}" ) endif() mark_as_advanced(XdgMime_EXECUTABLE) 07070100000018000081A4000000000000000000000001661F9ECA00000DF3000000000000000000000000000000000000004900000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgOpen.cmake#.rst: # FindXdgOpen # ------------ # # Try to find the xdg-open executable # # This will define the following variables: # # ``XdgOpen_FOUND`` # True if (the requested version of) XdgOpen is available # # ``XdgOpen_VERSION`` # The version of XdgOpen # # ``XdgOpen_EXECUTABLE`` # The xdg-open executable # # If ``XdgOpen_FOUND`` is TRUE, it will also define the following imported # target: # # ``XdgOpen::XdgOpen`` # The xdg-open executable # # #============================================================================= # Copyright (c) 2019, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_xdgopen_REQUIRED_VARS) set(_xdgopen_deps XdgMime) set(_xdgopen_QUIET) if (XdgOpen_FIND_QUIETLY) set(_xdgopen_QUIET QUIET) endif() set(_xdgopen_REQUIRED) if (XdgOpen_FIND_REQUIRED) set(_xdgopen_REQUIRED REQUIRED) endif() find_program(XdgOpen_EXECUTABLE NAMES xdg-open) if (XdgOpen_EXECUTABLE) execute_process(COMMAND ${XdgOpen_EXECUTABLE} --version OUTPUT_VARIABLE _xdgopen_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "xdg-open ([0-9]\\.[0-9]\\.[0-9]+).*" "\\1" XdgOpen_VERSION_STRING "${_xdgopen_version}") if (XdgOpen_FIND_REQUIRED) list(APPEND _xdgopen_REQUIRED_VARS ${XdgOpen_EXECUTABLE}) endif() foreach(module ${_xdgopen_deps}) find_package(${module} ${XdgOpen_FIND_VERSION} ${_xdgopen_QUIET} ${_xdgopen_REQUIRED}) if (XdgOpen_FIND_REQUIRED) list(APPEND _xdgopen_REQUIRED_VARS ${${module}_EXECUTABLE}) endif() endforeach() find_package_handle_standard_args(XdgOpen REQUIRED_VARS _xdgopen_REQUIRED_VARS VERSION_VAR XdgOpen_VERSION_STRING ) if (XdgOpen_FOUND AND NOT TARGET XdgOpen::XdgOpen) add_executable(XdgOpen::XdgOpen IMPORTED) set_target_properties(XdgOpen::XdgOpen PROPERTIES IMPORTED_LOCATION "${XdgOpen_EXECUTABLE}" ) endif() mark_as_advanced(XdgOpen_EXECUTABLE) 07070100000019000081A4000000000000000000000001661F9ECA00000E05000000000000000000000000000000000000005000000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgScreensaver.cmake#.rst: # FindXdgScreensaver # ------------ # # Try to find the xdg-screensaver executable # # This will define the following variables: # # ``XdgScreensaver_FOUND`` # True if (the requested version of) XdgScreensaver is available # # ``XdgScreensaver_VERSION`` # The version of XdgScreensaver # # ``XdgScreensaver_EXECUTABLE`` # The xdg-screensaver executable # # If ``XdgScreensaver_FOUND`` is TRUE, it will also define the following imported # target: # # ``XdgScreensaver::XdgScreensaver`` # The xdg-screensaver executable # # #============================================================================= # Copyright (c) 2020, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_xdgscreensaver_REQUIRED_VARS) set(_xdgscreensaver_QUIET) if (XdgScreensaver_FIND_QUIETLY) set(_xdgscreensaver_QUIET QUIET) endif() set(_xdgscreensaver_REQUIRED) if (XdgScreensaver_FIND_REQUIRED) set(_xdgscreensaver_REQUIRED REQUIRED) endif() find_program(XdgScreensaver_EXECUTABLE NAMES xdg-screensaver) if (XdgScreensaver_EXECUTABLE) execute_process(COMMAND ${XdgScreensaver_EXECUTABLE} --version OUTPUT_VARIABLE _xdgscreensaver_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "xdg-screensaver ([0-9]\\.[0-9]\\.[0-9]+).*" "\\1" XdgScreensaver_VERSION_STRING "${_xdgscreensaver_version}") if (XdgScreensaver_FIND_REQUIRED) list(APPEND _xdgscreensaver_REQUIRED_VARS ${XdgScreensaver_EXECUTABLE}) endif() find_package_handle_standard_args(XdgScreensaver REQUIRED_VARS _xdgscreensaver_REQUIRED_VARS VERSION_VAR XdgScreensaver_VERSION_STRING ) if (XdgScreensaver_FOUND AND NOT TARGET XdgScreensaver::XdgScreensaver) add_executable(XdgScreensaver::XdgScreensaver IMPORTED) set_target_properties(XdgScreensaver::XdgScreensaver PROPERTIES IMPORTED_LOCATION "${XdgScreensaver_EXECUTABLE}" ) endif() mark_as_advanced(XdgScreensaver_EXECUTABLE) 0707010000001A000081A4000000000000000000000001661F9ECA00000EB7000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgSettings.cmake#.rst: # FindXdgSettings # ------------ # # Try to find the xdg-settings executable # # This will define the following variables: # # ``XdgSettings_FOUND`` # True if (the requested version of) XdgSettings is available # # ``XdgSettings_VERSION`` # The version of XdgSettings # # ``XdgSettings_EXECUTABLE`` # The xdg-settings executable # # If ``XdgSettings_FOUND`` is TRUE, it will also define the following imported # target: # # ``XdgSettings::XdgSettings`` # The xdg-settings executable # # #============================================================================= # Copyright (c) 2019, Luís Pereira <luis.artur.pereira@gmail.com> # All rights reserved. # # 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 copyright holder 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(FindPackageHandleStandardArgs) set(_xdgsettings_REQUIRED_VARS) set(_xdgsettings_deps XdgMime) set(_xdgsettings_QUIET) if (XdgSettings_FIND_QUIETLY) set(_xdgsettings_QUIET QUIET) endif() set(_xdgsettings_REQUIRED) if (XdgSettings_FIND_REQUIRED) set(_xdgsettings_REQUIRED REQUIRED) endif() find_program(XdgSettings_EXECUTABLE NAMES xdg-settings) if (XdgSettings_EXECUTABLE) execute_process(COMMAND ${XdgSettings_EXECUTABLE} --version OUTPUT_VARIABLE _xdgsettings_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() string(REGEX REPLACE "xdg-settings ([0-9]\\.[0-9]\\.[0-9]+).*" "\\1" XdgSettings_VERSION_STRING "${_xdgsettings_version}") if (XdgSettings_FIND_REQUIRED) list(APPEND _xdgsettings_REQUIRED_VARS ${XdgSettings_EXECUTABLE}) endif() foreach(module ${_xdgsettings_deps}) find_package(${module} ${XdgSettings_FIND_VERSION} ${_xdgsettings_QUIET} ${_xdgsettings_REQUIRED}) if (XdgSettings_FIND_REQUIRED) list(APPEND _xdgsettings_REQUIRED_VARS ${${module}_EXECUTABLE}) endif() endforeach() find_package_handle_standard_args(XdgSettings REQUIRED_VARS _xdgsettings_REQUIRED_VARS VERSION_VAR XdgSettings_VERSION_STRING ) if (XdgSettings_FOUND AND NOT TARGET XdgSettings::XdgSettings) add_executable(XdgSettings::XdgSettings IMPORTED) set_target_properties(XdgSettings::XdgSettings PROPERTIES IMPORTED_LOCATION "${XdgSettings_EXECUTABLE}" ) endif() mark_as_advanced(XdgSettings_EXECUTABLE) 0707010000001B000081A4000000000000000000000001661F9ECA00000930000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/find-modules/FindXdgUserDirs.cmake#============================================================================= # 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) 0707010000001C000041ED000000000000000000000002661F9ECA00000000000000000000000000000000000000000000003200000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules0707010000001D000081A4000000000000000000000001661F9ECA000034FE000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/ECMFindModuleHelpers.cmake#.rst: # ECMFindModuleHelpers # -------------------- # # Helper macros for find modules: ecm_find_package_version_check(), # ecm_find_package_parse_components() and # ecm_find_package_handle_library_components(). # # :: # # ecm_find_package_version_check(<name>) # # Prints warnings if the CMake version or the project's required CMake version # is older than that required by extra-cmake-modules. # # :: # # ecm_find_package_parse_components(<name> # RESULT_VAR <variable> # KNOWN_COMPONENTS <component1> [<component2> [...]] # [SKIP_DEPENDENCY_HANDLING]) # # This macro will populate <variable> with a list of components found in # <name>_FIND_COMPONENTS, after checking that all those components are in the # list of KNOWN_COMPONENTS; if there are any unknown components, it will print # an error or warning (depending on the value of <name>_FIND_REQUIRED) and call # return(). # # The order of components in <variable> is guaranteed to match the order they # are listed in the KNOWN_COMPONENTS argument. # # If SKIP_DEPENDENCY_HANDLING is not set, for each component the variable # <name>_<component>_component_deps will be checked for dependent components. # If <component> is listed in <name>_FIND_COMPONENTS, then all its (transitive) # dependencies will also be added to <variable>. # # :: # # ecm_find_package_handle_library_components(<name> # COMPONENTS <component> [<component> [...]] # [SKIP_DEPENDENCY_HANDLING]) # [SKIP_PKG_CONFIG]) # # Creates an imported library target for each component. The operation of this # macro depends on the presence of a number of CMake variables. # # The <name>_<component>_lib variable should contain the name of this library, # and <name>_<component>_header variable should contain the name of a header # file associated with it (whatever relative path is normally passed to # '#include'). <name>_<component>_header_subdir variable can be used to specify # which subdirectory of the include path the headers will be found in. # ecm_find_package_components() will then search for the library # and include directory (creating appropriate cache variables) and create an # imported library target named <name>::<component>. # # Additional variables can be used to provide additional information: # # If SKIP_PKG_CONFIG, the <name>_<component>_pkg_config variable is set, and # pkg-config is found, the pkg-config module given by # <name>_<component>_pkg_config will be searched for and used to help locate the # library and header file. It will also be used to set # <name>_<component>_VERSION. # # Note that if version information is found via pkg-config, # <name>_<component>_FIND_VERSION can be set to require a particular version # for each component. # # If SKIP_DEPENDENCY_HANDLING is not set, the INTERFACE_LINK_LIBRARIES property # of the imported target for <component> will be set to contain the imported # targets for the components listed in <name>_<component>_component_deps. # <component>_FOUND will also be set to false if any of the compoments in # <name>_<component>_component_deps are not found. This requires the components # in <name>_<component>_component_deps to be listed before <component> in the # COMPONENTS argument. # # The following variables will be set: # # ``<name>_TARGETS`` # the imported targets # ``<name>_LIBRARIES`` # the found libraries # ``<name>_INCLUDE_DIRS`` # the combined required include directories for the components # ``<name>_DEFINITIONS`` # the "other" CFLAGS provided by pkg-config, if any # ``<name>_VERSION`` # the value of ``<name>_<component>_VERSION`` for the first component that # has this variable set (note that components are searched for in the order # they are passed to the macro), although if it is already set, it will not # be altered # # Note that these variables are never cleared, so if # ecm_find_package_handle_library_components() is called multiple times with # different components (typically because of multiple find_package() calls) then # ``<name>_TARGETS``, for example, will contain all the targets found in any # call (although no duplicates). # # Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> # # 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. include(CMakeParseArguments) macro(ecm_find_package_version_check module_name) if(CMAKE_VERSION VERSION_LESS 3.1.0) message(FATAL_ERROR "CMake 3.1.0 is required by lxqt-build-tools!") endif() if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1.0) message(AUTHOR_WARNING "Your project should require at least CMake 3.1.0!") endif() endmacro() macro(ecm_find_package_parse_components module_name) set(ecm_fppc_options SKIP_DEPENDENCY_HANDLING) set(ecm_fppc_oneValueArgs RESULT_VAR) set(ecm_fppc_multiValueArgs KNOWN_COMPONENTS DEFAULT_COMPONENTS) cmake_parse_arguments(ECM_FPPC "${ecm_fppc_options}" "${ecm_fppc_oneValueArgs}" "${ecm_fppc_multiValueArgs}" ${ARGN}) if(ECM_FPPC_UNPARSED_ARGUMENTS) message(FATAL_ERROR "Unexpected arguments to ecm_find_package_parse_components: ${ECM_FPPC_UNPARSED_ARGUMENTS}") endif() if(NOT ECM_FPPC_RESULT_VAR) message(FATAL_ERROR "Missing RESULT_VAR argument to ecm_find_package_parse_components") endif() if(NOT ECM_FPPC_KNOWN_COMPONENTS) message(FATAL_ERROR "Missing KNOWN_COMPONENTS argument to ecm_find_package_parse_components") endif() if(NOT ECM_FPPC_DEFAULT_COMPONENTS) set(ECM_FPPC_DEFAULT_COMPONENTS ${ECM_FPPC_KNOWN_COMPONENTS}) endif() if(${module_name}_FIND_COMPONENTS) set(ecm_fppc_requestedComps ${${module_name}_FIND_COMPONENTS}) if(NOT ECM_FPPC_SKIP_DEPENDENCY_HANDLING) # Make sure deps are included foreach(ecm_fppc_comp ${ecm_fppc_requestedComps}) foreach(ecm_fppc_dep_comp ${${module_name}_${ecm_fppc_comp}_component_deps}) list(FIND ecm_fppc_requestedComps "${ecm_fppc_dep_comp}" ecm_fppc_index) if("${ecm_fppc_index}" STREQUAL "-1") if(NOT ${module_name}_FIND_QUIETLY) message(STATUS "${module_name}: ${ecm_fppc_comp} requires ${${module_name}_${ecm_fppc_comp}_component_deps}") endif() list(APPEND ecm_fppc_requestedComps "${ecm_fppc_dep_comp}") endif() endforeach() endforeach() else() message(STATUS "Skipping dependency handling for ${module_name}") endif() list(REMOVE_DUPLICATES ecm_fppc_requestedComps) # This makes sure components are listed in the same order as # KNOWN_COMPONENTS (potentially important for inter-dependencies) set(${ECM_FPPC_RESULT_VAR}) foreach(ecm_fppc_comp ${ECM_FPPC_KNOWN_COMPONENTS}) list(FIND ecm_fppc_requestedComps "${ecm_fppc_comp}" ecm_fppc_index) if(NOT "${ecm_fppc_index}" STREQUAL "-1") list(APPEND ${ECM_FPPC_RESULT_VAR} "${ecm_fppc_comp}") list(REMOVE_AT ecm_fppc_requestedComps ${ecm_fppc_index}) endif() endforeach() # if there are any left, they are unknown components if(ecm_fppc_requestedComps) set(ecm_fppc_msgType STATUS) if(${module_name}_FIND_REQUIRED) set(ecm_fppc_msgType FATAL_ERROR) endif() if(NOT ${module_name}_FIND_QUIETLY) message(${ecm_fppc_msgType} "${module_name}: requested unknown components ${ecm_fppc_requestedComps}") endif() return() endif() else() set(${ECM_FPPC_RESULT_VAR} ${ECM_FPPC_DEFAULT_COMPONENTS}) endif() endmacro() macro(ecm_find_package_handle_library_components module_name) set(ecm_fpwc_options SKIP_PKG_CONFIG SKIP_DEPENDENCY_HANDLING) set(ecm_fpwc_oneValueArgs) set(ecm_fpwc_multiValueArgs COMPONENTS) cmake_parse_arguments(ECM_FPWC "${ecm_fpwc_options}" "${ecm_fpwc_oneValueArgs}" "${ecm_fpwc_multiValueArgs}" ${ARGN}) if(ECM_FPWC_UNPARSED_ARGUMENTS) message(FATAL_ERROR "Unexpected arguments to ecm_find_package_handle_components: ${ECM_FPWC_UNPARSED_ARGUMENTS}") endif() if(NOT ECM_FPWC_COMPONENTS) message(FATAL_ERROR "Missing COMPONENTS argument to ecm_find_package_handle_components") endif() include(FindPackageHandleStandardArgs) find_package(PkgConfig) foreach(ecm_fpwc_comp ${ECM_FPWC_COMPONENTS}) set(ecm_fpwc_dep_vars) set(ecm_fpwc_dep_targets) if(NOT SKIP_DEPENDENCY_HANDLING) foreach(ecm_fpwc_dep ${${module_name}_${ecm_fpwc_comp}_component_deps}) list(APPEND ecm_fpwc_dep_vars "${module_name}_${ecm_fpwc_dep}_FOUND") list(APPEND ecm_fpwc_dep_targets "${module_name}::${ecm_fpwc_dep}") endforeach() endif() if(NOT ECM_FPWC_SKIP_PKG_CONFIG AND ${module_name}_${ecm_fpwc_comp}_pkg_config) pkg_check_modules(PKG_${module_name}_${ecm_fpwc_comp} ${${module_name}_${ecm_fpwc_comp}_pkg_config}) endif() find_path(${module_name}_${ecm_fpwc_comp}_INCLUDE_DIR NAMES ${${module_name}_${ecm_fpwc_comp}_header} HINTS ${PKG_${module_name}_${ecm_fpwc_comp}_INCLUDE_DIRS} PATH_SUFFIXES ${${module_name}_${ecm_fpwc_comp}_header_subdir} ) find_library(${module_name}_${ecm_fpwc_comp}_LIBRARY NAMES ${${module_name}_${ecm_fpwc_comp}_lib} HINTS ${PKG_${module_name}_${ecm_fpwc_comp}_LIBRARY_DIRS} ) set(${module_name}_${ecm_fpwc_comp}_VERSION "${PKG_${module_name}_${ecm_fpwc_comp}_VERSION}") if(NOT ${module_name}_VERSION) set(${module_name}_VERSION ${${module_name}_${ecm_fpwc_comp}_VERSION}) endif() set(FPHSA_NAME_MISMATCHED 1) find_package_handle_standard_args(${module_name}_${ecm_fpwc_comp} FOUND_VAR ${module_name}_${ecm_fpwc_comp}_FOUND REQUIRED_VARS ${module_name}_${ecm_fpwc_comp}_LIBRARY ${module_name}_${ecm_fpwc_comp}_INCLUDE_DIR ${ecm_fpwc_dep_vars} VERSION_VAR ${module_name}_${ecm_fpwc_comp}_VERSION ) unset(FPHSA_NAME_MISMATCHED) mark_as_advanced( ${module_name}_${ecm_fpwc_comp}_LIBRARY ${module_name}_${ecm_fpwc_comp}_INCLUDE_DIR ) if(${module_name}_${ecm_fpwc_comp}_FOUND) list(APPEND ${module_name}_LIBRARIES "${${module_name}_${ecm_fpwc_comp}_LIBRARY}") list(APPEND ${module_name}_INCLUDE_DIRS "${${module_name}_${ecm_fpwc_comp}_INCLUDE_DIR}") set(${module_name}_DEFINITIONS ${${module_name}_DEFINITIONS} ${PKG_${module_name}_${ecm_fpwc_comp}_DEFINITIONS}) if(NOT TARGET ${module_name}::${ecm_fpwc_comp}) add_library(${module_name}::${ecm_fpwc_comp} UNKNOWN IMPORTED) set_target_properties(${module_name}::${ecm_fpwc_comp} PROPERTIES IMPORTED_LOCATION "${${module_name}_${ecm_fpwc_comp}_LIBRARY}" INTERFACE_COMPILE_OPTIONS "${PKG_${module_name}_${ecm_fpwc_comp}_DEFINITIONS}" INTERFACE_INCLUDE_DIRECTORIES "${${module_name}_${ecm_fpwc_comp}_INCLUDE_DIR}" INTERFACE_LINK_LIBRARIES "${ecm_fpwc_dep_targets}" ) endif() list(APPEND ${module_name}_TARGETS "${module_name}::${ecm_fpwc_comp}") endif() endforeach() if(${module_name}_LIBRARIES) list(REMOVE_DUPLICATES ${module_name}_LIBRARIES) endif() if(${module_name}_INCLUDE_DIRS) list(REMOVE_DUPLICATES ${module_name}_INCLUDE_DIRS) endif() if(${module_name}_DEFINITIONS) list(REMOVE_DUPLICATES ${module_name}_DEFINITIONS) endif() if(${module_name}_TARGETS) list(REMOVE_DUPLICATES ${module_name}_TARGETS) endif() endmacro() 0707010000001E000081A4000000000000000000000001661F9ECA0000018B000000000000000000000000000000000000005200000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtAppTranslationLoader.cpp.in/* 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) 0707010000001F000081A4000000000000000000000001661F9ECA00002425000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtCompilerSettings.cmake#============================================================================= # 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 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_FOREACH ) if (CMAKE_BUILD_TYPE MATCHES "Debug") add_definitions(-DQT_STRICT_ITERATORS) endif() #----------------------------------------------------------------------------- # Detect Clang compiler #----------------------------------------------------------------------------- if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "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_C_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) #----------------------------------------------------------------------------- # Build related settings #----------------------------------------------------------------------------- # Automatically add the current source and build directories to the include # path. set(CMAKE_INCLUDE_CURRENT_DIR ON) # Enable Clazy when building with Clang. # Clazy is a Qt oriented code checker based on clang framework. if(LXQT_COMPILER_IS_CLANGCXX) option(LXQT_ENABLE_CLAZY "Enable Clazy warnings" OFF) if (LXQT_ENABLE_CLAZY) find_package(Clazy 1.5 REQUIRED) set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_CXX_COMPILE_OBJECT} -Xclang -load -Xclang ${Clazy_PLUGIN} -Xclang -add-plugin -Xclang clazy") endif() endif() #----------------------------------------------------------------------------- # 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) # Assume Xcode Clang is always used with Apple ld64 if (${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang) set(NO_UNDEFINED_FLAGS "-Wl,-undefined,error") # -Bsymbolic* make sense for ELF only set(SYMBOLIC_FLAGS "") else() set(NO_UNDEFINED_FLAGS "-Wl,--no-undefined") # -Bsymbolic-functions: replace dynamic symbols used internally in # shared libs with direct addresses. set(SYMBOLIC_FLAGS "-Wl,-Bsymbolic-functions") endif() set(CMAKE_SHARED_LINKER_FLAGS "${NO_UNDEFINED_FLAGS} ${SYMBOLIC_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" ) set(CMAKE_MODULE_LINKER_FLAGS "${NO_UNDEFINED_FLAGS} ${SYMBOLIC_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}" ) set(CMAKE_EXE_LINKER_FLAGS "${SYMBOLIC_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}" ) endif() #----------------------------------------------------------------------------- # CXX17 requirements - no checks, we just set it #----------------------------------------------------------------------------- set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ ISO Standard") #----------------------------------------------------------------------------- # 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() 07070100000020000081A4000000000000000000000001661F9ECA000022FA000000000000000000000000000000000000005000000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtCreatePkgConfigFile.cmake#============================================================================= # 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) if (IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") set(_PKGCONFIG_INCLUDEDIR_PREFIX "${CMAKE_INSTALL_INCLUDEDIR}") else() set(_PKGCONFIG_INCLUDEDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") endif() endif() if (NOT DEFINED USER_LIBDIR_PREFIX) if (IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") set(_PKGCONFIG_LIBDIR_PREFIX "${CMAKE_INSTALL_LIBDIR}") else() set(_PKGCONFIG_LIBDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_LIBDIR}") endif() 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 # https://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() 07070100000021000081A4000000000000000000000001661F9ECA000010B6000000000000000000000000000000000000005200000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtCreatePortableHeaders.cmake#============================================================================= # 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() 07070100000022000081A4000000000000000000000001661F9ECA00000185000000000000000000000000000000000000005200000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtLibTranslationLoader.cpp.in/* 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) 07070100000023000081A4000000000000000000000001661F9ECA000003D9000000000000000000000000000000000000005500000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtPluginTranslationLoader.cpp.in/* 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 <QLatin1String> #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(QLatin1String("@catalog_name@"), QLatin1String("@plugin_type@")); } Q_COREAPP_STARTUP_FUNCTION(loadPluginTranslation) 07070100000024000081A4000000000000000000000001661F9ECA00000C76000000000000000000000000000000000000005200000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtPreventInSourceBuilds.cmake#============================================================================= # Copyright (c) 2018 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. #============================================================================= function(lxqt_prevent_in_source_builds) # Handle smarties with symlinks get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH) get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH) if("${srcdir}" STREQUAL "${bindir}") # We are in a in source build message("##############################################################") message("# In Source Build detected.") message("# LXQt does not support in source builds.") message("# Out of source build is required.") message("#") message("# The general approach to out of source builds is:") message("# mkdir build") message("# cd build") message("# cmake <path to sources>") message("# make") message("#") message("# An in source build was attemped. Some files were created.") message("# Use 'git status' to check them. Remove them with:") message("# cd <path to sources>") message("#") message("# # Don’t actually remove anything, just show what would be done") message("# git clean -n -d") message("#") message("# # Actually remove the files") message("# git clean -f -d") message("#") message("# checkout files out of the index") message("# git checkout --") message("##############################################################") message(FATAL_ERROR "Aborting configuration") endif() endfunction() lxqt_prevent_in_source_builds() 07070100000025000081A4000000000000000000000001661F9ECA00000770000000000000000000000000000000000000004400000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtQueryQt.cmake# This bit is taken from KDE ECMQueryQt module. include(CheckLanguage) check_language(CXX) if (CMAKE_CXX_COMPILER) # Enable the CXX language to let CMake look for config files in library dirs. # See: https://gitlab.kitware.com/cmake/cmake/-/issues/23266 enable_language(CXX) endif() # QUIET to accommodate the TRY option find_package(Qt6 COMPONENTS CoreTools QUIET CONFIG) if (TARGET Qt6::qtpaths) get_target_property(_qtpaths_executable Qt6::qtpaths LOCATION) set(QUERY_EXECUTABLE ${_qtpaths_executable} CACHE FILEPATH "Location of the Qt6 Query Executable") endif() function(lxqt_query_qt result_variable qt_variable) set(options IGNORE_ERRORS) set(oneValueArgs) set(multiValueArgs) cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) if(NOT QUERY_EXECUTABLE) if (ARGS_IGNORE_ERRORS) set(${result_variable} "" PARENT_SCOPE) message(STATUS "No Qt6 Query Executable binary found. Can't check ${qt_variable} as required") return() else() message(FATAL_ERROR "No Qt6 Query Executable binary found. Can't check ${qt_variable} as required") endif() endif() execute_process( COMMAND ${QUERY_EXECUTABLE} --query "${qt_variable}" RESULT_VARIABLE return_code OUTPUT_VARIABLE output ) if(return_code EQUAL 0) string(STRIP "${output}" output) file(TO_CMAKE_PATH "${output}" output_path) set(${result_variable} "${output_path}" PARENT_SCOPE) else() if (ARGS_IGNORE_ERRORS) set(${result_variable} "" PARENT_SCOPE) return() else() message(WARNING "Failed call: ${QUERY_EXECUTABLE} --query \"${qt_variable}\"") message(FATAL_ERROR "Qt6 Query Executable call failed: ${return_code}") endif() endif() endfunction() 07070100000026000081A4000000000000000000000001661F9ECA000006DC000000000000000000000000000000000000004600000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtTranslate.cmake#============================================================================= # 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)07070100000027000081A4000000000000000000000001661F9ECA00000E8D000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtTranslateDesktop.cmake#============================================================================= # 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 # [USE_YAML] # ) # 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". # # USE_YAML Flag if *.desktop.yaml translation should be used. #============================================================================= find_package(Perl REQUIRED) function(lxqt_translate_desktop _RESULT) # Parse arguments *************************************** set(options USE_YAML) 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}) string(REGEX REPLACE "^\\.([^.].*)$" "\\1" _fileExt ${_fileExt}) #....................................... set(_outFile "${CMAKE_CURRENT_BINARY_DIR}/${_fileName}.${_fileExt}") if (_ARGS_USE_YAML) add_custom_command(OUTPUT ${_outFile} COMMAND ${PERL_EXECUTABLE} ${LXQT_CMAKE_MODULES_DIR}/LXQtTranslateDesktopYaml.pl ${_inFile} ${_fileName} ${_translationDir}/${_fileName}[_.]*${_fileExt}.yaml >> ${_outFile} VERBATIM COMMENT "Generating ${_fileName}.${_fileExt}" ) else () file(GLOB _translations ${_translationDir}/${_fileName}[_.]*${_fileExt} ) list(SORT _translations) add_custom_command(OUTPUT ${_outFile} COMMAND grep -v -a "#TRANSLATIONS_DIR=" ${_inFile} > ${_outFile} VERBATIM COMMENT "Generating ${_fileName}.${_fileExt}" ) if (_translations) add_custom_command(OUTPUT ${_outFile} COMMAND grep -h -a "\\[.*]\\s*=" ${_translations} >> ${_outFile} VERBATIM APPEND ) endif () endif () set(__result ${__result} ${_outFile}) endforeach() set(${_RESULT} ${__result} PARENT_SCOPE) endfunction(lxqt_translate_desktop) 07070100000028000081A4000000000000000000000001661F9ECA00000614000000000000000000000000000000000000004E00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtTranslateDesktopYaml.pluse strict; binmode(STDOUT, ":encoding(utf8)"); binmode(STDERR, ":encoding(utf8)"); my $desktop_in = $ARGV[0]; my $filename_base = $ARGV[1]; my @translation_files = glob($ARGV[2]); my $section_re = qr/^\[([^\]]+)]/o; my $lang_re = qr/^.*${filename_base}_([^.]+)\..+$/o; my $strip_re = qr/#TRANSLATIONS_DIR=/o; sub flush_translations { my ($curr_section) = @_; if (defined $curr_section) { my $transl_yaml_re = qr/^${curr_section}\/([^: ]+) ?: *([^ ].*)$/; foreach my $file (@translation_files) { my $language = ($file =~ $lang_re ? "[$1]" : ''); open(my $trans_fh, '<:encoding(UTF-8)', $file) or next; while (my $trans_l = <$trans_fh>) { if ($trans_l =~ $transl_yaml_re) { my ($key, $value) = ($1, $2); $value =~ s/^\s+|\s+$//; $value =~ s/^['"]//; $value =~ s/['"]$//; if (length($value)) { # Don't flush empty (untranslated) strings print(STDOUT "$key$language=$value\n"); } } } close($trans_fh); } } } open(my $fh, '<:encoding(UTF-8)', $desktop_in) or die "Could not open file '$desktop_in' $!"; my $curr_section = undef; while (my $line = <$fh>) { if ($line =~ $section_re) { flush_translations($curr_section); $curr_section = $1; } $line =~ $strip_re or print(STDOUT $line); } flush_translations($curr_section); close($fh); 07070100000029000081A4000000000000000000000001661F9ECA0000133E000000000000000000000000000000000000004B00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtTranslateTs.cmake.in#============================================================================= # 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 # [UPDATE_TRANSLATIONS [Yes | No]] # SOURCES <sources> # [UPDATE_OPTIONS] update_options # [TEMPLATE] translation_template # [TRANSLATION_DIR] translation_directory # [INSTALL_DIR] install_directory # [COMPONENT] component # ) # Output: # qmFiles The generated compiled translations (.qm) files # # 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". # # See https://bugreports.qt.io/browse/QTBUG-95791 find_package(Qt6 "@LXQT_MIN_LINGUIST_VERSION@" REQUIRED COMPONENTS LinguistTools) function(lxqt_translate_ts qmFiles) set(oneValueArgs UPDATE_TRANSLATIONS TEMPLATE TRANSLATION_DIR INSTALL_DIR COMPONENT ) 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_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 (EXISTS "${TR_TRANSLATION_DIR}") file(GLOB tsFiles "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}_*.ts") set(templateFile "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}.ts") endif () if (TR_UPDATE_TRANSLATIONS) qt6_create_translation(QMS ${TR_SOURCES} ${templateFile} OPTIONS ${TR_UPDATE_OPTIONS} ) qt6_create_translation(QM ${TR_SOURCES} ${tsFiles} OPTIONS ${TR_UPDATE_OPTIONS} ) else() qt6_add_translation(QM ${tsFiles}) 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() 0707010000002A000081A4000000000000000000000001661F9ECA00000E3D000000000000000000000000000000000000004E00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/LXQtTranslationLoader.cmake#============================================================================= # 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 Qt6 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() 0707010000002B000081A4000000000000000000000001661F9ECA00000962000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/Qt6TranslationLoader.cmake#============================================================================= # 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 Qt6 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. # # qt6_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(qt6_translation_loader source_files translations_dir catalog_name) configure_file( ${LXQT_CMAKE_MODULES_DIR}/Qt6TranslationLoader.cpp.in Qt6TranslationLoader.cpp @ONLY ) set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/Qt6TranslationLoader.cpp PARENT_SCOPE) endfunction() 0707010000002C000081A4000000000000000000000001661F9ECA00000455000000000000000000000000000000000000004E00000000lxqt2-build-tools-2.0.0+git20240417/cmake/modules/Qt6TranslationLoader.cpp.in/* 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 <QLatin1String> #include <QTranslator> #include <QLibraryInfo> static void loadQtTranslation() { QString locale = QLocale::system().name(); QTranslator *qtTranslator = new QTranslator(qApp); if (qtTranslator->load(QLatin1String("qt_") + locale, QLibraryInfo::path(QLibraryInfo::TranslationsPath))) { qApp->installTranslator(qtTranslator); } else { delete qtTranslator; } QTranslator *appTranslator = new QTranslator(qApp); if (appTranslator->load(QString::fromLocal8Bit("@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) 0707010000002D000081A4000000000000000000000001661F9ECA00000129000000000000000000000000000000000000004D00000000lxqt2-build-tools-2.0.0+git20240417/lxqt-build-tools-config-version.cmake.inset(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() 0707010000002E000081A4000000000000000000000001661F9ECA000000F8000000000000000000000000000000000000004500000000lxqt2-build-tools-2.0.0+git20240417/lxqt-build-tools-config.cmake.in@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}" ) 0707010000002F000081ED000000000000000000000001661F9ECA00000923000000000000000000000000000000000000003500000000lxqt2-build-tools-2.0.0+git20240417/lxqt-transupdate#!/bin/sh #============================================================================= # Copyright 2018 Alf Gaida <agaida@siduction.org> # # 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-transupdate # Update LXQt translation files. # just to be sure - for distributions that user qtchooser # Debian and derivatives, Fedora, FreeBSD, Mageia, OpenMandriva, PCLinuxOS export QT_SELECT=6 TEMPLATES=$(find . -name \*.ts | grep -v '_') for i in $TEMPLATES; do echo "\n\n==== $i ====\n" TRANSDIR=$(dirname $i) SOURCEDIR=$(dirname $TRANSDIR) # template-update echo "== Template Update ==" echo "lupdate $SOURCEDIR -ts $i -locations absolute -no-obsolete\n" lupdate $SOURCEDIR -ts $i -locations absolute -no-obsolete echo echo "== Language updates ==" echo "lupdate $SOURCEDIR -ts $TRANSDIR/*_*.ts -locations absolute -no-obsolete\n" lupdate $SOURCEDIR -ts $TRANSDIR/*_*.ts -locations absolute -no-obsolete done 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!299 blocks
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor