diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-03-24 15:50:40 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-03-24 15:50:40 +0200 |
commit | 7882acbd728891ab600d9f0edab1bb652c53e178 (patch) | |
tree | b2371c48c04003b4e418e9736f80c3b18fc793b2 | |
parent | 1b114310798f882e789446ec857a832a663b9a73 (diff) | |
download | meson-7882acbd728891ab600d9f0edab1bb652c53e178.zip meson-7882acbd728891ab600d9f0edab1bb652c53e178.tar.gz meson-7882acbd728891ab600d9f0edab1bb652c53e178.tar.bz2 |
Gtest now works, though still a bit hackish.
-rwxr-xr-x | backends.py | 18 | ||||
-rw-r--r-- | dependencies.py | 3 | ||||
-rw-r--r-- | test cases/frameworks/2 gtest/meson.build | 6 | ||||
-rw-r--r-- | test cases/frameworks/2 gtest/test.cc | 9 |
4 files changed, 27 insertions, 9 deletions
diff --git a/backends.py b/backends.py index 5d683a3..88237bb 100755 --- a/backends.py +++ b/backends.py @@ -512,12 +512,16 @@ class NinjaBackend(Backend): commands = self.generate_basic_compiler_flags(target, compiler) commands.append(compiler.get_include_arg(self.get_target_private_dir(target))) if is_generated: - abs_src = os.path.join(self.get_target_private_dir(target), src) + rel_src = os.path.join(self.get_target_private_dir(target), src) else: - abs_src = os.path.join(self.build_to_src, target.get_source_subdir(), src) - abs_obj = os.path.join(self.get_target_private_dir(target), src) - abs_obj += '.' + self.environment.get_object_suffix() - dep_file = abs_obj + '.' + compiler.get_depfile_suffix() + rel_src = os.path.join(self.build_to_src, target.get_source_subdir(), src) + if os.path.isabs(src): + src_filename = os.path.basename(src) + else: + src_filename = src + rel_obj = os.path.join(self.get_target_private_dir(target), src_filename) + rel_obj += '.' + self.environment.get_object_suffix() + dep_file = rel_obj + '.' + compiler.get_depfile_suffix() pchlist = target.get_pch() if len(pchlist) == 0: pch_dep = [] @@ -540,14 +544,14 @@ class NinjaBackend(Backend): commands += self.get_pch_include_args(compiler, target) compiler_name = '%s_COMPILER' % compiler.get_language() - element = NinjaBuildElement(abs_obj, compiler_name, abs_src) + element = NinjaBuildElement(rel_obj, compiler_name, rel_src) if len(header_deps) > 0: element.add_dep([os.path.join(self.get_target_private_dir(target), d) for d in header_deps]) element.add_orderdep(pch_dep) element.add_item('DEPFILE', dep_file) element.add_item('FLAGS', commands) element.write(outfile) - return abs_obj + return rel_obj def generate_pch(self, target, outfile): for pch in target.get_pch(): diff --git a/dependencies.py b/dependencies.py index 70680fb..6e10a64 100644 --- a/dependencies.py +++ b/dependencies.py @@ -113,10 +113,9 @@ class GTestDependency(): def get_compile_flags(self): return ['-I' + self.include_dir, '-I' + self.src_include_dir] def get_link_flags(self): - return [] + return ['-lpthread'] def get_version(self): return '1.something_maybe' - def get_sources(self): return [self.all_src, self.main_src] diff --git a/test cases/frameworks/2 gtest/meson.build b/test cases/frameworks/2 gtest/meson.build new file mode 100644 index 0000000..5e22365 --- /dev/null +++ b/test cases/frameworks/2 gtest/meson.build @@ -0,0 +1,6 @@ +project('gtest', 'cxx') + +gtest = find_dep('gtest', required : true) + +e = executable('testprog', 'test.cc', deps : gtest) +add_test('gtest test', e) diff --git a/test cases/frameworks/2 gtest/test.cc b/test cases/frameworks/2 gtest/test.cc new file mode 100644 index 0000000..21efd68 --- /dev/null +++ b/test cases/frameworks/2 gtest/test.cc @@ -0,0 +1,9 @@ +#include<gtest/gtest.h> + +TEST(basic_test, eq_works) { + ASSERT_EQ(0, 1-1) << "Equality is broken. Mass panic!"; +} + +TEST(basic_test, neq_works) { + ASSERT_NE(15, 106) << "Inequal is equal. The foundations of space and time are in jeopardy."; +} |