externals: disable system cpp-httplib if it is a shared object (#7446)
Co-authored-by: Castor216 <davidjamescastor215@proton.me>
This commit is contained in:
		
							
								
								
									
										17
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -294,11 +294,20 @@ endif() | ||||
| add_library(httplib INTERFACE) | ||||
| if(USE_SYSTEM_CPP_HTTPLIB) | ||||
|     find_package(CppHttp 0.14.1) | ||||
|     if(CppHttp_FOUND) | ||||
|         target_link_libraries(httplib INTERFACE httplib::httplib) | ||||
|     else() | ||||
|         message(STATUS "Cpp-httplib not found or not suitable version! Falling back to bundled...") | ||||
|     # Detect if system cpphttplib is a shared library | ||||
|     # this breaks building as Citra relies on functions that are moved | ||||
|     # into the shared object. | ||||
|     get_target_property(HTTP_LIBS httplib::httplib INTERFACE_LINK_LIBRARIES) | ||||
|     if(HTTP_LIBS) | ||||
|         message(WARNING "Shared cpp-http (${HTTP_LIBS}) not supported. Falling back to bundled...") | ||||
|         target_include_directories(httplib SYSTEM INTERFACE ./httplib) | ||||
|     else() | ||||
|         if(CppHttp_FOUND) | ||||
|             target_link_libraries(httplib INTERFACE httplib::httplib) | ||||
|         else() | ||||
|             message(STATUS "Cpp-httplib not found or not suitable version! Falling back to bundled...") | ||||
|             target_include_directories(httplib SYSTEM INTERFACE ./httplib) | ||||
|         endif() | ||||
|     endif() | ||||
| else() | ||||
|     target_include_directories(httplib SYSTEM INTERFACE ./httplib) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Castor215
					Castor215