File: PkgConfigHelper.cmake

package info (click to toggle)
libsdl2-mixer 2.8.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,348 kB
  • sloc: ansic: 31,207; python: 1,280; sh: 613; makefile: 275; cpp: 247
file content (34 lines) | stat: -rw-r--r-- 1,253 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Helper for Find modules

function(get_flags_from_pkg_config _library _pc_prefix _out_prefix)
  if("${_library}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$")
    set(_cflags ${_pc_prefix}_STATIC_CFLAGS_OTHER)
    set(_link_libraries ${_pc_prefix}_STATIC_LIBRARIES)
    set(_link_options ${_pc_prefix}_STATIC_LDFLAGS_OTHER)
    set(_library_dirs ${_pc_prefix}_STATIC_LIBRARY_DIRS)
  else()
    set(_cflags ${_pc_prefix}_CFLAGS_OTHER)
    set(_link_libraries ${_pc_prefix}_LIBRARIES)
    set(_link_options ${_pc_prefix}_LDFLAGS_OTHER)
    set(_library_dirs ${_pc_prefix}_LIBRARY_DIRS)
  endif()

  # The *_LIBRARIES lists always start with the library itself
  list(POP_FRONT "${_link_libraries}")

  # Work around CMake's flag deduplication when pc files use `-framework A` instead of `-Wl,-framework,A`
  string(REPLACE "-framework;" "-Wl,-framework," "_filtered_link_options" "${${_link_options}}")

  set(${_out_prefix}_compile_options
      "${${_cflags}}"
      PARENT_SCOPE)
  set(${_out_prefix}_link_libraries
      "${${_link_libraries}}"
      PARENT_SCOPE)
  set(${_out_prefix}_link_options
      "${_filtered_link_options}"
      PARENT_SCOPE)
  set(${_out_prefix}_link_directories
      "${${_library_dirs}}"
      PARENT_SCOPE)
endfunction()