diff options
author | Brad King <brad.king@kitware.com> | 2009-09-01 10:38:03 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-09-01 10:38:03 -0400 |
commit | 0cfd8c411ff450465ad2adfca43aaeb859eee643 (patch) | |
tree | 6e0900fed8ad30d8f31967625cfa7e77bc4da399 /Tests/Dependency | |
parent | 69251f75492a9bd1e3122e8e7ae7888e9c700a57 (diff) | |
download | cmake-0cfd8c411ff450465ad2adfca43aaeb859eee643.tar.gz |
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.
Diffstat (limited to 'Tests/Dependency')
-rw-r--r-- | Tests/Dependency/Case2/CMakeLists.txt | 7 | ||||
-rw-r--r-- | Tests/Dependency/Case2/foo1c.c | 2 | ||||
-rw-r--r-- | Tests/Dependency/Case2/foo2c.c | 2 | ||||
-rw-r--r-- | Tests/Dependency/Case2/foo3b.c | 3 | ||||
-rw-r--r-- | Tests/Dependency/Case2/foo3c.c | 1 |
5 files changed, 11 insertions, 4 deletions
diff --git a/Tests/Dependency/Case2/CMakeLists.txt b/Tests/Dependency/Case2/CMakeLists.txt index 18100cd5d8..21caaad3e6 100644 --- a/Tests/Dependency/Case2/CMakeLists.txt +++ b/Tests/Dependency/Case2/CMakeLists.txt @@ -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) diff --git a/Tests/Dependency/Case2/foo1c.c b/Tests/Dependency/Case2/foo1c.c new file mode 100644 index 0000000000..1dcca58c68 --- /dev/null +++ b/Tests/Dependency/Case2/foo1c.c @@ -0,0 +1,2 @@ +extern int foo2c(void); +int foo1c(void) { return foo2c(); } diff --git a/Tests/Dependency/Case2/foo2c.c b/Tests/Dependency/Case2/foo2c.c new file mode 100644 index 0000000000..dbc54de746 --- /dev/null +++ b/Tests/Dependency/Case2/foo2c.c @@ -0,0 +1,2 @@ +extern int foo3c(void); +int foo2c(void) { return foo3c(); } diff --git a/Tests/Dependency/Case2/foo3b.c b/Tests/Dependency/Case2/foo3b.c index 90ea2f11d4..ca25fd8ffe 100644 --- a/Tests/Dependency/Case2/foo3b.c +++ b/Tests/Dependency/Case2/foo3b.c @@ -1 +1,2 @@ -int foo3b(void) { return 0; } +extern int foo1c(void); +int foo3b(void) { return foo1c(); } diff --git a/Tests/Dependency/Case2/foo3c.c b/Tests/Dependency/Case2/foo3c.c new file mode 100644 index 0000000000..0ad65fe449 --- /dev/null +++ b/Tests/Dependency/Case2/foo3c.c @@ -0,0 +1 @@ +int foo3c(void) { return 0; } |