aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/115 subproject project arguments
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/115 subproject project arguments')
-rw-r--r--meson/test cases/common/115 subproject project arguments/exe.c27
-rw-r--r--meson/test cases/common/115 subproject project arguments/exe.cpp28
-rw-r--r--meson/test cases/common/115 subproject project arguments/meson.build17
-rw-r--r--meson/test cases/common/115 subproject project arguments/subprojects/subexe/meson.build13
-rw-r--r--meson/test cases/common/115 subproject project arguments/subprojects/subexe/subexe.c27
5 files changed, 112 insertions, 0 deletions
diff --git a/meson/test cases/common/115 subproject project arguments/exe.c b/meson/test cases/common/115 subproject project arguments/exe.c
new file mode 100644
index 000000000..e8f2271a3
--- /dev/null
+++ b/meson/test cases/common/115 subproject project arguments/exe.c
@@ -0,0 +1,27 @@
+#ifndef PROJECT_OPTION
+#error
+#endif
+
+#ifndef PROJECT_OPTION_1
+#error
+#endif
+
+#ifndef GLOBAL_ARGUMENT
+#error
+#endif
+
+#ifdef SUBPROJECT_OPTION
+#error
+#endif
+
+#ifdef OPTION_CPP
+#error
+#endif
+
+#ifndef PROJECT_OPTION_C_CPP
+#error
+#endif
+
+int main(void) {
+ return 0;
+}
diff --git a/meson/test cases/common/115 subproject project arguments/exe.cpp b/meson/test cases/common/115 subproject project arguments/exe.cpp
new file mode 100644
index 000000000..9cfaec4a2
--- /dev/null
+++ b/meson/test cases/common/115 subproject project arguments/exe.cpp
@@ -0,0 +1,28 @@
+#ifdef PROJECT_OPTION
+#error
+#endif
+
+#ifdef PROJECT_OPTION_1
+#error
+#endif
+
+#ifdef GLOBAL_ARGUMENT
+#error
+#endif
+
+#ifdef SUBPROJECT_OPTION
+#error
+#endif
+
+#ifndef PROJECT_OPTION_CPP
+#error
+#endif
+
+#ifndef PROJECT_OPTION_C_CPP
+#error
+#endif
+
+int main(void) {
+ return 0;
+}
+
diff --git a/meson/test cases/common/115 subproject project arguments/meson.build b/meson/test cases/common/115 subproject project arguments/meson.build
new file mode 100644
index 000000000..90d4c05f3
--- /dev/null
+++ b/meson/test cases/common/115 subproject project arguments/meson.build
@@ -0,0 +1,17 @@
+project('project options tester', 'c', 'cpp',
+ version : '2.3.4',
+ license : 'mylicense')
+
+add_global_arguments('-DGLOBAL_ARGUMENT', language: 'c')
+add_project_arguments('-DPROJECT_OPTION', language: 'c')
+add_project_arguments('-DPROJECT_OPTION_CPP', language: 'cpp')
+add_project_arguments('-DPROJECT_OPTION_C_CPP', language: ['c', 'cpp'])
+
+sub = subproject('subexe', version : '1.0.0')
+
+add_project_arguments('-DPROJECT_OPTION_1', language: 'c')
+
+e = executable('exe', 'exe.c')
+e = executable('execpp', 'exe.cpp')
+test('exetest', e)
+test('execpptest', e)
diff --git a/meson/test cases/common/115 subproject project arguments/subprojects/subexe/meson.build b/meson/test cases/common/115 subproject project arguments/subprojects/subexe/meson.build
new file mode 100644
index 000000000..ef141dc0a
--- /dev/null
+++ b/meson/test cases/common/115 subproject project arguments/subprojects/subexe/meson.build
@@ -0,0 +1,13 @@
+project('subproject', 'c',
+ version : '1.0.0',
+ license : ['sublicense1', 'sublicense2'])
+
+if not meson.is_subproject()
+ error('Claimed to be master project even though we are a subproject.')
+endif
+
+assert(meson.project_name() == 'subproject', 'Incorrect subproject name')
+
+add_project_arguments('-DSUBPROJECT_OPTION', language: 'c')
+e = executable('subexe', 'subexe.c')
+test('subexetest', e)
diff --git a/meson/test cases/common/115 subproject project arguments/subprojects/subexe/subexe.c b/meson/test cases/common/115 subproject project arguments/subprojects/subexe/subexe.c
new file mode 100644
index 000000000..bd5316db9
--- /dev/null
+++ b/meson/test cases/common/115 subproject project arguments/subprojects/subexe/subexe.c
@@ -0,0 +1,27 @@
+#ifdef PROJECT_OPTION
+#error
+#endif
+
+#ifdef PROJECT_OPTION_1
+#error
+#endif
+
+#ifdef PROJECT_OPTION_C_CPP
+#error
+#endif
+
+#ifndef GLOBAL_ARGUMENT
+#error
+#endif
+
+#ifndef SUBPROJECT_OPTION
+#error
+#endif
+
+#ifdef OPTION_CPP
+#error
+#endif
+
+int main(void) {
+ return 0;
+}