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:
Brad King 2009-09-01 10:38:03 -04:00
parent 69251f7549
commit 0cfd8c411f
5 changed files with 11 additions and 4 deletions

View File

@ -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)

View File

@ -0,0 +1,2 @@
extern int foo2c(void);
int foo1c(void) { return foo2c(); }

View File

@ -0,0 +1,2 @@
extern int foo3c(void);
int foo2c(void) { return foo3c(); }

View File

@ -1 +1,2 @@
int foo3b(void) { return 0; }
extern int foo1c(void);
int foo3b(void) { return foo1c(); }

View File

@ -0,0 +1 @@
int foo3c(void) { return 0; }