Path: blob/master/Tests/CMakeOnly/LinkInterfaceLoop/CMakeLists.txt
3153 views
cmake_minimum_required(VERSION 3.10)1project(LinkInterfaceLoop C)23# Add a shared library that incorrectly names itself as a4# dependency, thus forming a cycle.5add_library(A SHARED IMPORTED)6set_target_properties(A PROPERTIES7IMPORTED_LINK_DEPENDENT_LIBRARIES A8IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/dirA/A"9)1011# Add a shared library that incorrectly names itself in12# its link interface, thus forming a cycle.13add_library(B SHARED IMPORTED)14set_target_properties(B PROPERTIES15IMPORTED_LINK_INTERFACE_LIBRARIES B16IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/dirB/B"17)1819# Add a shared library with an empty link interface20# that depends on two shared libraries.21add_library(C SHARED lib.c)22set_property(TARGET C PROPERTY LINK_INTERFACE_LIBRARIES "")23target_link_libraries(C B A)2425add_executable(main main.c)26target_link_libraries(main C)272829