diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-02-23 11:50:46 +0100 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-06-06 18:27:02 +0200 |
commit | bf81aac465bbfe9545393c18328804776defa0e0 (patch) | |
tree | bcb9257dc679f8ff013b143154031e8d0ec4e9d8 | |
parent | 2b44b4be9f0e3896ca7f7a24c92a841939332596 (diff) | |
download | meson-bf81aac465bbfe9545393c18328804776defa0e0.zip meson-bf81aac465bbfe9545393c18328804776defa0e0.tar.gz meson-bf81aac465bbfe9545393c18328804776defa0e0.tar.bz2 |
cmake: Added project tests
-rwxr-xr-x | run_project_tests.py | 1 | ||||
-rw-r--r-- | test cases/cmake/1 basic/meson.build | 5 | ||||
-rw-r--r-- | test cases/cmake/2 advanced/installed_files.txt | 2 | ||||
-rw-r--r-- | test cases/cmake/2 advanced/meson.build | 15 | ||||
-rw-r--r-- | test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp | 3 | ||||
-rw-r--r-- | test cases/cmake/2 advanced/subprojects/cmMod/main.cpp | 3 |
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; } |