From 7c5567ca9575d13f5d9d87a19ffebb35dfdea79b Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Mon, 27 Nov 2023 16:14:09 +0100
Subject: [PATCH] Fix cmake_parse_arguments usage, we must use the prefix given

---
 modules/GenPkgConfig.cmake | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/modules/GenPkgConfig.cmake b/modules/GenPkgConfig.cmake
index ddab5b5..b63784e 100644
--- a/modules/GenPkgConfig.cmake
+++ b/modules/GenPkgConfig.cmake
@@ -157,34 +157,35 @@ macro(generate_pkgconfig_files)
   set(_options )
   set(_oneValueArgs PROJECTNAME)
   set(_multiValueArgs LIBS LIBS_PRIVATE REQUIRED REQUIRED_PRIVATE)
-  cmake_parse_arguments(generate_pkgconfig_file
+  set(MN "generate_pkgconfig_files")
+  cmake_parse_arguments(${MN}
     "${_options}" "${_oneValueArgs}"
     "${_multiValueArgs}" ${ARGN} )
 
-  if ( NOT DEFINED PROJECTNAME )
-    set( PROJECTNAME ${CMAKE_PROJECT_NAME} )
+  if ( NOT DEFINED ${MN}_PROJECTNAME )
+    set( ${MN}_PROJECTNAME ${CMAKE_PROJECT_NAME} )
   endif()
 
-  set(ARGN ${generate_pkgconfig_file_UNPARSED_ARGUMENTS})
+  set(ARGN ${${MN}_UNPARSED_ARGUMENTS})
 
   # The link flags specific to this package and any required libraries
   # that don't support PkgConfig
-  list(APPEND ${PROJECTNAME}_PKGCONFIG_LIBS ${LIBS})
+  list(APPEND ${${MN}_PROJECTNAME}_PKGCONFIG_LIBS ${${MN}_LIBS})
 
   # The link flags for private libraries required by this package but not
   # exposed to applications
-  list(APPEND ${PROJECTNAME}_PKGCONFIG_LIBS_PRIVATE ${LIBS_PRIVATE})
+  list(APPEND ${${MN}_PROJECTNAME}_PKGCONFIG_LIBS_PRIVATE ${${MN}_LIBS_PRIVATE})
 
   # A list of packages required by this package
-  list(APPEND ${PROJECTNAME}_PKGCONFIG_REQUIRED ${REQUIRED})
+  list(APPEND ${${MN}_PROJECTNAME}_PKGCONFIG_REQUIRED ${${MN}_REQUIRED})
 
   # A list of private packages required by this package but not exposed to
   # applications
-  list(APPEND ${PROJECTNAME}_PKGCONFIG_REQUIRED_PRIVATE ${REQUIRED_PRIVATE})
+  list(APPEND ${${MN}_PROJECTNAME}_PKGCONFIG_REQUIRED_PRIVATE ${${MN}_REQUIRED_PRIVATE})
 
   # Define required package
   # -----------------------
-  gpc_clean_lib_list(${PROJECTNAME})
+  gpc_clean_lib_list(${${MN}_PROJECTNAME})
 
   foreach(f IN LISTS ARGN)
     get_filename_component(fname "${f}" NAME_WE)
@@ -215,16 +216,17 @@ macro(generate_env_file)
   set(_options )
   set(_oneValueArgs PROJECTNAME)
   set(_multiValueArgs )
+  set(MN "generate_env_file")
   cmake_parse_arguments(generate_env_file
     "${_options}" "${_oneValueArgs}"
     "${_multiValueArgs}" ${ARGN} )
 
-  if ( NOT DEFINED PROJECTNAME )
-    set( PROJECTNAME ${CMAKE_PROJECT_NAME} )
+  if ( NOT DEFINED ${MN}_PROJECTNAME )
+    set( ${MN}_PROJECTNAME ${CMAKE_PROJECT_NAME} )
   endif()
 
-  string(TOLOWER ${PROJECTNAME} LONAME)
-  string(TOUPPER ${PROJECTNAME} UPNAME)
+  string(TOLOWER ${${MN}_PROJECTNAME} LONAME)
+  string(TOUPPER ${${MN}_PROJECTNAME} UPNAME)
 
   # Create .sh file
   # ---------------
-- 
GitLab