Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CMakeOnly/LinkInterfaceLoop/CMakeLists.txt
3153 views
1
cmake_minimum_required(VERSION 3.10)
2
project(LinkInterfaceLoop C)
3
4
# Add a shared library that incorrectly names itself as a
5
# dependency, thus forming a cycle.
6
add_library(A SHARED IMPORTED)
7
set_target_properties(A PROPERTIES
8
IMPORTED_LINK_DEPENDENT_LIBRARIES A
9
IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/dirA/A"
10
)
11
12
# Add a shared library that incorrectly names itself in
13
# its link interface, thus forming a cycle.
14
add_library(B SHARED IMPORTED)
15
set_target_properties(B PROPERTIES
16
IMPORTED_LINK_INTERFACE_LIBRARIES B
17
IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/dirB/B"
18
)
19
20
# Add a shared library with an empty link interface
21
# that depends on two shared libraries.
22
add_library(C SHARED lib.c)
23
set_property(TARGET C PROPERTY LINK_INTERFACE_LIBRARIES "")
24
target_link_libraries(C B A)
25
26
add_executable(main main.c)
27
target_link_libraries(main C)
28
29