aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-02-23 11:50:46 +0100
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-06-06 18:27:02 +0200
commitbf81aac465bbfe9545393c18328804776defa0e0 (patch)
treebcb9257dc679f8ff013b143154031e8d0ec4e9d8
parent2b44b4be9f0e3896ca7f7a24c92a841939332596 (diff)
downloadmeson-bf81aac465bbfe9545393c18328804776defa0e0.zip
meson-bf81aac465bbfe9545393c18328804776defa0e0.tar.gz
meson-bf81aac465bbfe9545393c18328804776defa0e0.tar.bz2
cmake: Added project tests
-rwxr-xr-xrun_project_tests.py1
-rw-r--r--test cases/cmake/1 basic/meson.build5
-rw-r--r--test cases/cmake/2 advanced/installed_files.txt2
-rw-r--r--test cases/cmake/2 advanced/meson.build15
-rw-r--r--test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp3
-rw-r--r--test cases/cmake/2 advanced/subprojects/cmMod/main.cpp3
6 files changed, 23 insertions, 6 deletions
diff --git a/run_project_tests.py b/run_project_tests.py
index a3aa07d..c3187ff 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -553,6 +553,7 @@ def skip_csharp(backend):
def detect_tests_to_run():
# Name, subdirectory, skip condition.
all_tests = [
+ ('cmake', 'cmake', not shutil.which('cmake')),
('common', 'common', False),
('warning-meson', 'warning', False),
('failing-meson', 'failing', False),
diff --git a/test cases/cmake/1 basic/meson.build b/test cases/cmake/1 basic/meson.build
index bf2d178..de54cce 100644
--- a/test cases/cmake/1 basic/meson.build
+++ b/test cases/cmake/1 basic/meson.build
@@ -1,6 +1,7 @@
project('cmakeSubTest', ['cpp'])
-subproject('cmMod')
+sub_pro = subproject('cmMod', method: 'cmake')
+sub_dep = sub_pro.get_variable('cmModLib_dep')
-exe1 = executable('main', ['main.cpp'])
+exe1 = executable('main', ['main.cpp'], dependencies: [sub_dep])
test('test1', exe1)
diff --git a/test cases/cmake/2 advanced/installed_files.txt b/test cases/cmake/2 advanced/installed_files.txt
new file mode 100644
index 0000000..40235a5
--- /dev/null
+++ b/test cases/cmake/2 advanced/installed_files.txt
@@ -0,0 +1,2 @@
+usr/lib/libcmModLib.so
+usr/bin/testEXE \ No newline at end of file
diff --git a/test cases/cmake/2 advanced/meson.build b/test cases/cmake/2 advanced/meson.build
index eb5dab1..b3acc97 100644
--- a/test cases/cmake/2 advanced/meson.build
+++ b/test cases/cmake/2 advanced/meson.build
@@ -1,6 +1,17 @@
project('cmakeSubTest_advanced', ['cpp'])
-subproject('cmMod')
+# Test the "normal" subproject call
+sub_pro = subproject('cmMod')
+sub_dep = sub_pro.get_variable('cmModLib_dep')
-exe1 = executable('main', ['main.cpp'])
+# Test the dependency shortcut
+shortcut_dep = dependency('ttabadbneiobevn', fallback: ['cmMod', 'cmModLib_dep'])
+
+# Build some files
+exe1 = executable('main1', ['main.cpp'], dependencies: [sub_dep])
+exe2 = executable('main2', ['main.cpp'], dependencies: [shortcut_dep])
test('test1', exe1)
+test('test2', exe2)
+
+# Test if we can also extract executables
+test('test3', sub_pro.get_variable('testEXE'))
diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp b/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
index d3141d5..cb20844 100644
--- a/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
+++ b/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
@@ -1,9 +1,10 @@
#include "cmMod.hpp"
+#include <zlib.h>
using namespace std;
cmModClass::cmModClass(string foo) {
- str = foo + " World";
+ str = foo + " World " + zlibVersion();
}
string cmModClass::getStr() const {
diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/main.cpp b/test cases/cmake/2 advanced/subprojects/cmMod/main.cpp
index cd21042..a1b1637 100644
--- a/test cases/cmake/2 advanced/subprojects/cmMod/main.cpp
+++ b/test cases/cmake/2 advanced/subprojects/cmMod/main.cpp
@@ -1,10 +1,11 @@
#include <iostream>
+#include <zlib.h>
#include "lib/cmMod.hpp"
using namespace std;
int main() {
cmModClass obj("Hello (LIB TEST)");
- cout << obj.getStr() << endl;
+ cout << obj.getStr() << " ZLIB: " << zlibVersion() << endl;
return 0;
}