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.
		
		
		
		
		
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
| # Helper for Find modules
 | |
| 
 | |
| function(get_flags_from_pkg_config _library _pc_prefix _out_prefix)
 | |
|   if(MINGW)
 | |
|     set(re_shared_suffix ".dll.a$")
 | |
|   else()
 | |
|     set(re_shared_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}$")
 | |
|   endif()
 | |
|   if("${_library}" MATCHES "${re_shared_suffix}")
 | |
|     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)
 | |
|   else()
 | |
|     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)
 | |
|   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()
 |