mirror of
				https://github.com/FeralInteractive/gamemode.git
				synced 2025-10-25 03:54:05 +02:00 
			
		
		
		
	 b103bfdd60
			
		
	
	b103bfdd60
	
	
	
		
			
			Defining the library with `library` rather than `both_libraries` allows the user to choose which type they want to install using `-Ddefault_library`. Closes: https://github.com/FeralInteractive/gamemode/issues/287
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
| # Libtool like versioning (current.revision.age) for the libraries
 | |
| # See https://www.sourceware.org/autobook/autobook/autobook_61.html#Library-Versioning
 | |
| lt_current = '0'
 | |
| lt_revision = '0'
 | |
| lt_age = '0'
 | |
| lt_version = '@0@.@1@.@2@'.format(lt_current, lt_age, lt_revision)
 | |
| 
 | |
| # Main client library to message the daemon
 | |
| libgamemode = shared_library(
 | |
|     'gamemode',
 | |
|     sources: [
 | |
|         'client_impl.c',
 | |
|     ],
 | |
|     dependencies: [
 | |
|         link_lib_common,
 | |
|         dep_dbus,
 | |
|     ],
 | |
|     install: true,
 | |
|     soversion: lt_current,
 | |
|     version: lt_version,
 | |
| )
 | |
| 
 | |
| gamemode_headers_includes = [
 | |
|     include_directories('.'),
 | |
| ]
 | |
| 
 | |
| # Small library to automatically use gamemode
 | |
| libgamemodeauto = library(
 | |
|     'gamemodeauto',
 | |
|     sources: [
 | |
|         'client_loader.c',
 | |
|     ],
 | |
|     dependencies: [
 | |
|         libdl,
 | |
|     ],
 | |
|     install: true,
 | |
|     soversion: lt_current,
 | |
|     version: lt_version,
 | |
| )
 | |
| 
 | |
| # Install the gamemode_client header
 | |
| gamemode_headers = [
 | |
|     'gamemode_client.h',
 | |
| ]
 | |
| 
 | |
| install_headers(
 | |
|     gamemode_headers,
 | |
|     install_dir: path_includedir,
 | |
| )
 | |
| 
 | |
| # Generate a pkg-config files
 | |
| pkg = import('pkgconfig')
 | |
| desc = 'GameMode temporarily applies game specific optimisations to the host OS.'
 | |
| pkg.generate(
 | |
|   name: 'gamemode',
 | |
|   description: desc,
 | |
|   filebase: 'gamemode',
 | |
|   version: meson.project_version(),
 | |
|   libraries: [
 | |
|     libdl
 | |
|   ],
 | |
| )
 | |
| 
 | |
| pkg.generate(
 | |
|   name: 'libgamemodeauto',
 | |
|   description: desc,
 | |
|   filebase: 'libgamemodeauto',
 | |
|   libraries: libgamemodeauto,
 | |
|   version: meson.project_version(),
 | |
| )
 | |
| 
 | |
| # Dependency objects
 | |
| gamemode_dep = declare_dependency(
 | |
|   include_directories: gamemode_headers_includes,
 | |
|   dependencies: libdl,
 | |
| )
 | |
| libgamemodeauto_dep = declare_dependency(
 | |
|   link_with: libgamemodeauto,
 | |
| )
 |