aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-24 15:50:40 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-24 15:50:40 +0200
commit7882acbd728891ab600d9f0edab1bb652c53e178 (patch)
treeb2371c48c04003b4e418e9736f80c3b18fc793b2
parent1b114310798f882e789446ec857a832a663b9a73 (diff)
downloadmeson-7882acbd728891ab600d9f0edab1bb652c53e178.zip
meson-7882acbd728891ab600d9f0edab1bb652c53e178.tar.gz
meson-7882acbd728891ab600d9f0edab1bb652c53e178.tar.bz2
Gtest now works, though still a bit hackish.
-rwxr-xr-xbackends.py18
-rw-r--r--dependencies.py3
-rw-r--r--test cases/frameworks/2 gtest/meson.build6
-rw-r--r--test cases/frameworks/2 gtest/test.cc9
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.";
+}