aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-03tests/windows: Tests for #1444Nirbheek Chauhan4-1/+8
Check that pdb files are installed
2017-03-02Install PDB files. Closes #1442.Jussi Pakkanen1-0/+5
2017-03-01Merge pull request #1379 from mesonbuild/doxygenJussi Pakkanen7-0/+2695
Created doxygen sample project.
2017-03-01Graceful fallback when printing messages with characters not understood by ↵Jussi Pakkanen1-2/+13
stdout.
2017-02-27Use cross stripper when cross compiling and allow overriding native strip ↵Jussi Pakkanen5-4/+29
executable. Closes #1414.
2017-02-27Fix directory context for git wrap checkMarc Becker2-1/+2
2017-02-27Force log file to UTF-8.Jussi Pakkanen1-1/+1
2017-02-26tests: Use #!/usr/bin/env python3 for all scriptsNirbheek Chauhan31-32/+36
We automatically convert that to use sys.executable now which is always available on all platforms (because we're running with it). On some platforms like NetBSD, `python` doesn't exist, and you must use a specific python version. On most other distros, `python` is Python 2, and we don't want to depend on that. Closes https://github.com/mesonbuild/meson/issues/695 All these scripts were being used as `find_program()`, so we do not lose any test coverage by doing this.
2017-02-26gnome: Pass ExternalProgram objects to CustomTargetNirbheek Chauhan1-7/+7
There is no need to do obj.get_command() and in fact it's wrong because the VS backends need to resolve each object to absolute paths and get_command() does not do that. This should fix invocation of GNOME module helpers with the VS backends For the record, absolute paths for programs are needed because the same PATH environment won't necessarily be available to Visual Studio when it builds the generated solution. Related to https://github.com/mesonbuild/meson/issues/1419
2017-02-26Merge pull request #1421 from centricular/mesontest-test-argsJussi Pakkanen1-10/+11
mesontest: Support passing extra args to tests at runtime
2017-02-26Raise if gobject-introspection is not found.Elliott Sales de Andrade1-5/+1
This used to produce a warning, but then would crash anyway. It's simpler if we just error out and have the user disable gir generation or install gobject-introspection.
2017-02-26Fix undefined variables in ObjC/C++ detectionNirbheek Chauhan1-6/+8
Pointed out by Mike Sinkovsky
2017-02-26ninjabackend: generate "compile_commands.json" even for cross compileFabio Porcedda1-1/+3
Just add 'c_CROSS_COMPILER' and 'cpp_CROSS_COMPILER' to the 'ninja -t compdb' command.
2017-02-23mesontest: Support passing test arguments at runtimeNirbheek Chauhan1-2/+5
This is especially useful with the glib testing framework where you can select which tests to run within a single test executable by pasing `-p /some/test/path`
2017-02-23mesontest: Fix --repeat with --gdbNirbheek Chauhan1-3/+3
It would add --args to `wrap` repeatedly for each re-run, resulting in gdb erroring out with `--args: No such file or directory.` Also don't make --gdb and --wrapper mutually exclusive. Sometimes people want to run under a wrapper *and* run it under gdb.
2017-02-23mesontest: Use shlex.split for parsing the wrapperNirbheek Chauhan1-5/+3
Allows people to pass arguments with spaces in them. Do this using argparse itself instead of doing an isinstance later.
2017-02-20Merge pull request #1408 from centricular/detectcompilersbetterJussi Pakkanen12-173/+238
More fixes to compiler detection
2017-02-21objc tests: Disable nsstring test on Clang + LinuxNirbheek Chauhan1-0/+3
The GNUstep runtime shipped in Linux distros is GCC-specific and won't work with clang. You have to build it separately and set the paths yourself. In file included from /root/b 05ywf6dg/stringprog@exe/stringprog-unity.m:1: In file included from /root/b 05ywf6dg/../test cases/objc/2 nsstring/stringprog.m:1: In file included from /usr/include/GNUstep/Foundation/NSString.h:89: In file included from /usr/include/GNUstep/Foundation/NSObject.h:30: In file included from /usr/include/GNUstep/Foundation/NSObjCRuntime.h:213: /usr/include/GNUstep/GNUstepBase/GSObjCRuntime.h:58:11: fatal error: 'objc/objc.h' file not found #include <objc/objc.h> ^ On my system, I get the same error and the objc.h path is: /usr/lib/gcc/x86_64-redhat-linux/6.3.1/include/objc/objc.h
2017-02-21Detect GCC type on macOS for ObjC/C++ tooNirbheek Chauhan2-12/+10
These compilers are available in MinGW and can be built on macOS. More interestingly, `gcc` is a wrapper around `clang` on macOS, so we will detect the compiler type incorrectly on macOS without this.
2017-02-21unit tests: Don't try to test objc/c++ on WindowsNirbheek Chauhan1-1/+3
MSVC compiler doesn't support it obviously.
2017-02-21Support passing of options to compilers and linkersNirbheek Chauhan2-8/+6
If you pass options, the last element in the array won't be the compiler basename, so just check if the basename is in the exelist somewhere. Includes a test.
2017-02-21Use the same function for detection of C and C++ compilersNirbheek Chauhan1-46/+16
The mechanism is identical which means there's a high likelihood of unintended divergence. In fact, a slight divergence was already there.
2017-02-21Fix static linker exelist in cross-info and environmentNirbheek Chauhan2-15/+41
https://github.com/mesonbuild/meson/pull/1406 had an incomplete fix for this. The test case caught it. Note: this still doesn't test that setting it in the cross-info works, but it's the same codepath as via the environment so it should be ok.
2017-02-21Fix compiler exelist in cross-info and the environmentNirbheek Chauhan8-3/+118
https://github.com/mesonbuild/meson/pull/1406 had an incomplete fix for this. The test case caught it. Note: this still doesn't test that setting it in the cross-info works, but it's the same codepath as via the environment so it should be ok.
2017-02-21travis: Also set OBJC and OBJCXX to CC/CXXNirbheek Chauhan1-2/+2
Else they are only autodetected and we don't test both GCC and Clang.
2017-02-21environment: Use shlex.split() to get AR from the envNirbheek Chauhan1-1/+1
That way if the path has spaces, it won't get messed up.
2017-02-21Update authors.txtHase Bastian1-0/+1
2017-02-21Detect (non-Apple) clang as objc/c++ compilerHase Bastian1-0/+4
See https://github.com/mesonbuild/meson/pull/1388
2017-02-21Factor out common code in compiler detectionNirbheek Chauhan1-117/+65
This was being duplicated across C/C++/ObjC/ObjC++/Fortran and hence was behaving slightly differently in each.
2017-02-20Merge pull request #1402 from centricular/test-setup-fixesJussi Pakkanen6-10/+39
Various fixes to how mesontest handles test setups.
2017-02-20Merge pull request #1403 from centricular/compile_resourcesJussi Pakkanen20-75/+489
Make configure_file() great again
2017-02-20Merged clang color.Jussi Pakkanen2-1/+10
2017-02-20Add myself as an author.Rodrigo Lourenço1-0/+1
2017-02-20run_tests.py: Nice down when running on a dev machineNirbheek Chauhan1-1/+7
To avoid destroying productivity.
2017-02-20tests/common/129: Fix configure_file invocationNirbheek Chauhan1-1/+1
There is no way for us to know that 'source.c' is a file in the source tree if it's a string. It needs to be a file object. This used to work earlier because we used to incorrectly run the configure_file() command in the source dir (!) instead of the build dir. This had nasty side-effects such as creating files in the source tree unless you specified an absolute path...
2017-02-20gnome: Support configure_file() output in compile_resourcesNirbheek Chauhan3-5/+25
We can't support generated XML files with custom_target() because the dependency scanning happens at configure time, but we *can* support generating them with configure_file(). Closes https://github.com/mesonbuild/meson/issues/1380
2017-02-20configure_file: Substitute @INPUT@/@OUTPUT@/etc in commandNirbheek Chauhan6-22/+72
The same substitutions and rules as custom_target(). Also generally fix it to actually work when run in a subdir and with anything other than absolute paths for input and output files. We now also log a message when configuring files. Includes tests for all this.
2017-02-20gnome: Document why we need absolute paths for mkenumsNirbheek Chauhan1-0/+1
I forgot why this was needed and had to dig through the git logs. Link to the GitHub issue for future reference.
2017-02-20custom_target: Substitute input into outputNirbheek Chauhan6-3/+38
This means replacing @PLAINNAME@ and @BASENAME@ in the outputs. This is the same feature as generator(). This is only allowed when there is only one input file for obvious reasons + failing test for this.
2017-02-20Rewrite custom_target template string substitutionNirbheek Chauhan4-43/+334
Factor it out into a function in mesonlib.py. This will allow us to reuse it for generators and for configure_file(). The latter doesn't implement this at all right now. Also includes unit tests.
2017-02-20configure_file: Don't allow both command and configuration kwargsNirbheek Chauhan1-1/+5
2017-02-20gnome: Print an error message when generated files are passed to ↵Nirbheek Chauhan1-1/+8
compile_resources
2017-02-20Add auto option to b_colored when using Clang. Remove Clang version check ↵Rodrigo Lourenço1-4/+3
when enabling colored output.
2017-02-20rpm: Fix missing parenthesis and quotation markNirbheek Chauhan1-1/+1
Pointed out by Mike Sinkovsky
2017-02-20Update minimum Clang version for colored outputRodrigo Lourenço1-1/+1
2017-02-19Merge pull request #1406 from mesonbuild/fixdetectionJussi Pakkanen1-39/+43
Fix compiler detection + cross when envvar not set.
2017-02-19Run regen before loading test data because it might have changed.Jussi Pakkanen1-25/+23
2017-02-19Fix the rest of them.Jussi Pakkanen1-18/+20
2017-02-19Fix compiler detection + cross when envvar not set.Jussi Pakkanen1-21/+23
2017-02-19Vim syntax: new function add_test_setup()Nirbheek Chauhan1-2/+1
Also remove is_subproject; it's not a global function