Atlas - PkgConfigHelper.cmake

Home / ext / SDL / cmake Lines: 1 | Size: 1368 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)]
[FILE BEGIN]
1# Helper for Find modules 2 3function(get_flags_from_pkg_config _library _pc_prefix _out_prefix) 4 if(MINGW) 5 set(re_shared_suffix ".dll.a$") 6 else() 7 set(re_shared_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}$") 8 endif() 9 if("${_library}" MATCHES "${re_shared_suffix}") 10 set(_cflags ${_pc_prefix}_CFLAGS_OTHER) 11 set(_link_libraries ${_pc_prefix}_LIBRARIES) 12 set(_link_options ${_pc_prefix}_LDFLAGS_OTHER) 13 set(_library_dirs ${_pc_prefix}_LIBRARY_DIRS) 14 else() 15 set(_cflags ${_pc_prefix}_STATIC_CFLAGS_OTHER) 16 set(_link_libraries ${_pc_prefix}_STATIC_LIBRARIES) 17 set(_link_options ${_pc_prefix}_STATIC_LDFLAGS_OTHER) 18 set(_library_dirs ${_pc_prefix}_STATIC_LIBRARY_DIRS) 19 endif() 20 21 # The *_LIBRARIES lists always start with the library itself 22 list(POP_FRONT "${_link_libraries}") 23 24 # Work around CMake's flag deduplication when pc files use `-framework A` instead of `-Wl,-framework,A` 25 string(REPLACE "-framework;" "-Wl,-framework," "_filtered_link_options" "${${_link_options}}") 26 27 set(${_out_prefix}_compile_options 28 "${${_cflags}}" 29 PARENT_SCOPE) 30 set(${_out_prefix}_link_libraries 31 "${${_link_libraries}}" 32 PARENT_SCOPE) 33 set(${_out_prefix}_link_options 34 "${_filtered_link_options}" 35 PARENT_SCOPE) 36 set(${_out_prefix}_link_directories 37 "${${_library_dirs}}" 38 PARENT_SCOPE) 39endfunction() 40
[FILE END]
(C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.