diff -Nru extra-cmake-modules-5.37.0/CMakeLists.txt extra-cmake-modules-5.38.0a/CMakeLists.txt --- extra-cmake-modules-5.37.0/CMakeLists.txt 2017-08-02 18:41:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/CMakeLists.txt 2017-09-03 18:34:35.000000000 +0000 @@ -32,7 +32,7 @@ # Preliminary setup # -set(VERSION "5.37.0") # handled by release scripts +set(VERSION "5.38.0") # handled by release scripts if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) diff -Nru extra-cmake-modules-5.37.0/debian/changelog extra-cmake-modules-5.38.0a/debian/changelog --- extra-cmake-modules-5.37.0/debian/changelog 2017-08-12 17:49:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/debian/changelog 2017-09-11 12:13:44.000000000 +0000 @@ -1,3 +1,9 @@ +extra-cmake-modules (5.38.0a-0ubuntu1) artful; urgency=low + + * New upstream release (5.38.0) + + -- Rik Mills Mon, 11 Sep 2017 13:13:44 +0100 + extra-cmake-modules (5.37.0-0ubuntu1) artful; urgency=low * New upstream release (5.37.0) diff -Nru extra-cmake-modules-5.37.0/debian/control extra-cmake-modules-5.38.0a/debian/control --- extra-cmake-modules-5.37.0/debian/control 2017-08-12 17:49:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/debian/control 2017-09-11 12:13:44.000000000 +0000 @@ -13,6 +13,7 @@ python3-sphinx, qtbase5-dev (>= 5.6.1~), qtchooser, + qtdeclarative5-dev (>= 5.6.1~), qttools5-dev (>= 5.6.1~), qttools5-dev-tools (>= 5.6.1~) Standards-Version: 3.9.8 diff -Nru extra-cmake-modules-5.37.0/ECMConfig.cmake.in extra-cmake-modules-5.38.0a/ECMConfig.cmake.in --- extra-cmake-modules-5.37.0/ECMConfig.cmake.in 2017-08-02 18:41:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/ECMConfig.cmake.in 2017-09-03 18:34:35.000000000 +0000 @@ -8,4 +8,6 @@ set(ECM_MODULE_PATH "${ECM_MODULE_DIR}" "${ECM_FIND_MODULE_DIR}" "${ECM_KDE_MODULE_DIR}") +set(ECM_GLOBAL_FIND_VERSION "${ECM_FIND_VERSION}") + include("${ECM_MODULE_DIR}/ECMUseFindModules.cmake") diff -Nru extra-cmake-modules-5.37.0/find-modules/FindPythonModuleGeneration.cmake extra-cmake-modules-5.38.0a/find-modules/FindPythonModuleGeneration.cmake --- extra-cmake-modules-5.37.0/find-modules/FindPythonModuleGeneration.cmake 2017-08-02 18:41:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/find-modules/FindPythonModuleGeneration.cmake 2017-09-03 18:34:35.000000000 +0000 @@ -440,8 +440,9 @@ set_property(TARGET Py${pyversion}KF5${modulename_value} PROPERTY AUTOMOC OFF) set_property(TARGET Py${pyversion}KF5${modulename_value} PROPERTY PREFIX "") + set_property(TARGET Py${pyversion}KF5${modulename_value} PROPERTY LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/py${pyversion}/${pythonnamespace_value}") set_property(TARGET Py${pyversion}KF5${modulename_value} PROPERTY - OUTPUT_NAME "${CMAKE_BINARY_DIR}/py${pyversion}/${pythonnamespace_value}/${modulename_value}") + OUTPUT_NAME "${modulename_value}") if (GPB_SIP_DEPENDS MATCHES PyKF5) set(_kf5_python_prefix ${CMAKE_INSTALL_PREFIX}/lib/python${pyversion${pyversion}_maj_min}/${GPB_INSTALL_DIR_SUFFIX}) diff -Nru extra-cmake-modules-5.37.0/kde-modules/KDECMakeSettings.cmake extra-cmake-modules-5.38.0a/kde-modules/KDECMakeSettings.cmake --- extra-cmake-modules-5.37.0/kde-modules/KDECMakeSettings.cmake 2017-08-02 18:41:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/kde-modules/KDECMakeSettings.cmake 2017-09-03 18:34:35.000000000 +0000 @@ -41,7 +41,10 @@ # ~~~~~~~~~~~~~~ # # Various CMake build defaults are altered, such as searching source and build -# directories for includes first and enabling automoc by default. +# directories for includes first, enabling automoc by default. +# +# When find_package(ECM 5.38) or higher is called, this also selects +# a layout for the build dir that helps running executables without installing. # # This section can be disabled by setting ``KDE_SKIP_BUILD_SETTINGS`` to TRUE # before including this module. @@ -244,10 +247,12 @@ # one common directory, and all static|import libraries and plugins # into another one. This way test executables can find their dlls # even without installation. - if(WIN32) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") + + # We do the same under Unix to make it possible to run tests and apps without installing + if (WIN32 OR NOT ("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.38.0")) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") endif() if (APPLE) diff -Nru extra-cmake-modules-5.37.0/modules/ECMFindQMLModule.cmake.in extra-cmake-modules-5.38.0a/modules/ECMFindQMLModule.cmake.in --- extra-cmake-modules-5.37.0/modules/ECMFindQMLModule.cmake.in 1970-01-01 00:00:00.000000000 +0000 +++ extra-cmake-modules-5.38.0a/modules/ECMFindQMLModule.cmake.in 2017-09-03 18:34:35.000000000 +0000 @@ -0,0 +1,55 @@ +#============================================================================= +# Copyright 2015 Aleix Pol Gonzalez +# +# 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(FindPackageHandleStandardArgs) + +find_program(QMLPLUGINDUMP_PROGRAM qmlplugindump) +if(NOT QMLPLUGINDUMP_PROGRAM) + message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.") +endif() + +execute_process(COMMAND "${QMLPLUGINDUMP_PROGRAM}" "@MODULE_NAME@" "@VERSION@" ERROR_VARIABLE ERRORS_OUTPUT OUTPUT_VARIABLE DISREGARD_VARIABLE RESULT_VARIABLE ExitCode) + +if(ExitCode EQUAL 0) + set(@GENMODULE@_FOUND TRUE) + set(@GENMODULE@_VERSION "${PACKAGE_FIND_VERSION}") +else() + message(STATUS "qmlplugindump failed for @MODULE_NAME@.") + set(@GENMODULE@_FOUND FALSE) +endif() + +find_package_handle_standard_args(@GENMODULE@ + FOUND_VAR + @GENMODULE@_FOUND + REQUIRED_VARS + @GENMODULE@_FOUND + VERSION_VAR + @GENMODULE@_VERSION + HANDLE_COMPONENTS +) + + diff -Nru extra-cmake-modules-5.37.0/modules/ECMQMLModules.cmake extra-cmake-modules-5.38.0a/modules/ECMQMLModules.cmake --- extra-cmake-modules-5.37.0/modules/ECMQMLModules.cmake 1970-01-01 00:00:00.000000000 +0000 +++ extra-cmake-modules-5.38.0a/modules/ECMQMLModules.cmake 2017-09-03 18:34:35.000000000 +0000 @@ -0,0 +1,67 @@ +#.rst: +# FindQMLModule +# ------- +# +# Find QML import modules through a find_qmlmodule() call. +# It uses the qmlplugindump application to find the plugins and sets them up as +# runtime dependencies. +# +# This is useful so that when we configure a project we are noified when some +# QML imports are not present in the system, thus having the application compilable +# but fail at runtime. +# +# :: +# ecm_find_qmlmodule( ...) +# +# Any further arguments passed will be forwarded into a find_package() call. See +# find_package() documentation for more information. +# +# Usage example: +# +# .. code-block:: cmake +# +# ecm_find_qmlmodule(org.kde.kirigami 2.1) +# +#============================================================================= +# Copyright 2015 Aleix Pol Gonzalez +# +# 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. +#============================================================================= + +set(MODULES_DIR ${CMAKE_CURRENT_LIST_DIR}) + +function(ecm_find_qmlmodule MODULE_NAME VERSION) + set(GENMODULE "${MODULE_NAME}-QMLModule") + + configure_file("${MODULES_DIR}/ECMFindQMLModule.cmake.in" "Find${GENMODULE}.cmake" @ONLY) + + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_MODULE_PATH}) + find_package(${GENMODULE} ${ARGN}) + + if(COMMAND set_package_properties) + set_package_properties(${GENMODULE} PROPERTIES + DESCRIPTION "QML module '${MODULE_NAME}' is a runtime dependency." + TYPE RUNTIME) + endif() +endfunction() diff -Nru extra-cmake-modules-5.37.0/tests/CMakeLists.txt extra-cmake-modules-5.38.0a/tests/CMakeLists.txt --- extra-cmake-modules-5.37.0/tests/CMakeLists.txt 2017-08-02 18:41:22.000000000 +0000 +++ extra-cmake-modules-5.38.0a/tests/CMakeLists.txt 2017-09-03 18:34:35.000000000 +0000 @@ -211,3 +211,16 @@ ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/ECMPoQmToolsTest/check.cmake" ) endif() + +find_package(Qt5Quick CONFIG) +set_package_properties( + Qt5Quick + PROPERTIES + URL "http://www.qt.io/" + DESCRIPTION "Qt5 Quick library." + TYPE OPTIONAL + PURPOSE "Required to run tests for the ECMQMLModules module." +) +if (TARGET Qt5::Quick) + add_test_macro(ECMQMLModules dummy) +endif() diff -Nru extra-cmake-modules-5.37.0/tests/ECMQMLModules/CMakeLists.txt extra-cmake-modules-5.38.0a/tests/ECMQMLModules/CMakeLists.txt --- extra-cmake-modules-5.37.0/tests/ECMQMLModules/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ extra-cmake-modules-5.38.0a/tests/ECMQMLModules/CMakeLists.txt 2017-09-03 18:34:35.000000000 +0000 @@ -0,0 +1,12 @@ +project(extra-cmake-modules) +cmake_minimum_required(VERSION 2.8.12) + +set(ECM_FIND_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules) +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) +set(CMAKE_MODULE_PATH "${ECM_FIND_MODULE_DIR}" "${ECM_MODULE_DIR}") + +include(ECMQMLModules) + +ecm_find_qmlmodule(QtQuick 2.1) + +add_executable(dummy main.c) diff -Nru extra-cmake-modules-5.37.0/tests/ECMQMLModules/main.c extra-cmake-modules-5.38.0a/tests/ECMQMLModules/main.c --- extra-cmake-modules-5.37.0/tests/ECMQMLModules/main.c 1970-01-01 00:00:00.000000000 +0000 +++ extra-cmake-modules-5.38.0a/tests/ECMQMLModules/main.c 2017-09-03 18:34:35.000000000 +0000 @@ -0,0 +1,4 @@ +int main() +{ + return 0; +}