commit extra-cmake-modules for openSUSE:Factory
Hello community, here is the log from the commit of package extra-cmake-modules for openSUSE:Factory checked in at 2015-02-16 15:03:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old) and /work/SRC/openSUSE:Factory/.extra-cmake-modules.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "extra-cmake-modules" Changes: -------- --- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes 2015-01-29 13:10:06.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.extra-cmake-modules.new/extra-cmake-modules.changes 2015-02-16 17:25:22.000000000 +0100 @@ -1,0 +2,16 @@ +Sun Feb 8 18:18:35 UTC 2015 - hrvoje.senjan@gmail.com + +- Update to 5.7.0 + * KDEInstallDirs: warn about mixing relative and absolute + installation paths on the command line + * Added ECMAddAppIcon module to add icons to executable + targets on Windows and Mac OS X + * Fixed CMP0053 warning with CMake 3.1 + * Do not unset cache variables in KDEInstallDirs + * New Android toolchain module + * New ECMUninstallTarget module to create an uninstall target + * Make KDECMakeSettings import ECMUninstallTarget by default + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.7.0.php + +------------------------------------------------------------------- Old: ---- extra-cmake-modules-1.6.1.tar.xz New: ---- extra-cmake-modules-1.7.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ extra-cmake-modules.spec ++++++ --- /var/tmp/diff_new_pack.R6Uvwx/_old 2015-02-16 17:25:23.000000000 +0100 +++ /var/tmp/diff_new_pack.R6Uvwx/_new 2015-02-16 17:25:23.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package extra-cmake-modules # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,9 +21,9 @@ License: BSD-3-Clause Group: Development/Tools/Other Url: https://projects.kde.org/projects/kdesupport/extra-cmake-modules -Version: 1.6.1 +Version: 1.7.0 Release: 0 -Source: http://download.kde.org/stable/frameworks/5.6/%{name}-%{version}.tar.xz +Source: http://download.kde.org/stable/frameworks/5.7/%{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake >= 2.8.12 BuildRequires: gcc-c++ ++++++ extra-cmake-modules-1.6.1.tar.xz -> extra-cmake-modules-1.7.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/CMakeLists.txt new/extra-cmake-modules-1.7.0/CMakeLists.txt --- old/extra-cmake-modules-1.6.1/CMakeLists.txt 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/CMakeLists.txt 2015-02-06 15:00:52.000000000 +0100 @@ -3,7 +3,7 @@ project(extra-cmake-modules NONE) set(ECM_MAJOR_VERSION 1) -set(ECM_MINOR_VERSION 6) +set(ECM_MINOR_VERSION 7) set(ECM_PATCH_VERSION 0) set(ECM_VERSION ${ECM_MAJOR_VERSION}.${ECM_MINOR_VERSION}.${ECM_PATCH_VERSION}) @@ -15,6 +15,7 @@ endif() set(SHARE_INSTALL_DIR share) +set(TOOLCHAIN_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/toolchain/) set(MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/modules/) set(KDE_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/kde-modules/) set(FIND_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/find-modules/) @@ -33,6 +34,9 @@ file(GLOB installFindModuleFiles ${CMAKE_SOURCE_DIR}/find-modules/*[^~]) install(FILES ${installFindModuleFiles} DESTINATION ${FIND_MODULES_INSTALL_DIR}) +file(GLOB installToolchainModuleFiles ${CMAKE_SOURCE_DIR}/toolchain/*[^~]) +install(FILES ${installToolchainModuleFiles} DESTINATION ${TOOLCHAIN_MODULES_INSTALL_DIR}) + include(CMakePackageConfigHelpers) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/README.rst new/extra-cmake-modules-1.7.0/README.rst --- old/extra-cmake-modules-1.6.1/README.rst 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/README.rst 2015-02-06 15:00:52.000000000 +0100 @@ -5,8 +5,9 @@ ============ The Extra CMake Modules package, or ECM, adds to the modules provided by CMake, -including both ones used by ``find_package()`` to find common software and ones -that can be used directly in ``CMakeLists.txt`` files to perform common tasks. +including ones used by ``find_package()`` to find common software, ones that +can be used directly in ``CMakeLists.txt`` files to perform common tasks and +toolchain files that must be specified on the commandline by the user. In addition, it provides common build settings used in software produced by the KDE community. @@ -54,7 +55,7 @@ Organization ------------ -ECM provides three different types of modules. +ECM provides four different types of modules. * Core modules provide helpful macros for use in project CMake scripts. See :manual:`ecm-modules(7)` for more information. @@ -63,6 +64,8 @@ * KDE modules provide common settings for software produced by KDE; much of this may also be useful to other projects. See :manual:`ecm-kde-modules(7)` for more information. +* Toolchain files change the build tools and targets used by CMake. See + :manual:`ecm-toolchains(7)` for more information. The ``${ECM_MODULE_DIR}``, ``${ECM_FIND_MODULE_DIR}`` and ``${ECM_KDE_MODULE_DIR}`` variables may be used instead of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/find-module/FindPng2Ico.rst new/extra-cmake-modules-1.7.0/docs/find-module/FindPng2Ico.rst --- old/extra-cmake-modules-1.6.1/docs/find-module/FindPng2Ico.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/find-module/FindPng2Ico.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../find-modules/FindPng2Ico.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/manual/ecm-modules.7.rst new/extra-cmake-modules-1.7.0/docs/manual/ecm-modules.7.rst --- old/extra-cmake-modules-1.6.1/docs/manual/ecm-modules.7.rst 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/manual/ecm-modules.7.rst 2015-02-06 15:00:52.000000000 +0100 @@ -11,12 +11,12 @@ ============ Extra CMake Modules (ECM) provides various modules that provide useful functions -for CMake scripts. ECM actually provides three types of modules: those that -extend the functionality of the ``find_package`` command are documented in -:manual:`ecm-find-modules(7)`; those that provide standard settings for software -produced by the KDE community are documented in :manual:`ecm-kde-modules(7)`. -The rest provide macros and functions for general use by CMake scripts and are -documented here. +for CMake scripts. ECM actually provides three types of modules that can be +used from CMake scripts: those that extend the functionality of the +``find_package`` command are documented in :manual:`ecm-find-modules(7)`; those +that provide standard settings for software produced by the KDE community are +documented in :manual:`ecm-kde-modules(7)`. The rest provide macros and +functions for general use by CMake scripts and are documented here. To use these modules, you need to tell CMake to find the ECM package, and then add either ``${ECM_MODULE_PATH}`` or ``${ECM_MODULE_DIR}`` to the @@ -30,6 +30,10 @@ Using ``${ECM_MODULE_PATH}`` will also make the find modules and KDE modules available. +Note that there are also toolchain modules, documented in +:manual:`ecm-toolchains(7)`, but these are used by users building the software +rather than developers writing CMake scripts. + All Modules =========== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/manual/ecm-toolchains.7.rst new/extra-cmake-modules-1.7.0/docs/manual/ecm-toolchains.7.rst --- old/extra-cmake-modules-1.6.1/docs/manual/ecm-toolchains.7.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/manual/ecm-toolchains.7.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,33 @@ +.. ecm-manual-description: ECM Toolchains Reference + +ecm-toolchains(7) +***************** + +.. only:: html or latex + + .. contents:: + +Introduction +============ + +Extra CMake Modules (ECM) provides some toolchain modules. Unlike normal +modules, these are not included directly in projects, but specified with +the ``CMAKE_TOOLCHAIN_FILE`` cache variable on the commandline. + + +All Modules +=========== + +.. toctree:: + :maxdepth: 1 + :glob: + + /toolchain/* + +.. only:: man + + See Also + ======== + + :manual:`ecm(7)` + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/module/ECMAddAppIcon.rst new/extra-cmake-modules-1.7.0/docs/module/ECMAddAppIcon.rst --- old/extra-cmake-modules-1.6.1/docs/module/ECMAddAppIcon.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/module/ECMAddAppIcon.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMAddAppIcon.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/module/ECMCoverageOption.rst new/extra-cmake-modules-1.7.0/docs/module/ECMCoverageOption.rst --- old/extra-cmake-modules-1.6.1/docs/module/ECMCoverageOption.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/module/ECMCoverageOption.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMCoverageOption.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/module/ECMEnableSanitizers.rst new/extra-cmake-modules-1.7.0/docs/module/ECMEnableSanitizers.rst --- old/extra-cmake-modules-1.6.1/docs/module/ECMEnableSanitizers.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/module/ECMEnableSanitizers.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMEnableSanitizers.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/module/ECMGeneratePkgConfigFile.rst new/extra-cmake-modules-1.7.0/docs/module/ECMGeneratePkgConfigFile.rst --- old/extra-cmake-modules-1.6.1/docs/module/ECMGeneratePkgConfigFile.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/module/ECMGeneratePkgConfigFile.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMGeneratePkgConfigFile.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/module/ECMUninstallTarget.rst new/extra-cmake-modules-1.7.0/docs/module/ECMUninstallTarget.rst --- old/extra-cmake-modules-1.6.1/docs/module/ECMUninstallTarget.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/module/ECMUninstallTarget.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMUninstallTarget.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/sphinx/ecm.py new/extra-cmake-modules-1.7.0/docs/sphinx/ecm.py --- old/extra-cmake-modules-1.6.1/docs/sphinx/ecm.py 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/sphinx/ecm.py 2015-02-06 15:00:52.000000000 +0100 @@ -154,6 +154,7 @@ 'module': _ecm_index_entry('module'), 'find-module': _ecm_index_entry('find-module'), 'kde-module': _ecm_index_entry('kde-module'), + 'toolchain': _ecm_index_entry('toolchain'), } def _ecm_object_inventory(env, document, line, objtype, targetid): @@ -264,6 +265,7 @@ 'kde-module': ObjType('kde-module', 'kde-module'), 'find-module': ObjType('find-module', 'find-module'), 'manual': ObjType('manual', 'manual'), + 'toolchain': ObjType('toolchain', 'toolchain'), } directives = {} roles = { @@ -271,6 +273,7 @@ 'kde-module': XRefRole(), 'find-module': XRefRole(), 'manual': XRefRole(), + 'toolchain': XRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/docs/toolchain/Android.rst new/extra-cmake-modules-1.7.0/docs/toolchain/Android.rst --- old/extra-cmake-modules-1.6.1/docs/toolchain/Android.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/docs/toolchain/Android.rst 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1 @@ +.. ecm-module:: ../../toolchain/Android.cmake diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindEGL.cmake new/extra-cmake-modules-1.7.0/find-modules/FindEGL.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindEGL.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindEGL.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -29,6 +29,8 @@ # In general we recommend using the imported target, as it is easier to use. # Bear in mind, however, that if the target is in the link interface of an # exported library, it must be made available by the package config file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindKF5.cmake new/extra-cmake-modules-1.7.0/find-modules/FindKF5.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindKF5.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindKF5.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -16,6 +16,8 @@ # If all the required components (those given in the COMPONENTS argument, but # not those given in the OPTIONAL_COMPONENTS argument) are found, ``KF5_FOUND`` # will be set to true. Otherwise, it will be set to false. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindLibGit2.cmake new/extra-cmake-modules-1.7.0/find-modules/FindLibGit2.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindLibGit2.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindLibGit2.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -1,6 +1,6 @@ #.rst: # FindLibGit2 -# ------- +# ----------- # # Try to find libgit2 on a Unix system. # @@ -28,6 +28,8 @@ # In general we recommend using the imported target, as it is easier to use. # Bear in mind, however, that if the target is in the link interface of an # exported library, it must be made available by the package config file. +# +# Since 1.3.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindOpenEXR.cmake new/extra-cmake-modules-1.7.0/find-modules/FindOpenEXR.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindOpenEXR.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindOpenEXR.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -23,6 +23,8 @@ # In general we recommend using the imported target, as it is easier to use. # Bear in mind, however, that if the target is in the link interface of an # exported library, it must be made available by the package config file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2013-2014 Alex Merry <alex.merry@kdemail.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindPng2Ico.cmake new/extra-cmake-modules-1.7.0/find-modules/FindPng2Ico.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindPng2Ico.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindPng2Ico.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,116 @@ +#.rst: +# FindPng2Ico +# ----------- +# +# Try to find png2ico. +# +# If the png2ico executable is not in your PATH, you can provide +# an alternative name or full path location with the ``Png2Ico_EXECUTABLE`` +# variable. +# +# This will define the following variables: +# +# ``Png2Ico_FOUND`` +# True if png2ico is available. +# +# ``Png2Ico_EXECUTABLE`` +# The png2ico executable. +# +# If ``Png2Ico_FOUND`` is TRUE, it will also define the following imported +# target: +# +# ``Png2Ico::Png2Ico`` +# The png2ico executable. +# +# and the following variables: +# +# ``Png2Ico_HAS_COLORS_ARGUMENT`` +# Whether png2ico accepts a ``--colors`` argument. `Matthias Benkmann's +# tool <http://www.winterdrache.de/freeware/png2ico/>`_ does, while the +# version of png2ico from the `"KDE On Windows" (kdewin) +# <https://projects.kde.org/projects/kdesupport/kdewin>`_ project does not. +# +# ``Png2Ico_HAS_RCFILE_ARGUMENT`` +# Whether png2ico accepts an ``--rcfile`` argument. The version of png2ico +# from the `"KDE On Windows" (kdewin) +# <https://projects.kde.org/projects/kdesupport/kdewin>`_ project does, +# while `Matthias Benkmann's tool +# <http://www.winterdrache.de/freeware/png2ico/>`_ does not. +# +# Since 1.7.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(${CMAKE_CURRENT_LIST_DIR}/ECMFindModuleHelpersStub.cmake) + +ecm_find_package_version_check(Png2Ico) + +# Find png2ico +find_program(Png2Ico_EXECUTABLE NAMES png2ico) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Png2Ico + FOUND_VAR + Png2Ico_FOUND + REQUIRED_VARS + Png2Ico_EXECUTABLE +) + +mark_as_advanced(Png2Ico_EXECUTABLE) + +if (Png2Ico_FOUND) + execute_process( + COMMAND "${Png2Ico_EXECUTABLE}" --help + OUTPUT_VARIABLE _png2ico_help_text + ) + if (_png2ico_help_text MATCHES ".*--rcfile .*") + set(Png2Ico_HAS_RCFILE_ARGUMENT TRUE) + else() + set(Png2Ico_HAS_RCFILE_ARGUMENT FALSE) + endif() + if (_png2ico_help_text MATCHES ".*--colors .*") + set(Png2Ico_HAS_COLORS_ARGUMENT TRUE) + else() + set(Png2Ico_HAS_COLORS_ARGUMENT FALSE) + endif() + unset(_png2ico_help_text) + + if (NOT TARGET Png2Ico::Png2Ico) + add_executable(Png2Ico::Png2Ico IMPORTED) + set_target_properties(Png2Ico::Png2Ico PROPERTIES + IMPORTED_LOCATION "${Png2Ico_EXECUTABLE}" + ) + endif() +endif() + +include(FeatureSummary) +set_package_properties(Png2Ico PROPERTIES + URL "http://www.winterdrache.de/freeware/png2ico/ or https://projects.kde.org/projects/kdesupport/kdewin" + DESCRIPTION "Executable that converts a collection of PNG files into a Windows icon file" +) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindQtWaylandScanner.cmake new/extra-cmake-modules-1.7.0/find-modules/FindQtWaylandScanner.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindQtWaylandScanner.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindQtWaylandScanner.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -55,6 +55,8 @@ # names don't start with ``qt_`` or ``wl_``. # # WaylandScanner is required and will be searched for. +# +# Since 1.4.0. #============================================================================= # Copyright 2012-2014 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindSharedMimeInfo.cmake new/extra-cmake-modules-1.7.0/find-modules/FindSharedMimeInfo.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindSharedMimeInfo.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindSharedMimeInfo.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -23,6 +23,8 @@ # Updates the XDG mime database at install time (unless the ``$DESTDIR`` # environment variable is set, in which case it is up to package managers to # perform this task). +# +# Since pre-1.0.0. #============================================================================= # Copyright 2013-2014 Alex Merry <alex.merry@kdemail.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindWayland.cmake new/extra-cmake-modules-1.7.0/find-modules/FindWayland.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindWayland.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindWayland.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -44,6 +44,8 @@ # and provide more control. Bear in mind, however, that if any target is in the # link interface of an exported library, it must be made available by the # package config file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindWaylandScanner.cmake new/extra-cmake-modules-1.7.0/find-modules/FindWaylandScanner.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindWaylandScanner.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindWaylandScanner.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -47,6 +47,8 @@ # Generate Wayland server protocol files from ``<xmlfile>`` XML # definition for the ``<basename>`` interface and append those files # to ``<source_files_var>``. +# +# Since 1.4.0. #============================================================================= # Copyright 2012-2014 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindX11_XCB.cmake new/extra-cmake-modules-1.7.0/find-modules/FindX11_XCB.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindX11_XCB.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindX11_XCB.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -30,6 +30,8 @@ # In general we recommend using the imported target, as it is easier to use. # Bear in mind, however, that if the target is in the link interface of an # exported library, it must be made available by the package config file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/find-modules/FindXCB.cmake new/extra-cmake-modules-1.7.0/find-modules/FindXCB.cmake --- old/extra-cmake-modules-1.6.1/find-modules/FindXCB.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/find-modules/FindXCB.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -51,6 +51,8 @@ # and provide more control. Bear in mind, however, that if any target is in the # link interface of an exported library, it must be made available by the # package config file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2011 Fredrik Höglund <fredrik@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/kde-modules/KDECMakeSettings.cmake new/extra-cmake-modules-1.7.0/kde-modules/KDECMakeSettings.cmake --- old/extra-cmake-modules-1.6.1/kde-modules/KDECMakeSettings.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/kde-modules/KDECMakeSettings.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -41,6 +41,14 @@ # # This section can be disabled by setting ``KDE_SKIP_BUILD_SETTINGS`` to TRUE # before including this module. +# +# This section also provides an "uninstall" target that can be individually +# disabled by setting ``KDE_SKIP_UNINSTALL_TARGET`` to TRUE before including +# this module. +# +# Since pre-1.0.0. +# +# Uninstall target functionality since 1.7.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> @@ -177,5 +185,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") endif() + option(KDE_SKIP_UNINSTALL_TARGET "Prevent an \"uninstall\" target from being generated." OFF) + if(NOT KDE_SKIP_UNINSTALL_TARGET) + include("${ECM_MODULE_DIR}/ECMUninstallTarget.cmake") + endif() + endif() ################################################################### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/kde-modules/KDECompilerSettings.cmake new/extra-cmake-modules-1.7.0/kde-modules/KDECompilerSettings.cmake --- old/extra-cmake-modules-1.6.1/kde-modules/KDECompilerSettings.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/kde-modules/KDECompilerSettings.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -29,6 +29,8 @@ # # Enables exceptions for C++ source files compiled for the # CMakeLists.txt file in the current directory and all subdirectories. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/kde-modules/KDEFrameworkCompilerSettings.cmake new/extra-cmake-modules-1.7.0/kde-modules/KDEFrameworkCompilerSettings.cmake --- old/extra-cmake-modules-1.6.1/kde-modules/KDEFrameworkCompilerSettings.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/kde-modules/KDEFrameworkCompilerSettings.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -11,6 +11,8 @@ # For example, constructions like QString("foo") are prohibited, instead # forcing the use of QLatin1String or QStringLiteral, and some # Qt-defined keywords like signals and slots will not be defined. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2013 Albert Astals Cid <aacid@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/kde-modules/KDEInstallDirs.cmake new/extra-cmake-modules-1.7.0/kde-modules/KDEInstallDirs.cmake --- old/extra-cmake-modules-1.6.1/kde-modules/KDEInstallDirs.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/kde-modules/KDEInstallDirs.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -132,7 +132,8 @@ # ``KDE_INSTALL_DIRS_NO_DEPRECATED`` is set to TRUE, only those variables # defined by the ``GNUInstallDirs`` module (shipped with CMake) are defined. # If ``KDE_INSTALL_DIRS_NO_CMAKE_VARIABLES`` is set to TRUE, no variables with -# a ``CMAKE_`` prefix will be defined by this module. +# a ``CMAKE_`` prefix will be defined by this module (other than +# CMAKE_INSTALL_DEFAULT_COMPONENT_NAME - see below). # # The ``KDE_INSTALL_<dir>`` variables (or their ``CMAKE_INSTALL_<dir>`` or # deprecated counterparts) may be passed to the DESTINATION options of @@ -161,6 +162,18 @@ # # Additionally, ``CMAKE_INSTALL_DEFAULT_COMPONENT_NAME`` will be set to # ``${PROJECT_NAME}`` to provide a sensible default for this CMake option. +# +# Note that mixing absolute and relative paths, particularly for ``BINDIR``, +# ``LIBDIR`` and ``INCLUDEDIR``, can cause issues with exported targets. Given +# that the default values for these are relative paths, relative paths should +# be used on the command line when possible (eg: use +# ``-DKDE_INSTALL_LIBDIR=lib64`` instead of +# ``-DKDE_INSTALL_LIBDIR=/usr/lib/lib64`` to override the library directory). +# +# Since pre-1.0.0. +# +# NB: The variables starting ``KDE_INSTALL_`` are only available since 1.6.0. +# The ``APPDIR`` install variable is available since 1.1.0. #============================================================================= # Copyright 2014-2015 Alex Merry <alex.merry@kde.org> @@ -564,6 +577,19 @@ "autostart files" AUTOSTART_INSTALL_DIR) +set(_mixed_core_path_styles FALSE) +if (IS_ABSOLUTE "${KDE_INSTALL_BINDIR}") + if (NOT IS_ABSOLUTE "${KDE_INSTALL_LIBDIR}" OR NOT IS_ABSOLUTE "${KDE_INSTALL_INCLUDEDIR}") + set(_mixed_core_path_styles ) + endif() +else() + if (IS_ABSOLUTE "${KDE_INSTALL_LIBDIR}" OR IS_ABSOLUTE "${KDE_INSTALL_INCLUDEDIR}") + set(_mixed_core_path_styles TRUE) + endif() +endif() +if (_mixed_core_path_styles) + message(WARNING "KDE_INSTALL_BINDIR, KDE_INSTALL_LIBDIR and KDE_INSTALL_INCLUDEDIR should either all be absolute paths or all be relative paths.") +endif() # For more documentation see above. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMAddAppIcon.cmake new/extra-cmake-modules-1.7.0/modules/ECMAddAppIcon.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMAddAppIcon.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMAddAppIcon.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,229 @@ +#.rst: +# ECMAddAppIcon +# ------------- +# +# Add icons to executable files and packages. +# +# :: +# +# ecm_add_app_icon(<sources_var> +# ICONS <icon> [<icon> [...]]) +# +# The given icons, whose names must match the pattern:: +# +# <size>-<other_text>.png +# +# will be added to the executable target whose sources are specified by +# ``<sources_var>`` on platforms that support it (Windows and Mac OS X). +# +# ``<size>`` is a numeric pixel size (typically 16, 32, 48, 64, 128 or 256). +# ``<other_text>`` can be any other text. See the platform notes below for any +# recommendations about icon sizes. +# +# Windows notes +# * Icons are compiled into the executable using a resource file. +# * Icons may not show up in Windows Explorer if the executable +# target does not have the ``WIN32_EXECUTABLE`` property set. +# * The tool png2ico is required. See :find-module:`FindPng2Ico`. +# * Supported sizes: 16, 32, 48, 64, 128. +# +# Mac OS X notes +# * The executable target must have the ``MACOSX_BUNDLE`` property set. +# * Icons are added to the bundle. +# * The tool iconutil (provided by Apple) is required. +# * Supported sizes: 16, 32, 64, 128, 256, 512, 1024. +# * At least a 128x128px icon is required. +# * Larger sizes are automatically used to substitute for smaller sizes on +# "Retina" (high-resolution) displays. For example, a 32px icon, if +# provided, will be used as a 32px icon on standard-resolution displays, +# and as a 16px-equivalent icon (with an "@2x" tag) on high-resolution +# displays. +# * This function sets the ``MACOSX_BUNDLE_ICON_FILE`` variable to the name +# of the generated icns file, so that it will be used as the +# ``MACOSX_BUNDLE_ICON_FILE`` target property when you call +# ``add_executable``. +# +# Since 1.7.0. + +#============================================================================= +# Copyright 2014 Alex Merry <alex.merry@kde.org> +# Copyright 2014 Ralf Habacker <ralf.habacker@freenet.de> +# Copyright 2006-2009 Alexander Neundorf, <neundorf@kde.org> +# Copyright 2006, 2007, Laurent Montel, <montel@kde.org> +# Copyright 2007 Matthias Kretz <kretz@kde.org> +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file COPYING-CMAKE-SCRIPTS for details. +# +# 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. +#============================================================================= +# (To distribute this file outside of extra-cmake-modules, substitute the full +# License text for the above reference.) + +include(CMakeParseArguments) + +function(ecm_add_app_icon appsources) + set(options) + set(oneValueArgs) + set(multiValueArgs ICONS) + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(NOT ARG_ICONS) + message(FATAL_ERROR "No ICONS argument given to ecm_add_app_icon") + endif() + if(ARG_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unexpected arguments to ecm_add_app_icon: ${ARG_UNPARSED_ARGUMENTS}") + endif() + + set(known_sizes 16 32 48 64 128 256 512 1024) + foreach(size ${known_sizes}) + set(icons_at_${size}px) + endforeach() + + foreach(icon ${ARG_ICONS}) + if (NOT EXISTS "${icon}") + message(AUTHOR_WARNING "${icon} does not exist, ignoring") + else() + string(REGEX MATCH "([0-9]+)\\-[^/]+\\.([a-z]+)$" + _dummy "${icon}") + set(size "${CMAKE_MATCH_1}") + set(ext "${CMAKE_MATCH_2}") + if (NOT size) + message(AUTHOR_WARNING "${icon} is not named correctly for ecm_add_app_icon - ignoring") + elseif (NOT ext STREQUAL "png") + message(AUTHOR_WARNING "${icon} is not a png file - ignoring") + else() + list(FIND known_sizes "${size}" offset) + if (offset GREATER -1) + list(APPEND icons_at_${size}px "${icon}") + endif() + endif() + endif() + endforeach() + + set(mac_icons ${icons_at_16px} + ${icons_at_32px} + ${icons_at_64px} + ${icons_at_128px} + ${icons_at_256px} + ${icons_at_512px} + ${icons_at_1024px}) + if (NOT icons_at_128px) + message(AUTHOR_WARNING "No 128px icon provided; this will not work on Mac OS X") + endif() + + set(windows_icons ${icons_at_16px} + ${icons_at_32px} + ${icons_at_48px} + ${icons_at_64px} + ${icons_at_128px}) + if (NOT windows_icons) + message(AUTHOR_WARNING "No icons suitable for use on Windows provided") + endif() + + set (_outfilename "${CMAKE_CURRENT_BINARY_DIR}/${appsources}") + + if (WIN32 AND windows_icons) + set(saved_CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}") + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_FIND_MODULE_DIR}) + find_package(Png2Ico) + set(CMAKE_MODULE_PATH "${saved_CMAKE_MODULE_PATH}") + + if (Png2Ico_FOUND) + if (Png2Ico_HAS_RCFILE_ARGUMENT) + add_custom_command( + OUTPUT "${_outfilename}.rc" "${_outfilename}.ico" + COMMAND Png2Ico::Png2Ico + ARGS + --rcfile "${_outfilename}.rc" + "${_outfilename}.ico" + ${windows_icons} + DEPENDS ${windows_icons} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + else() + add_custom_command( + OUTPUT "${_outfilename}.ico" + COMMAND Png2Ico::Png2Ico + ARGS "${_outfilename}.ico" ${windows_icons} + DEPENDS ${windows_icons} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + # this bit's a little hacky to make the dependency stuff work + file(WRITE "${_outfilename}.rc.in" "IDI_ICON1 ICON DISCARDABLE \"${_outfilename}.ico\"\n") + add_custom_command( + OUTPUT "${_outfilename}.rc" + COMMAND ${CMAKE_COMMAND} + ARGS -E copy "${_outfilename}.rc.in" "${_outfilename}.rc" + DEPENDS "${_outfilename}.ico" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + ) + endif() + set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) + else() + message(WARNING "Unable to find the png2ico utility - application will not have an application icon!") + endif() + elseif (APPLE AND mac_icons) + # first generate .iconset directory structure, then convert to .icns format using the Mac OS X "iconutil" utility, + # to create retina compatible icon, you need png source files in pixel resolution 16x16, 32x32, 64x64, 128x128, + # 256x256, 512x512, 1024x1024 + find_program(ICONUTIL_EXECUTABLE NAMES iconutil) + if (ICONUTIL_EXECUTABLE) + add_custom_command( + OUTPUT "${_outfilename}.iconset" + COMMAND ${CMAKE_COMMAND} + ARGS -E make_directory "${_outfilename}.iconset" + ) + set(iconset_icons) + macro(copy_icon filename sizename) + add_custom_command( + OUTPUT "${_outfilename}.iconset/icon_${sizename}.png" + COMMAND ${CMAKE_COMMAND} + ARGS -E copy + "${filename}" + "${_outfilename}.iconset/icon_${sizename}.png" + DEPENDS + "${_outfilename}.iconset" + "${filename}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + list(APPEND iconset_icons + "${_outfilename}.iconset/icon_${sizename}.png") + endmacro() + foreach(size 16 32 64 128 256 512) + math(EXPR double_size "2 * ${size}") + foreach(file ${icons_at_${size}px}) + copy_icon("${file}" "${size}x${size}") + endforeach() + foreach(file ${icons_at_${double_size}px}) + copy_icon("${file}" "${size}x${size}@2x") + endforeach() + endforeach() + + # generate .icns icon file + add_custom_command( + OUTPUT "${_outfilename}.icns" + COMMAND ${ICONUTIL_EXECUTABLE} + ARGS + --convert icns + --output "${_outfilename}.icns" + "${_outfilename}.iconset" + DEPENDS ${iconset_icons} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + ) + # This will register the icon into the bundle + set(MACOSX_BUNDLE_ICON_FILE ${appsources}.icns PARENT_SCOPE) + + # Append the icns file to the sources list so it will be a dependency to the + # main target + set(${appsources} "${${appsources}};${_outfilename}.icns" PARENT_SCOPE) + + # Install the icon into the Resources dir in the bundle + set_source_files_properties(${_outfilename}.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources) + else(ICONUTIL_EXECUTABLE) + message(STATUS "Unable to find the iconutil utility - application will not have an application icon!") + endif(ICONUTIL_EXECUTABLE) + endif() +endfunction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMAddTests.cmake new/extra-cmake-modules-1.7.0/modules/ECMAddTests.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMAddTests.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMAddTests.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -36,6 +36,8 @@ # This is a convenient version of ecm_add_test() for when you have many tests # that consist of a single source file each. It behaves like calling # ecm_add_test() once for each source file, with the same named arguments. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2013 Alexander Richardson <arichardson.kde@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMCoverageOption.cmake new/extra-cmake-modules-1.7.0/modules/ECMCoverageOption.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMCoverageOption.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMCoverageOption.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -2,19 +2,20 @@ # ECMCoverageOption # -------------------- # -# Creates a BUILD_COVERAGE option, so the project can be built with code coverage -# support. +# Allow users to easily enable GCov code coverage support. # -# :: +# Code coverage allows you to check how much of your codebase is covered by +# your tests. This module makes it easy to build with support for +# `GCov <https://gcc.gnu.org/onlinedocs/gcc/Gcov.html>`_. # -# BUILD_COVERAGE -# -# If it's on, the project will be compiled with code coverage support, using -# gcov. Otherwise, it will be built normally. -# -# :: +# When this module is included, a ``BUILD_COVERAGE`` option is added (default +# OFF). Turning this option on enables GCC's coverage instrumentation, and +# links against ``libgcov``. # +# Note that this will probably break the build if you are not using GCC. # +# Since 1.3.0. + #============================================================================= # Copyright 2014 Aleix Pol Gonzalez <aleixpol@kde.org> # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMCreateQmFromPoFiles.cmake new/extra-cmake-modules-1.7.0/modules/ECMCreateQmFromPoFiles.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMCreateQmFromPoFiles.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMCreateQmFromPoFiles.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -68,6 +68,8 @@ # # This generates a C++ file which loads "mylib.qm" at startup, assuming it has # been installed by ecm_create_qm_from_po_files(), and compiles it into ``mylib``. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Aurélien Gâteau <agateau@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMEnableSanitizers.cmake new/extra-cmake-modules-1.7.0/modules/ECMEnableSanitizers.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMEnableSanitizers.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMEnableSanitizers.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -2,9 +2,10 @@ # ECMEnableSanitizers # ------------------- # -# Enable compiler sanitizer flags +# Enable compiler sanitizer flags. +# +# The following sanitizers are supported: # -# The following sanitizers are supported : # - Address Sanitizer # - Memory Sanitizer # - Thread Sanitizer @@ -14,53 +15,59 @@ # All of them are implemented in Clang, depending on your version, and # there is an work in progress in GCC, where some of them are currently # implemented. -# This module will check your current compiler version to see if it support -# the sanitizers that you want to enable # -# How to use it ? -# --------------- -# This module is included in KDECompilerSettings. Therefore you don't have -# to change your CMakeLists.txt +# This module will check your current compiler version to see if it +# supports the sanitizers that you want to enable +# +# Usage +# ===== +# +# Simply add:: +# +# include(ECMEnableSanitizers) # -# It introduce a new cached variable : -# ECM_ENABLE_SANITIZERS +# to your ``CMakeLists.txt``. Note that this module is included in +# KDECompilerSettings, so projects using that module do not need to also +# include this one. +# +# The sanitizers are not enabled by default. Instead, you must set +# ``ECM_ENABLE_SANITIZERS`` (either in your ``CMakeLists.txt`` or on the +# command line) to a semicolon-separated list of sanitizers you wish to enable. +# The options are: # -# which can take the following values : # - address # - memory # - thread # - leak # - undefined # -# You can enable two sanitizers in the same build, depending on their -# compatibility by separating each one with a semicolon : -# ECM_ENABLE_SANITIZERS='address;undefined' +# The sanitizers "address", "memory" and "thread" are mutually exclusive. You +# cannot enable two of them in the same build. # +# "leak" requires the "address" sanitizer. # -# The sanitizers `address`, `memory` and `thread` are mutually exclusive. -# You cannot enable two of them in the same build. +# .. note:: # -# `undefined` can be used with every other sanitizers +# To reduce the overhead induced by the instrumentation of the sanitizers, it +# is advised to enable compiler optimizations (``-O1`` or higher). # -# `leak` can be enable with the `address` sanitizer. +# Example +# ======= # -# Finally, to reduce the overhead induced by the instrumentation of the -# sanitizers, it is advised to use -O1, or higher to improve the performances. +# This is an example of usage:: # -# Example -# ------- -# This is an example of usage : -# mkdir _build -# cd _build -# cmake -DECM_ENABLE_SANITIZERS='address' .. +# mkdir build +# cd build +# cmake -DECM_ENABLE_SANITIZERS='address;leak;undefined' .. # -# If you want to use multiple sanitizers +# .. note:: # -# cmake -DECM_ENABLE_SANITIZERS='address;leak;undefined' .. +# Most of the sanitizers will require Clang. To enable it, use:: # -# => Most of the sanitizers will require Clang. To enable it, use : -# -DCMAKE_CXX_COMPILER=clang++ +# -DCMAKE_CXX_COMPILER=clang++ # +# Since 1.3.0. + #============================================================================= # Copyright 2014 Mathieu Tarral <mathieu.tarral@gmail.com> # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMFindModuleHelpers.cmake new/extra-cmake-modules-1.7.0/modules/ECMFindModuleHelpers.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMFindModuleHelpers.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMFindModuleHelpers.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -92,6 +92,8 @@ # 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> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMGenerateHeaders.cmake new/extra-cmake-modules-1.7.0/modules/ECMGenerateHeaders.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMGenerateHeaders.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMGenerateHeaders.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -88,6 +88,8 @@ # install(FILES ${MyLib_HEADERS} # DESTINATION ${CMAKE_INSTALL_PREFIX}/include/mylib # COMPONENT Devel) +# +# Since pre-1.0.0. #============================================================================= # Copyright 2013 Aleix Pol Gonzalez <aleixpol@blue-systems.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMGeneratePkgConfigFile.cmake new/extra-cmake-modules-1.7.0/modules/ECMGeneratePkgConfigFile.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMGeneratePkgConfigFile.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMGeneratePkgConfigFile.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -1,8 +1,11 @@ #.rst: # ECMGeneratePkgConfigFile -# ------------------ +# ------------------------ # -# Generate a ``.pc`` file for the benefit of autotools-based projects. +# Generate a `pkg-config <http://www.freedesktop.org/wiki/Software/pkg-config/>`_ +# file for the benefit of +# `autotools <http://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html>`_-based +# projects. # # :: # @@ -15,38 +18,41 @@ # [DEFINES -D<variable=value>...] # [INSTALL]) # -# BASE_NAME is the name of the module. It's the name projects will use to find -# the module. -# -# LIB_NAME is the name of the library that is being exported. If undefined, it -# will default to the BASE_NAME. That means the LIB_NAME will be set as the name -# field as well as the library to link to. -# -# FILENAME_VAR is specified with a variable name. This variable will receive the -# location of the generated file will be set, within the build directory. This -# way it can be used in case some processing is required. See also INSTALL. -# -# INCLUDE_INSTALL_DIR specifies where the includes will be installed. If it's not -# specified, it will default to INSTALL_INCLUDEDIR, CMAKE_INSTALL_INCLUDEDIR or just -# "include/" in case they are specified, with the BASE_NAME postfixed. -# -# LIB_INSTALL_DIR specifies where the library is being installed. If it's not -# specified, it will default to LIB_INSTALL_DIR, CMAKE_INSTALL_LIBDIR or just -# "lib/" in case they are specified. -# -# DEFINES is a list of preprocessor defines that it is recommended users of the -# library pass to the compiler when using it. -# -# INSTALL will cause the module to be installed to the ``pkgconfig`` subdirectory -# of LIB_INSTALL_DIR, unless the ECM_PKGCONFIG_INSTALL_DIR cache variable is set -# to something different. Note that the first call to ecm_generate_pkgconfig_file -# with the INSTALL argument will cause ECM_PKGCONFIG_INSTALL_DIR to be set to the -# cache, and will be used in any subsequent calls. -# -# To properly use this macro a version needs to be set. To retrieve it ``ECM_PKGCONFIG_INSTALL_DIR`` -# uses PROJECT_VERSION. To set it, use the project() command (only available since CMake 3.0) or the -# ecm_setup_version() macro. +# ``BASE_NAME`` is the name of the module. It's the name projects will use to +# find the module. # +# ``LIB_NAME`` is the name of the library that is being exported. If undefined, +# it will default to the ``BASE_NAME``. That means the ``LIB_NAME`` will be set +# as the name field as well as the library to link to. +# +# ``FILENAME_VAR`` is specified with a variable name. This variable will +# receive the location of the generated file will be set, within the build +# directory. This way it can be used in case some processing is required. See +# also ``INSTALL``. +# +# ``INCLUDE_INSTALL_DIR`` specifies where the includes will be installed. If +# it's not specified, it will default to ``INSTALL_INCLUDEDIR``, +# ``CMAKE_INSTALL_INCLUDEDIR`` or just "include/" in case they are specified, +# with the BASE_NAME postfixed. +# +# ``LIB_INSTALL_DIR`` specifies where the library is being installed. If it's +# not specified, it will default to ``LIB_INSTALL_DIR``, +# ``CMAKE_INSTALL_LIBDIR`` or just "lib/" in case they are specified. +# +# ``DEFINES`` is a list of preprocessor defines that it is recommended users of +# the library pass to the compiler when using it. +# +# ``INSTALL`` will cause the module to be installed to the ``pkgconfig`` +# subdirectory of ``LIB_INSTALL_DIR``, unless the ``ECM_PKGCONFIG_INSTALL_DIR`` +# cache variable is set to something different. Note that the first call to +# ecm_generate_pkgconfig_file with the ``INSTALL`` argument will cause +# ``ECM_PKGCONFIG_INSTALL_DIR`` to be set to the cache, and will be used in any +# subsequent calls. +# +# To properly use this macro a version needs to be set. To retrieve it, +# ``ECM_PKGCONFIG_INSTALL_DIR`` uses ``PROJECT_VERSION``. To set it, use the +# project() command (only available since CMake 3.0) or the ecm_setup_version() +# macro. # # Example usage: # @@ -59,6 +65,7 @@ # INSTALL # ) # +# Since 1.3.0. #============================================================================= # Copyright 2014 Aleix Pol Gonzalez <aleixpol@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMGeneratePriFile.cmake new/extra-cmake-modules-1.7.0/modules/ECMGeneratePriFile.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMGeneratePriFile.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMGeneratePriFile.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -68,6 +68,8 @@ # QT += KArchive # # in their ``.pro`` file. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 David Faure <faure@kde.org> @@ -156,16 +158,16 @@ file(GENERATE OUTPUT ${PRI_FILENAME} CONTENT - "QT.@PRI_TARGET_BASENAME@.VERSION = @PROJECT_VERSION_STRING@ -QT.@PRI_TARGET_BASENAME@.MAJOR_VERSION = @PROJECT_VERSION_MAJOR@ -QT.@PRI_TARGET_BASENAME@.MINOR_VERSION = @PROJECT_VERSION_MINOR@ -QT.@PRI_TARGET_BASENAME@.PATCH_VERSION = @PROJECT_VERSION_PATCH@ -QT.@PRI_TARGET_BASENAME@.name = @PRI_TARGET_LIBNAME@ -QT.@PRI_TARGET_BASENAME@.defines = @PRI_TARGET_DEFINES@ -QT.@PRI_TARGET_BASENAME@.includes = @PRI_TARGET_INCLUDES@ -QT.@PRI_TARGET_BASENAME@.private_includes = -QT.@PRI_TARGET_BASENAME@.libs = @PRI_TARGET_LIBS@ -QT.@PRI_TARGET_BASENAME@.depends = @PRI_TARGET_QTDEPS@ + "QT.${PRI_TARGET_BASENAME}.VERSION = ${PROJECT_VERSION_STRING} +QT.${PRI_TARGET_BASENAME}.MAJOR_VERSION = ${PROJECT_VERSION_MAJOR} +QT.${PRI_TARGET_BASENAME}.MINOR_VERSION = ${PROJECT_VERSION_MINOR} +QT.${PRI_TARGET_BASENAME}.PATCH_VERSION = ${PROJECT_VERSION_PATCH} +QT.${PRI_TARGET_BASENAME}.name = ${PRI_TARGET_LIBNAME} +QT.${PRI_TARGET_BASENAME}.defines = ${PRI_TARGET_DEFINES} +QT.${PRI_TARGET_BASENAME}.includes = ${PRI_TARGET_INCLUDES} +QT.${PRI_TARGET_BASENAME}.private_includes = +QT.${PRI_TARGET_BASENAME}.libs = ${PRI_TARGET_LIBS} +QT.${PRI_TARGET_BASENAME}.depends = ${PRI_TARGET_QTDEPS} " ) endfunction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMInstallIcons.cmake new/extra-cmake-modules-1.7.0/modules/ECMInstallIcons.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMInstallIcons.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMInstallIcons.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -59,6 +59,8 @@ # # With this syntax, the file ``hi22-actions-menu_new.png`` would be installed # into ``<icon_install_dir>/hicolor/22x22/actions/menu_new.png`` +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMMarkAsTest.cmake new/extra-cmake-modules-1.7.0/modules/ECMMarkAsTest.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMMarkAsTest.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMMarkAsTest.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -13,6 +13,8 @@ # # BUILD_TESTING is created as a cache variable by the CTest module and by the # :kde-module:`KDECMakeSettings` module. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2012 Stephen Kelly <steveire@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMMarkNonGuiExecutable.cmake new/extra-cmake-modules-1.7.0/modules/ECMMarkNonGuiExecutable.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMMarkNonGuiExecutable.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMMarkNonGuiExecutable.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -11,6 +11,8 @@ # This will indicate to CMake that the specified targets should not be included # in a MACOSX_BUNDLE and should not be WIN32_EXECUTABLEs. On platforms other # than MacOS X or Windows, this will have no effect. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2012 Stephen Kelly <steveire@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMOptionalAddSubdirectory.cmake new/extra-cmake-modules-1.7.0/modules/ECMOptionalAddSubdirectory.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMOptionalAddSubdirectory.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMOptionalAddSubdirectory.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -24,6 +24,8 @@ # .. code-block:: sh # # cmake -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_foo=TRUE myproject +# +# Since pre-1.0.0. #============================================================================= # Copyright 2007 Alexander Neundorf <neundorf@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMPackageConfigHelpers.cmake new/extra-cmake-modules-1.7.0/modules/ECMPackageConfigHelpers.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMPackageConfigHelpers.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMPackageConfigHelpers.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -37,6 +37,8 @@ # the find_dependency() macro (which you can include() in your package config # file), so this file is only useful for projects whose minimum required version # is 2.8.12. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kdemail.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMPoQmTools.cmake new/extra-cmake-modules-1.7.0/modules/ECMPoQmTools.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMPoQmTools.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMPoQmTools.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -65,6 +65,8 @@ # ``<install_destination>`` defaults to ``${LOCALE_INSTALL_DIR}`` if defined, # otherwise it uses ``${CMAKE_INSTALL_LOCALEDIR}`` if that is defined, otherwise # it uses ``share/locale``. +# +# Since pre-1.0.0. #============================================================================= # Copyright 2007-2009 Kitware, Inc. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMSetupVersion.cmake new/extra-cmake-modules-1.7.0/modules/ECMSetupVersion.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMSetupVersion.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMSetupVersion.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -73,6 +73,9 @@ # first argument. In all other respects, it behaves like the other form of the # command. # +# Since pre-1.0.0. +# +# COMPATIBLITY option available since 1.6.0. #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMUninstallTarget.cmake new/extra-cmake-modules-1.7.0/modules/ECMUninstallTarget.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMUninstallTarget.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMUninstallTarget.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,58 @@ +#.rst: +# ECMUninstallTarget +# ------------------ +# +# Add an ``uninstall`` target. +# +# By including this module, an ``uninstall`` target will be added to your CMake +# project. This will remove all files installed (or updated) by a previous +# invocation of the ``install`` target. It will not remove files created or +# modified by an ``install(SCRIPT)`` or ``install(CODE)`` command; you should +# create a custom uninstallation target for these and use ``add_dependency`` to +# make the ``uninstall`` target depend on it: +# +# .. code-block:: cmake +# +# include(ECMUninstallTarget) +# install(SCRIPT install-foo.cmake) +# add_custom_target(uninstall_foo COMMAND ${CMAKE_COMMAND} -P uninstall-foo.cmake) +# add_dependency(uninstall uninstall_foo) +# +# The target will fail if the ``install`` target has not yet been run (so it is +# not possible to run CMake on the project and then immediately run the +# ``uninstall`` target). +# +# .. warning:: +# +# CMake deliberately does not provide an ``uninstall`` target by default on +# the basis that such a target has the potential to remove important files +# from a user's computer. Use with caution. +# +# Since 1.7.0. + +#============================================================================= +# Copyright 2015 Alex Merry <alex.merry@kde.org> +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file COPYING-CMAKE-SCRIPTS for details. +# +# 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. +#============================================================================= +# (To distribute this file outside of extra-cmake-modules, substitute the full +# License text for the above reference.) + +if (NOT TARGET uninstall) + configure_file( + "${CMAKE_CURRENT_LIST_DIR}/ecm_uninstall.cmake.in" + "${CMAKE_BINARY_DIR}/ecm_uninstall.cmake" + IMMEDIATE + @ONLY + ) + + add_custom_target(uninstall + COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/ecm_uninstall.cmake" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + ) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ECMUseFindModules.cmake new/extra-cmake-modules-1.7.0/modules/ECMUseFindModules.cmake --- old/extra-cmake-modules-1.6.1/modules/ECMUseFindModules.cmake 2015-01-11 18:17:11.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ECMUseFindModules.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -44,6 +44,8 @@ # be installed along with config files if they are required as a dependency (for # example, if targets provided by the find module are in the link interface of a # library). +# +# Since pre-1.0.0. #============================================================================= # Copyright 2011 Alexander Neundorf <neundorf@kde.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/modules/ecm_uninstall.cmake.in new/extra-cmake-modules-1.7.0/modules/ecm_uninstall.cmake.in --- old/extra-cmake-modules-1.6.1/modules/ecm_uninstall.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/modules/ecm_uninstall.cmake.in 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,21 @@ +if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") + message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") +endif() + +file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) +string(REGEX REPLACE "\n" ";" files "${files}") +foreach(file ${files}) + message(STATUS "Uninstalling $ENV{DESTDIR}${file}") + if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") + exec_program( + "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + if(NOT "${rm_retval}" STREQUAL 0) + message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") + endif() + else() + message(STATUS "File $ENV{DESTDIR}${file} does not exist.") + endif() +endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/toolchain/Android.cmake new/extra-cmake-modules-1.7.0/toolchain/Android.cmake --- old/extra-cmake-modules-1.6.1/toolchain/Android.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/toolchain/Android.cmake 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,205 @@ +#.rst: +# AndroidToolchain +# ---------------- +# +# Enable easy compilation of cmake projects on Android. +# +# By using this android toolchain, the projects will be set up to compile the +# specified project targeting an Android platform, depending on its input. +# Furthermore, if desired, an APK can be directly generated by using the +# `androiddeployqt <http://doc.qt.io/qt-5/deployment-android.html>`_ tool. +# +# .. note:: +# +# This module requires CMake 3.1. +# +# Since 1.7.0. +# +# Usage +# ===== +# +# To use this file, you need to set the ``CMAKE_TOOLCHAIN_FILE`` to point to +# ``AndroidToolchain.cmake`` on the command line:: +# +# cmake -DCMAKE_TOOLCHAIN_FILE=/usr/share/ECM/toolchain/AndroidToolchain.cmake +# +# You will also need to provide the locations of the Android NDK and SDK. This +# can be done on the commandline or with environment variables; in either case +# the variable names are: +# +# ``ANDROID_NDK`` +# The NSK root path. +# ``ANDROID_SDK_ROOT`` +# The SSK root path. +# +# Additional options are specified as cache variables (eg: on the command line): +# +# ``ANDROID_ARCHITECTURE`` +# The architecture to compile for. Default: ``arm``. +# ``ANDROID_TOOLCHAIN`` +# The toolchain to use. See the ``toolchains`` directory of the NDK. +# Default: ``arm-linux-androideabi``. +# ``ANDROID_ABI`` +# The ABI to use. See the ``sources/cxx-stl/gnu-libstdc++/*/libs`` +# directories in the NDK. Default: ``armeabi-v7a``. +# ``ANDROID_GCC_VERSION`` +# The GCC version to use. Default: ``4.9``. +# ``ANDROID_API_LEVEL`` +# The `API level +# <http://developer.android.com/guide/topics/manifest/uses-sdk-element.html>`_ +# to require. Default: ``14``. +# ``ANDROID_SDK_BUILD_TOOLS_REVISION`` +# The build tools version to use. Default: ``21.1.1``. +# +# Deploying Qt Applications +# ========================= +# +# After building the application, you will need to generate an APK that can be +# deployed to an Android device. This module integrates androiddeployqt support +# to help with this for Qt-based projects. To enable this, set the +# ``QTANDROID_EXPORTED_TARGET`` variable to the target you wish to export as an +# APK, as well as ``ANDROID_APK_DIR`` to a directory containing some basic +# information. This will create a ``create-apk-<target>`` target that will +# generate the APK file. See the `Qt on Android deployment documentation +# <http://doc.qt.io/qt-5/deployment-android.html>`_ for more information. +# +# For example, you could do:: +# +# cmake \ +# -DCMAKE_TOOLCHAIN_FILE=/usr/share/ECM/toolchain/AndroidToolchain.cmake \ +# -DQTANDROID_EXPORTED_TARGET=myapp \ +# -DANDROID_APK_DIR=myapp-apk +# make +# make create-apk-myapp +# +# The APK would then be found in ``myapp_build_apk/bin`` in the build directory. + +# ============================================================================= +# Copyright 2014 Aleix Pol i Gonzalez <aleixpol@kde.org> +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file COPYING-CMAKE-SCRIPTS for details. +# +# 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. +#============================================================================= +# (To distribute this file outside of extra-cmake-modules, substitute the full +# License text for the above reference.) + +cmake_minimum_required(VERSION "3.1") + +#input +set(ANDROID_NDK "$ENV{ANDROID_NDK}" CACHE path "Android NDK path") +set(ANDROID_SDK_ROOT "$ENV{ANDROID_SDK_ROOT}" CACHE path "Android SDK path") +set(ANDROID_ARCHITECTURE "arm" CACHE string "Used Architecture, related to the ABI and TOOLCHAIN") +set(ANDROID_TOOLCHAIN "arm-linux-androideabi" CACHE string "Used SDK") +set(ANDROID_ABI "armeabi-v7a" CACHE string "Used ABI") +set(ANDROID_GCC_VERSION "4.9" CACHE string "Used GCC version" ) +set(ANDROID_API_LEVEL "14" CACHE string "Android API Level") +set(ANDROID_SDK_BUILD_TOOLS_REVISION "21.1.1" CACHE string "Android API Level") + +set(_HOST "${CMAKE_HOST_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}") +string(TOLOWER "${_HOST}" _HOST) + +get_filename_component(_CMAKE_ANDROID_DIR "${CMAKE_TOOLCHAIN_FILE}" PATH) + +cmake_policy(SET CMP0011 OLD) +cmake_policy(SET CMP0017 OLD) + +set(CMAKE_SYSROOT + "${ANDROID_NDK}/platforms/android-${ANDROID_API_LEVEL}/arch-${ANDROID_ARCHITECTURE}") +if(NOT EXISTS ${CMAKE_SYSROOT}) + message(FATAL_ERROR "Couldn't find the Android NDK Root in ${CMAKE_SYSROOT}") +endif() + +#actual code +SET(CMAKE_SYSTEM_NAME Android) +SET(CMAKE_SYSTEM_VERSION 1) + +set(ANDROID_TOOLCHAIN_ROOT "${ANDROID_NDK}/toolchains/${ANDROID_TOOLCHAIN}-${ANDROID_GCC_VERSION}/prebuilt/${_HOST}/bin") +set(ANDROID_LIBS_ROOT "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_GCC_VERSION}") + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM "${ANDROID_TOOLCHAIN_ROOT}") +set(ANDROID_LIBRARIES_PATH + "${CMAKE_SYSROOT}/usr/lib") +set(CMAKE_SYSTEM_LIBRARY_PATH + ${ANDROID_LIBRARIES_PATH} + "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/" +) +set(CMAKE_FIND_LIBRARY_SUFFIXES ".so") +set(CMAKE_FIND_LIBRARY_PREFIXES "lib") +find_library(GNUSTL_SHARED gnustl_shared) +if(NOT GNUSTL_SHARED) + message(FATAL_ERROR "you need gnustl_shared: ${CMAKE_SYSTEM_LIBRARY_PATH}") +endif() +include_directories(SYSTEM + "${CMAKE_SYSROOT}/usr/include" + "${ANDROID_LIBS_ROOT}/include/" + "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/include" +) + +link_directories(${CMAKE_SYSTEM_LIBRARY_PATH}) + +set(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-gcc") +set(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-g++") + +SET(CMAKE_FIND_ROOT_PATH ${ANDROID_NDK}) +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(CMAKE_EXE_LINKER_FLAGS "${GNUSTL_SHARED} -Wl,-rpath-link,${ANDROID_LIBRARIES_PATH} -llog -lz -lm -ldl -lc -lgcc" CACHE STRING "") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "") +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "") + +#we want executables to be shared libraries, hooks will invoke the exported cmake function +set(CMAKE_CXX_LINK_EXECUTABLE + "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" +) + +######### generation + +set(CREATEAPK_TARGET_NAME "create-apk-${QTANDROID_EXPORTED_TARGET}") +if(DEFINED QTANDROID_EXPORTED_TARGET AND NOT TARGET ${CREATEAPK_TARGET_NAME}) + if(NOT EXISTS "${ANDROID_APK_DIR}/AndroidManifest.xml") + message(FATAL_ERROR "Define an apk dir to initialize from using -DANDROID_APK_DIR=<path>. The specified directory must contain the AndroidManifest.xml file.") + endif() + + function(EOFHook) + if(CMAKE_PARENT_LIST_FILE STREQUAL "") + generate_deployment_file() + endif() + endfunction() + + function(generate_deployment_file) + get_property(_DEPENDENCIES TARGET ${QTANDROID_EXPORTED_TARGET} PROPERTY INTERFACE_LINK_LIBRARIES) + set(_DEPS_LIST) + foreach(_DEP IN LISTS _DEPENDENCIES) + if(NOT _DEP MATCHES "Qt5::.*") + get_property(_DEP_LOCATION TARGET ${_DEP} PROPERTY "LOCATION_${CMAKE_BUILD_TYPE}") + list(APPEND _DEPS_LIST ${_DEP_LOCATION}) + endif() + endforeach() + string(REPLACE ";" "," _DEPS "${_DEPS_LIST}") + configure_file("${_CMAKE_ANDROID_DIR}/deployment-file.json.in" "${QTANDROID_EXPORTED_TARGET}-deployment.json") + endfunction() + +# Create the target that will eventually generate the apk + get_filename_component(QTDIR "${Qt5Core_DIR}/../../../" ABSOLUTE) + find_program(ANDROID_DEPLOY_QT androiddeployqt HINTS "${QTDIR}/bin") + set(EXPORT_DIR "${CMAKE_BINARY_DIR}/${QTANDROID_EXPORTED_TARGET}_build_apk/") + set(EXECUTABLE_DESTINATION_PATH "${EXPORT_DIR}/libs/${ANDROID_ABI}/lib${QTANDROID_EXPORTED_TARGET}.so") + + add_custom_target(${CREATEAPK_TARGET_NAME} + COMMAND cmake -E echo "Generating $<TARGET_NAME:${QTANDROID_EXPORTED_TARGET}> with ${ANDROID_DEPLOY_QT}" + COMMAND cmake -E copy_directory "${ANDROID_APK_DIR}" "${EXPORT_DIR}" + COMMAND cmake -E copy "$<TARGET_FILE:${QTANDROID_EXPORTED_TARGET}>" "${EXECUTABLE_DESTINATION_PATH}" + COMMAND ${ANDROID_DEPLOY_QT} --input "${QTANDROID_EXPORTED_TARGET}-deployment.json" --output "${EXPORT_DIR}" --deployment bundled "\\$(ARGS)" + ) + + #we want to call the function after the project has been set up + variable_watch(CMAKE_PARENT_LIST_FILE EOFHook) +else() + message(STATUS "You can export a target by specifying -DQTANDROID_EXPORTED_TARGET=<targetname>") +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-1.6.1/toolchain/deployment-file.json.in new/extra-cmake-modules-1.7.0/toolchain/deployment-file.json.in --- old/extra-cmake-modules-1.6.1/toolchain/deployment-file.json.in 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-1.7.0/toolchain/deployment-file.json.in 2015-02-06 15:00:52.000000000 +0100 @@ -0,0 +1,15 @@ +{ + "qt": "@QTDIR@", + "sdk": "@ANDROID_SDK_ROOT@", + "ndk": "@ANDROID_NDK@", + "toolchain-prefix": "@ANDROID_TOOLCHAIN@", + "tool-prefix": "@ANDROID_TOOLCHAIN@", + "toolchain-version": "@ANDROID_GCC_VERSION@", + "ndk-host": "@_HOST@", + "target-architecture": "@ANDROID_ABI@", + "application-binary": "@EXECUTABLE_DESTINATION_PATH@", + "android-extra-libs": "@_DEPS@", + "android-extra-plugins": "@CMAKE_PREFIX_PATH@/share,@CMAKE_PREFIX_PATH@/lib/qml", + "android-package-source-directory": "@ANDROID_APK_DIR@", + "sdkBuildToolsRevision": "@ANDROID_SDK_BUILD_TOOLS_REVISION@" +} -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de