diff options
| author | ruki <[email protected]> | 2023-09-27 23:23:07 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-09-27 23:23:07 +0800 |
| commit | 0fd951cc540635f332a7c7379a319656c82d70b4 (patch) | |
| tree | 598ce4b482a87b6801dc10361f260499fd1156b2 /tests/projects | |
| parent | a7d7a3718375dc61342f283a50b297ac4ba7e007 (diff) | |
add link orders example
Diffstat (limited to 'tests/projects')
| -rw-r--r-- | tests/projects/c++/linkorders/src/foo.cpp | 5 | ||||
| -rw-r--r-- | tests/projects/c++/linkorders/src/foo.h | 9 | ||||
| -rw-r--r-- | tests/projects/c++/linkorders/src/main.cpp | 9 | ||||
| -rw-r--r-- | tests/projects/c++/linkorders/test.lua | 3 | ||||
| -rw-r--r-- | tests/projects/c++/linkorders/xmake.lua | 18 |
5 files changed, 44 insertions, 0 deletions
diff --git a/tests/projects/c++/linkorders/src/foo.cpp b/tests/projects/c++/linkorders/src/foo.cpp new file mode 100644 index 000000000..1a1fb3425 --- /dev/null +++ b/tests/projects/c++/linkorders/src/foo.cpp @@ -0,0 +1,5 @@ +#include "foo.h" + +int add(int a, int b) { + return a + b; +} diff --git a/tests/projects/c++/linkorders/src/foo.h b/tests/projects/c++/linkorders/src/foo.h new file mode 100644 index 000000000..d2506bca9 --- /dev/null +++ b/tests/projects/c++/linkorders/src/foo.h @@ -0,0 +1,9 @@ +#ifdef __cplusplus +extern "C" { +#endif + +int add(int a, int b); + +#ifdef __cplusplus +} +#endif diff --git a/tests/projects/c++/linkorders/src/main.cpp b/tests/projects/c++/linkorders/src/main.cpp new file mode 100644 index 000000000..ed1924789 --- /dev/null +++ b/tests/projects/c++/linkorders/src/main.cpp @@ -0,0 +1,9 @@ +#include "foo.h" +#include <iostream> + +using namespace std; + +int main(int argc, char** argv) { + cout << "add(1, 2) = " << add(1, 2) << endl; + return 0; +} diff --git a/tests/projects/c++/linkorders/test.lua b/tests/projects/c++/linkorders/test.lua new file mode 100644 index 000000000..b57362078 --- /dev/null +++ b/tests/projects/c++/linkorders/test.lua @@ -0,0 +1,3 @@ +function main(t) + t:build() +end diff --git a/tests/projects/c++/linkorders/xmake.lua b/tests/projects/c++/linkorders/xmake.lua new file mode 100644 index 000000000..b3df5f820 --- /dev/null +++ b/tests/projects/c++/linkorders/xmake.lua @@ -0,0 +1,18 @@ +add_rules("mode.debug", "mode.release") + +add_requires("libpng") + +target("foo") + set_kind("static") + add_files("src/foo.cpp") + add_packages("libpng", {public = true}) + +target("demo") + set_kind("binary") + add_deps("foo") + add_files("src/main.cpp") + if is_plat("linux", "macosx") then + add_syslinks("pthread", "m") + end + + |
