diff options
author | Arjen Hiemstra <ahiemstra@heimr.nl> | 2021-08-02 14:56:56 +0200 |
---|---|---|
committer | Arjen Hiemstra <ahiemstra@heimr.nl> | 2022-01-18 12:09:57 +0000 |
commit | 6fefacf8c4efe8b35aa543514892cbf38cf7b4d9 (patch) | |
tree | d5ce029678fc557f35365581fd51e4e5f4d85d03 | |
parent | 3813fd1bc97fa6bb2189cc9586f77be4c30478d6 (diff) | |
download | extra-cmake-modules-6fefacf8c4efe8b35aa543514892cbf38cf7b4d9.tar.gz extra-cmake-modules-6fefacf8c4efe8b35aa543514892cbf38cf7b4d9.tar.bz2 |
Rename ECMQMLModules.cmake to ECMFindQmlModule.cmake
To avoid ambiguity with ECMQmlModule.cmake.
To preserve backward compatibility, we keep a version around of
ECMQMLModules.cmake that warns a user of it being moved and includes the
new file.
-rw-r--r-- | modules/ECMFindQmlModule.cmake | 48 | ||||
-rw-r--r-- | modules/ECMFindQmlModule.cmake.in (renamed from modules/ECMFindQMLModule.cmake.in) | 0 | ||||
-rw-r--r-- | modules/ECMQMLModules.cmake | 50 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/ECMFindQmlModule/CMakeLists.txt (renamed from tests/ECMQMLModules/CMakeLists.txt) | 2 | ||||
-rw-r--r-- | tests/ECMFindQmlModule/main.c (renamed from tests/ECMQMLModules/main.c) | 0 |
6 files changed, 56 insertions, 46 deletions
diff --git a/modules/ECMFindQmlModule.cmake b/modules/ECMFindQmlModule.cmake new file mode 100644 index 00000000..5d961af7 --- /dev/null +++ b/modules/ECMFindQmlModule.cmake @@ -0,0 +1,48 @@ +# SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez <aleixpol@blue-systems.com> +# +# SPDX-License-Identifier: BSD-3-Clause + +#[=======================================================================[.rst: +ECMFindQmlModule +---------------- + +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(<module_name> <version>...) + +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) + +Since 5.38.0. +#]=======================================================================] + +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 --git a/modules/ECMFindQMLModule.cmake.in b/modules/ECMFindQmlModule.cmake.in index 7cd737b2..7cd737b2 100644 --- a/modules/ECMFindQMLModule.cmake.in +++ b/modules/ECMFindQmlModule.cmake.in diff --git a/modules/ECMQMLModules.cmake b/modules/ECMQMLModules.cmake index 58dbde82..9065e5f0 100644 --- a/modules/ECMQMLModules.cmake +++ b/modules/ECMQMLModules.cmake @@ -1,48 +1,10 @@ -# SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez <aleixpol@blue-systems.com> +# +# SPDX-FileCopyrightText: 2021 Arjen Hiemstra <ahiemstra@heimr.nl> # # SPDX-License-Identifier: BSD-3-Clause -#[=======================================================================[.rst: -ECMQMLModules -------------- - -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(<module_name> <version>...) - -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) - -Since 5.38.0. -#]=======================================================================] - -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 (${ECM_GLOBAL_FIND_VERSION} VERSION_GREATER_EQUAL 5.88) + message(DEPRECATION "ECMQMLModules.cmake is deprecated since 5.88.0, please use ECMFindQmlModule.cmake instead") +endif() - if(COMMAND set_package_properties) - set_package_properties(${GENMODULE} PROPERTIES - DESCRIPTION "QML module '${MODULE_NAME}' is a runtime dependency." - TYPE RUNTIME) - endif() -endfunction() +include(ECMFindQmlModule) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7ffcfd03..24b4cd40 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -208,7 +208,7 @@ set_package_properties( PURPOSE "Required to run tests for the ECMQMLModules module." ) if (TARGET Qt5::Quick) - add_test_macro(ECMQMLModules dummy) + add_test_macro(ECMFindQmlModule dummy) set(ECMQmlModuleTest.static_full_EXTRA_OPTIONS --build-target install diff --git a/tests/ECMQMLModules/CMakeLists.txt b/tests/ECMFindQmlModule/CMakeLists.txt index 240352e2..c91d0385 100644 --- a/tests/ECMQMLModules/CMakeLists.txt +++ b/tests/ECMFindQmlModule/CMakeLists.txt @@ -5,7 +5,7 @@ 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) +include(ECMFindQmlModule) ecm_find_qmlmodule(QtQuick 2.1) diff --git a/tests/ECMQMLModules/main.c b/tests/ECMFindQmlModule/main.c index c13815ce..c13815ce 100644 --- a/tests/ECMQMLModules/main.c +++ b/tests/ECMFindQmlModule/main.c |