diff options
author | Christophe Giboudeaux <christophe@krop.fr> | 2017-11-29 16:31:42 +0100 |
---|---|---|
committer | Christophe Giboudeaux <christophe@krop.fr> | 2017-11-30 08:42:14 +0100 |
commit | fd60f2b893d0b07f96f0fd715109cbd8d4e66140 (patch) | |
tree | 943e0ff49b4ed2a8b28d3907b3d0ef56ebd427e6 /tests | |
parent | 64915e0291cd8ad00fbdf9526977961de8341368 (diff) | |
download | extra-cmake-modules-fd60f2b893d0b07f96f0fd715109cbd8d4e66140.tar.gz extra-cmake-modules-fd60f2b893d0b07f96f0fd715109cbd8d4e66140.tar.bz2 |
Add the description tag to the generated pkgconfig filesv5.41.0-rc1v5.41.0
Summary:
pkgconfig complains when the .pc file doesn't have a description. eg:
$ pkg-config Baloo
Package 'Baloo' has no Description: field
With this change, if the DESCRIPTION parameter is not used,
ECM_GENERATE_PKGCONFIG_FILE will :
- First look if there's a metainfo.yaml file and get the description from there
- If the file doesn't exist, or if the description tag is empty or non-existent,
create a description based on the LIB_NAME value
Test Plan: Tests added & pass
Reviewers: dfaure, apol
Reviewed By: dfaure
Subscribers: #frameworks, #build_system
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D9056
Diffstat (limited to 'tests')
7 files changed, 133 insertions, 1 deletions
diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc index 68e0004d..adfee6fe 100644 --- a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc @@ -1,5 +1,6 @@ Name: KF5CoreAddons +Description: KF5CoreAddons test Version: 5.43 Libs: -L/usr/lib -lKF5CoreAddons Cflags: -I/usr/KCoreAddons diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc new file mode 100644 index 00000000..132a7aaa --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc @@ -0,0 +1,7 @@ + +Name: KF5CoreAddons2 +Description: Addons to QtCore +Version: 5.43 +Libs: -L/usr/lib -lKF5CoreAddons2 +Cflags: -I/usr/KCoreAddons +Requires: Qt5Core diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc new file mode 100644 index 00000000..1f9d3457 --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc @@ -0,0 +1,7 @@ + +Name: KF5CoreAddons3 +Description: KF5CoreAddons3 library. +Version: 5.43 +Libs: -L/usr/lib -lKF5CoreAddons3 +Cflags: -I/usr/KCoreAddons +Requires: Qt5Core diff --git a/tests/ECMGeneratePkgConfigFile/metainfo_with_description.yaml b/tests/ECMGeneratePkgConfigFile/metainfo_with_description.yaml new file mode 100644 index 00000000..0c0d33ff --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/metainfo_with_description.yaml @@ -0,0 +1,21 @@ +maintainer: mpyne +description: Addons to QtCore +tier: 1 +type: functional +platforms: + - name: Linux + - name: FreeBSD + - name: Windows + - name: MacOSX + - name: Android +portingAid: false +deprecated: false +release: true +libraries: + - qmake: KCoreAddons + cmake: "KF5::CoreAddons" +cmakename: KF5CoreAddons + +public_lib: true +group: Frameworks +subgroup: Tier 1 diff --git a/tests/ECMGeneratePkgConfigFile/metainfo_with_empty_description.yaml b/tests/ECMGeneratePkgConfigFile/metainfo_with_empty_description.yaml new file mode 100644 index 00000000..c46465d1 --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/metainfo_with_empty_description.yaml @@ -0,0 +1,21 @@ +maintainer: mpyne +description: +tier: 1 +type: functional +platforms: + - name: Linux + - name: FreeBSD + - name: Windows + - name: MacOSX + - name: Android +portingAid: false +deprecated: false +release: true +libraries: + - qmake: KCoreAddons + cmake: "KF5::CoreAddons" +cmakename: KF5CoreAddons + +public_lib: true +group: Frameworks +subgroup: Tier 1 diff --git a/tests/ECMGeneratePkgConfigFile/metainfo_without_description.yaml b/tests/ECMGeneratePkgConfigFile/metainfo_without_description.yaml new file mode 100644 index 00000000..b7f094c2 --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/metainfo_without_description.yaml @@ -0,0 +1,20 @@ +maintainer: mpyne +tier: 1 +type: functional +platforms: + - name: Linux + - name: FreeBSD + - name: Windows + - name: MacOSX + - name: Android +portingAid: false +deprecated: false +release: true +libraries: + - qmake: KCoreAddons + cmake: "KF5::CoreAddons" +cmakename: KF5CoreAddons + +public_lib: true +group: Frameworks +subgroup: Tier 1 diff --git a/tests/ECMGeneratePkgConfigFile/run_test.cmake.config b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config index dad4369b..5885c97f 100644 --- a/tests/ECMGeneratePkgConfigFile/run_test.cmake.config +++ b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config @@ -47,8 +47,63 @@ ecm_setup_version(5.43 VARIABLE_PREFIX KCOREADDONS message(STATUS "Test 1: no optional arguments") set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons.pc") -ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons DEPS Qt5Core INCLUDE_INSTALL_DIR /usr/KCoreAddons FILENAME_VAR OutputFile) +ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons + DESCRIPTION "KF5CoreAddons test" + DEPS Qt5Core + INCLUDE_INSTALL_DIR /usr/KCoreAddons + FILENAME_VAR OutputFile) compare_files(GENERATED ${OutputFile} ORIGINALS ${origfiles}) file(REMOVE ${OutputFile}) + +message(STATUS "Test2: no description parameter, metainfo.yaml with description found") +set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons2.pc") + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/metainfo_with_description.yaml + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/metainfo_with_description.yaml ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons2 + DEPS Qt5Core + INCLUDE_INSTALL_DIR /usr/KCoreAddons + FILENAME_VAR OutputFile) + +compare_files(GENERATED ${OutputFile} + ORIGINALS ${origfiles}) +file(REMOVE ${OutputFile}) +file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +message(STATUS "Test3: no description parameter, metainfo.yaml with empty description found") +set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons3.pc") + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/metainfo_with_empty_description.yaml + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/metainfo_with_empty_description.yaml ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons3 + DEPS Qt5Core + INCLUDE_INSTALL_DIR /usr/KCoreAddons + FILENAME_VAR OutputFile) + +compare_files(GENERATED ${OutputFile} + ORIGINALS ${origfiles}) +file(REMOVE ${OutputFile}) +file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +message(STATUS "Test4: no description parameter, metainfo.yaml without description") +set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons3.pc") + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/metainfo_without_description.yaml + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/metainfo_without_description.yaml ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons3 + DEPS Qt5Core + INCLUDE_INSTALL_DIR /usr/KCoreAddons + FILENAME_VAR OutputFile) + +compare_files(GENERATED ${OutputFile} + ORIGINALS ${origfiles}) +file(REMOVE ${OutputFile}) +file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) |