mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied on the frontends implicitly including every module for linking to succeed. Also changed every target_link_libraries call to specify visibility of dependencies to avoid leaking definitions to dependents when not necessary.
This commit is contained in:
		@@ -18,12 +18,12 @@ create_directory_groups(${SRCS} ${HEADERS})
 | 
			
		||||
include_directories(${SDL2_INCLUDE_DIR})
 | 
			
		||||
 | 
			
		||||
add_executable(citra ${SRCS} ${HEADERS})
 | 
			
		||||
target_link_libraries(citra core video_core audio_core common input_common)
 | 
			
		||||
target_link_libraries(citra ${SDL2_LIBRARY} ${OPENGL_gl_LIBRARY} inih glad)
 | 
			
		||||
target_link_libraries(citra PRIVATE common core input_common)
 | 
			
		||||
target_link_libraries(citra PRIVATE ${SDL2_LIBRARY} ${OPENGL_gl_LIBRARY} inih glad)
 | 
			
		||||
if (MSVC)
 | 
			
		||||
    target_link_libraries(citra getopt)
 | 
			
		||||
    target_link_libraries(citra PRIVATE getopt)
 | 
			
		||||
endif()
 | 
			
		||||
target_link_libraries(citra ${PLATFORM_LIBRARIES} Threads::Threads)
 | 
			
		||||
target_link_libraries(citra PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
 | 
			
		||||
 | 
			
		||||
if(UNIX AND NOT APPLE)
 | 
			
		||||
    install(TARGETS citra RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user