mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-30 06:16:40 +08:00 
			
		
		
		
	cmake: enable faster linkers if available
This commit is contained in:
		
							parent
							
								
									f6e705737a
								
							
						
					
					
						commit
						1085bbb0a3
					
				| @ -51,6 +51,8 @@ option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}") | |||||||
| 
 | 
 | ||||||
| option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON) | option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON) | ||||||
| 
 | 
 | ||||||
|  | CMAKE_DEPENDENT_OPTION(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF) | ||||||
|  | 
 | ||||||
| if (YUZU_USE_BUNDLED_VCPKG) | if (YUZU_USE_BUNDLED_VCPKG) | ||||||
|     if (YUZU_TESTS) |     if (YUZU_TESTS) | ||||||
|         list(APPEND VCPKG_MANIFEST_FEATURES "yuzu-tests") |         list(APPEND VCPKG_MANIFEST_FEATURES "yuzu-tests") | ||||||
| @ -579,6 +581,21 @@ if (MSVC AND CMAKE_GENERATOR STREQUAL "Ninja") | |||||||
|     ) |     ) | ||||||
| endif() | endif() | ||||||
| 
 | 
 | ||||||
|  | if (YUZU_USE_FASTER_LD AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") | ||||||
|  |     # We will assume that if the compiler is GCC, it will attempt to use ld.bfd by default. | ||||||
|  |     # Try to pick a faster linker. | ||||||
|  |     find_program(LLD lld) | ||||||
|  |     find_program(MOLD mold) | ||||||
|  | 
 | ||||||
|  |     if (MOLD AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.1") | ||||||
|  |         message(NOTICE "Selecting mold as linker") | ||||||
|  |         add_link_options("-fuse-ld=mold") | ||||||
|  |     elseif (LLD) | ||||||
|  |         message(NOTICE "Selecting lld as linker") | ||||||
|  |         add_link_options("-fuse-ld=lld") | ||||||
|  |     endif() | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
| enable_testing() | enable_testing() | ||||||
| add_subdirectory(externals) | add_subdirectory(externals) | ||||||
| add_subdirectory(src) | add_subdirectory(src) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user