mirror of https://github.com/libsdl-org/SDL
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
CMake
35 lines
1.2 KiB
CMake
# 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()
|