| # 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() |