aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/89 default library
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/89 default library')
-rw-r--r--meson/test cases/common/89 default library/ef.cpp8
-rw-r--r--meson/test cases/common/89 default library/ef.h22
-rw-r--r--meson/test cases/common/89 default library/eftest.cpp14
-rw-r--r--meson/test cases/common/89 default library/meson.build10
4 files changed, 54 insertions, 0 deletions
diff --git a/meson/test cases/common/89 default library/ef.cpp b/meson/test cases/common/89 default library/ef.cpp
new file mode 100644
index 000000000..34784f88a
--- /dev/null
+++ b/meson/test cases/common/89 default library/ef.cpp
@@ -0,0 +1,8 @@
+#include"ef.h"
+
+DLL_PUBLIC Ef::Ef() : x(99) {
+}
+
+int DLL_PUBLIC Ef::get_x() const {
+ return x;
+}
diff --git a/meson/test cases/common/89 default library/ef.h b/meson/test cases/common/89 default library/ef.h
new file mode 100644
index 000000000..21704b557
--- /dev/null
+++ b/meson/test cases/common/89 default library/ef.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#if defined _WIN32 || defined __CYGWIN__
+ #define DLL_PUBLIC __declspec(dllexport)
+#else
+ #if defined __GNUC__
+ #define DLL_PUBLIC __attribute__ ((visibility("default")))
+ #else
+ #pragma message ("Compiler does not support symbol visibility.")
+ #define DLL_PUBLIC
+ #endif
+#endif
+
+class Ef {
+private:
+ int x;
+
+public:
+
+ DLL_PUBLIC Ef();
+ int DLL_PUBLIC get_x() const;
+};
diff --git a/meson/test cases/common/89 default library/eftest.cpp b/meson/test cases/common/89 default library/eftest.cpp
new file mode 100644
index 000000000..4d4412d75
--- /dev/null
+++ b/meson/test cases/common/89 default library/eftest.cpp
@@ -0,0 +1,14 @@
+#include"ef.h"
+
+#include<iostream>
+
+int main(int, char **) {
+ Ef var;
+ if(var.get_x() == 99) {
+ std::cout << "All is fine.\n";
+ return 0;
+ } else {
+ std::cout << "Something went wrong.\n";
+ return 1;
+ }
+}
diff --git a/meson/test cases/common/89 default library/meson.build b/meson/test cases/common/89 default library/meson.build
new file mode 100644
index 000000000..508f25f5b
--- /dev/null
+++ b/meson/test cases/common/89 default library/meson.build
@@ -0,0 +1,10 @@
+project('default library', 'cpp')
+
+flib = library('ef', 'ef.cpp')
+exe = executable('eftest', 'eftest.cpp', link_with : flib)
+test('eftest', exe)
+
+# Same as above, but using build_target()
+flib2 = build_target('ef2', 'ef.cpp', target_type: 'library')
+exe2 = executable('eftest2', 'eftest.cpp', link_with : flib2)
+test('eftest2', exe2)