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