diff options
Diffstat (limited to 'meson/test cases/common/89 default library')
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) |