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:
parent
62f34c8e5c
commit
7b81903756
8 changed files with 27 additions and 23 deletions
|
@ -79,13 +79,15 @@ endif()
|
|||
create_directory_groups(${SRCS} ${HEADERS})
|
||||
|
||||
add_library(video_core STATIC ${SRCS} ${HEADERS})
|
||||
target_link_libraries(video_core glad)
|
||||
target_link_libraries(video_core PUBLIC common core)
|
||||
target_link_libraries(video_core PRIVATE glad)
|
||||
|
||||
if (ARCHITECTURE_x86_64)
|
||||
target_link_libraries(video_core xbyak)
|
||||
target_link_libraries(video_core PRIVATE xbyak)
|
||||
endif()
|
||||
|
||||
if (PNG_FOUND)
|
||||
target_link_libraries(video_core ${PNG_LIBRARIES})
|
||||
include_directories(${PNG_INCLUDE_DIRS})
|
||||
add_definitions(${PNG_DEFINITIONS})
|
||||
target_link_libraries(video_core PRIVATE ${PNG_LIBRARIES})
|
||||
target_include_directories(video_core PRIVATE ${PNG_INCLUDE_DIRS})
|
||||
target_compile_definitions(video_core PRIVATE ${PNG_DEFINITIONS})
|
||||
endif()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue