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
|
@ -13,7 +13,8 @@ create_directory_groups(${SRCS} ${HEADERS})
|
|||
include_directories(../../externals/catch/single_include/)
|
||||
|
||||
add_executable(tests ${SRCS} ${HEADERS})
|
||||
target_link_libraries(tests core video_core audio_core common)
|
||||
target_link_libraries(tests ${PLATFORM_LIBRARIES} Threads::Threads)
|
||||
target_link_libraries(tests PRIVATE common core)
|
||||
target_link_libraries(tests PRIVATE glad) # To support linker work-around
|
||||
target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
||||
|
||||
add_test(NAME tests COMMAND $<TARGET_FILE:tests>)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue