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.
This commit is contained in:
parent
69251f7549
commit
0cfd8c411f
|
@ -1,11 +1,12 @@
|
|||
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)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
extern int foo2c(void);
|
||||
int foo1c(void) { return foo2c(); }
|
|
@ -0,0 +1,2 @@
|
|||
extern int foo3c(void);
|
||||
int foo2c(void) { return foo3c(); }
|
|
@ -1 +1,2 @@
|
|||
int foo3b(void) { return 0; }
|
||||
extern int foo1c(void);
|
||||
int foo3b(void) { return foo1c(); }
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
int foo3c(void) { return 0; }
|
Loading…
Reference in New Issue