Skip to content

Commit

Permalink
Merge PR #5881: BUILD(cmake): Silence pkg-config warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
Krzmbrzl authored Sep 12, 2022
2 parents 8826f1e + c7b127f commit abbb4cf
Showing 1 changed file with 22 additions and 14 deletions.
36 changes: 22 additions & 14 deletions cmake/pkg-utils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -249,24 +249,32 @@ function(get_pkgconf_variable)
message(FATAL_ERROR "get_pkgconf_variable: pkg-config was not found - can't use it to fetch variables")
endif()

if(GET_PKGCONF_VAR_DEBUG)
message(STATUS "get_pkgconf_variable: Searching for \"${GET_PKGCONF_VAR_VARIABLE_NAME}\" in module \"${GET_PKGCONF_VAR_MODULE}\"")
endif()
pkg_search_module("${GET_PKGCONF_VAR_MODULE}" QUIET)
if(NOT ${GET_PKGCONF_VAR_MODULE}_FOUND)
if(GET_PKGCONF_VAR_DEBUG)
message(STATUS "Unable to find module \"${GET_PKGCONF_VAR_MODULE}\" via pkg-conf")
set(VAR_VALUE "NOTFOUND")
endif()
else()
if(GET_PKGCONF_VAR_DEBUG)
message(STATUS "get_pkgconf_variable: Searching for \"${GET_PKGCONF_VAR_VARIABLE_NAME}\" in module \"${GET_PKGCONF_VAR_MODULE}\"")
endif()

pkg_get_variable(VAR_VALUE "${GET_PKGCONF_VAR_MODULE}" "${GET_PKGCONF_VAR_VARIABLE_NAME}")
pkg_get_variable(VAR_VALUE "${GET_PKGCONF_VAR_MODULE}" "${GET_PKGCONF_VAR_VARIABLE_NAME}")

if(NOT VAR_VALUE AND GET_PKGCONF_VAR_VARIABLE_NAME MATCHES ".*_.*")
# There seems to be a difference between pkgconf and pkg-config where one uses underscores
# in variable names, whereas the other does not. We assume that VAR_NAME is the version with
# the underscores, so if that failed to fetch a value, we try again without the underscores.
string(REPLACE "_" "" VAR_NAME_WITHOUT_UNDERSCORES "${GET_PKGCONF_VAR_VARIABLE_NAME}")
if(NOT VAR_VALUE AND GET_PKGCONF_VAR_VARIABLE_NAME MATCHES ".*_.*")
# There seems to be a difference between pkgconf and pkg-config where one uses underscores
# in variable names, whereas the other does not. We assume that VAR_NAME is the version with
# the underscores, so if that failed to fetch a value, we try again without the underscores.
string(REPLACE "_" "" VAR_NAME_WITHOUT_UNDERSCORES "${GET_PKGCONF_VAR_VARIABLE_NAME}")

if(GET_PKGCONF_VAR_DEBUG)
message(STATUS "get_pkgconf_variable: Removed underscores from variable name")
message(STATUS "get_pkgconf_variable: Now searching for variable \"${VAR_NAME_WITHOUT_UNDERSCORES}\"")
endif()
if(GET_PKGCONF_VAR_DEBUG)
message(STATUS "get_pkgconf_variable: Removed underscores from variable name")
message(STATUS "get_pkgconf_variable: Now searching for variable \"${VAR_NAME_WITHOUT_UNDERSCORES}\"")
endif()

pkg_get_variable(VAR_VALUE "${GET_PKGCONF_VAR_MODULE}" "${VAR_NAME_WITHOUT_UNDERSCORES}")
pkg_get_variable(VAR_VALUE "${GET_PKGCONF_VAR_MODULE}" "${VAR_NAME_WITHOUT_UNDERSCORES}")
endif()
endif()

if(NOT VAR_VALUE)
Expand Down

0 comments on commit abbb4cf

Please sign in to comment.