diff options
| author | Heiko Becker <heirecka@exherbo.org> | 2021-11-30 00:17:47 +0100 | 
|---|---|---|
| committer | Heiko Becker <heirecka@exherbo.org> | 2021-11-30 21:35:20 +0000 | 
| commit | 53a640542786bd80a54c29062a0047c82d2f1dc3 (patch) | |
| tree | 1e4670fdb62dd3e743e2116cbf2521cccf551f32 | |
| parent | 225f1ccab60105783f7c9182fbe551adc427f994 (diff) | |
| download | extra-cmake-modules-53a640542786bd80a54c29062a0047c82d2f1dc3.tar.gz extra-cmake-modules-53a640542786bd80a54c29062a0047c82d2f1dc3.tar.bz2  | |
ECMGeneratePkgConfigFile: Add an URL parameter
While porting a manual configure_file invocation for kactivities'
.pc file to ecm_generate_pkgconfig_file I noticed that the URL keyword
was missing afterwards.
| -rw-r--r-- | modules/ECMGeneratePkgConfigFile.cmake | 11 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc | 1 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc | 1 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc | 1 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/KF5CoreAddons4.pc | 1 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/KF5CoreAddons5.pc | 13 | ||||
| -rw-r--r-- | tests/ECMGeneratePkgConfigFile/run_test.cmake.config | 14 | 
7 files changed, 41 insertions, 1 deletions
diff --git a/modules/ECMGeneratePkgConfigFile.cmake b/modules/ECMGeneratePkgConfigFile.cmake index 99d26ada..8c303981 100644 --- a/modules/ECMGeneratePkgConfigFile.cmake +++ b/modules/ECMGeneratePkgConfigFile.cmake @@ -22,6 +22,7 @@ projects.                          [LIB_INSTALL_DIR <dir>]                          [DEFINES -D<variable=value>...]                          [DESCRIPTION <library description>] # since 5.41.0 +                        [URL <url>] # since 5.89.0                          [INSTALL])  ``BASE_NAME`` is the name of the module. It's the name projects will use to @@ -59,6 +60,9 @@ the library pass to the compiler when using it.  will first try to get the description from the metainfo.yaml file or will  create one based on ``LIB_NAME``. Since 5.41.0. +``URL`` An URL where people can get more information about and download the +package. Defaults to "https://www.kde.org/". Since 5.89.0. +  ``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 @@ -86,7 +90,7 @@ Since 1.3.0.  function(ECM_GENERATE_PKGCONFIG_FILE)    set(options INSTALL) -  set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR DESCRIPTION) +  set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR DESCRIPTION URL)    set(multiValueArgs DEPS DEFINES)    cmake_parse_arguments(EGPF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -133,6 +137,9 @@ function(ECM_GENERATE_PKGCONFIG_FILE)            set(EGPF_DESCRIPTION "${EGPF_LIB_NAME} library.")        endif()    endif() +  if(NOT EGPF_URL) +      set(EGPF_URL "https://www.kde.org/") +  endif()    set(PKGCONFIG_TARGET_BASENAME ${EGPF_BASE_NAME})    set(PKGCONFIG_TARGET_LIBNAME ${EGPF_LIB_NAME}) @@ -167,6 +174,7 @@ function(ECM_GENERATE_PKGCONFIG_FILE)        set(PKGCONFIG_TARGET_LIBS "\${prefix}/${EGPF_LIB_INSTALL_DIR}")    endif()    set(PKGCONFIG_TARGET_DESCRIPTION "${EGPF_DESCRIPTION}") +  set(PKGCONFIG_TARGET_URL "${EGPF_URL}")    set(PKGCONFIG_TARGET_DEFINES "")    if(EGPF_DEFINES)      set(PKGCONFIG_TARGET_DEFINES "${EGPF_DEFINE}") @@ -186,6 +194,7 @@ includedir=${PKGCONFIG_TARGET_INCLUDES}  Name: ${PKGCONFIG_TARGET_LIBNAME}  Description: ${PKGCONFIG_TARGET_DESCRIPTION} +URL: ${PKGCONFIG_TARGET_URL}  Version: ${PROJECT_VERSION}  Libs: -L\${prefix}/${EGPF_LIB_INSTALL_DIR} -l${PKGCONFIG_TARGET_LIBNAME}  Cflags: -I${PKGCONFIG_TARGET_INCLUDES} ${PKGCONFIG_TARGET_DEFINES} diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc index cdc3b119..adcf4494 100644 --- a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc @@ -6,6 +6,7 @@ includedir=${prefix}/include/KF5CoreAddons  Name: KF5CoreAddons  Description: KF5CoreAddons test +URL: https://www.kde.org/  Version: 5.43  Libs: -L${prefix}/lib -lKF5CoreAddons  Cflags: -I${prefix}/include/KF5CoreAddons  diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc index 816ee5af..05c94701 100644 --- a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons2.pc @@ -6,6 +6,7 @@ includedir=/usr/KCoreAddons  Name: KF5CoreAddons2  Description: Addons to QtCore +URL: https://www.kde.org/  Version: 5.43  Libs: -L${prefix}/lib -lKF5CoreAddons2  Cflags: -I/usr/KCoreAddons  diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc index bd3886dc..8f1b4683 100644 --- a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons3.pc @@ -6,6 +6,7 @@ includedir=/usr/KCoreAddons  Name: KF5CoreAddons3  Description: KF5CoreAddons3 library. +URL: https://www.kde.org/  Version: 5.43  Libs: -L${prefix}/lib -lKF5CoreAddons3  Cflags: -I/usr/KCoreAddons  diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons4.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons4.pc index 0d59faad..4a792992 100644 --- a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons4.pc +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons4.pc @@ -6,6 +6,7 @@ includedir=/usr/KCoreAddons  Name: KF5CoreAddons4  Description: KF5CoreAddons4 library. +URL: https://www.kde.org/  Version: 5.43  Libs: -L${prefix}/lib -lKF5CoreAddons4  Cflags: -I/usr/KCoreAddons  diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons5.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons5.pc new file mode 100644 index 00000000..dd545eea --- /dev/null +++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons5.pc @@ -0,0 +1,13 @@ + +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=/usr/KCoreAddons + +Name: KF5CoreAddons5 +Description: KF5CoreAddons test +URL: https://www.example.org/ +Version: 5.43 +Libs: -L${prefix}/lib -lKF5CoreAddons5 +Cflags: -I/usr/KCoreAddons  +Requires: Qt5Core diff --git a/tests/ECMGeneratePkgConfigFile/run_test.cmake.config b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config index c0dec227..c303c920 100644 --- a/tests/ECMGeneratePkgConfigFile/run_test.cmake.config +++ b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config @@ -124,3 +124,17 @@ compare_files(GENERATED ${OutputFile}                ORIGINALS ${origfiles})  file(REMOVE ${OutputFile})  file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/metainfo.yaml) + +message(STATUS "Test 6: with an URL parameter") +set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons5.pc") + +ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons5 +                            DESCRIPTION "KF5CoreAddons test" +                            URL "https://www.example.org/" +                            DEPS Qt5Core +                            INCLUDE_INSTALL_DIR /usr/KCoreAddons +                            FILENAME_VAR OutputFile) + +compare_files(GENERATED ${OutputFile} +              ORIGINALS ${origfiles}) +file(REMOVE ${OutputFile})  | 
