Commit 0cfd8c41 authored by Brad King's avatar Brad King
Browse files

Test link multiplicity

This tests the LINK_INTERFACE_MULTIPLICITY property for a cycle of three
static libraries that must be scanned three times to link properly.
parent 69251f75
project(CASE2 C)
add_library(case2Foo1 STATIC foo1.c foo1b.c)
add_library(case2Foo2 STATIC foo2.c foo2b.c)
add_library(case2Foo3 STATIC foo3.c foo3b.c)
add_library(case2Foo1 STATIC foo1.c foo1b.c foo1c.c)
add_library(case2Foo2 STATIC foo2.c foo2b.c foo2c.c)
add_library(case2Foo3 STATIC foo3.c foo3b.c foo3c.c)
target_link_libraries(case2Foo1 case2Foo2)
target_link_libraries(case2Foo2 case2Foo3)
target_link_libraries(case2Foo3 case2Foo1)
set_property(TARGET case2Foo1 PROPERTY LINK_INTERFACE_MULTIPLICITY 3)
add_library(case2Bar1 STATIC bar1.c)
add_library(case2Bar2 STATIC bar2.c)
......
extern int foo2c(void);
int foo1c(void) { return foo2c(); }
extern int foo3c(void);
int foo2c(void) { return foo3c(); }
int foo3b(void) { return 0; }
extern int foo1c(void);
int foo3b(void) { return foo1c(); }
int foo3c(void) { return 0; }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment