aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-30CI: pin pylintJon Turney1-1/+2
Pin pylint version to workaround https://github.com/PyCQA/pylint/issues/3524
2020-04-29Fix symlink deletion with --wipe optionLaurent Pinchart1-1/+1
When wiping a build tree with --wipe, every entry in the build directory is removed with mesonlib.windows_proof_rmtree() for directories and mesonlib.windows_proof_rm() for other files. Symlinks to directories are considered directories, resulting in the former being called. This causes an exception to be raised, as the implementation calls shutil.rmtree(), which isn't allowed on symlinks. Fix this by using mesonlib.windows_proof_rm() for symlinks. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2020-04-29Merge pull request #6911 from mensinda/ciBionicJussi Pakkanen13-21/+145
ci: Add Ubuntu Bionic image
2020-04-28Meson Cmake Wrapper unmaintained [skip ci]Brendan Simon1-1/+1
The Meson CMake Wrapper project is currently unmaintained.
2020-04-28Clarified error message for test(). (#7040)Benjamin Frye1-1/+1
Changes the error message for test() so it now reports the expected and actual number of parameters. Fixes: #7029
2020-04-28gnome: Fix usage of gobject-introspection as subprojectXavier Claessens2-59/+42
2020-04-28Adding a conditional case in _guess_files to confirm that the complete path ↵georgev931-1/+16
is put together in even if a portion of the path is a location that exists. For instance if C:/Program Files (x86)/folder is passed to _guess_files, it would resolve to ['C:/Program Files', '(x86)/folder'] since C:/Program Files is an actual file location that can exist.
2020-04-28ci: Upgrade to checkout@v2Daniel Mensinger1-2/+2
2020-04-28ci: Fix OpenSUSE immage boost_pythonDaniel Mensinger1-1/+1
2020-04-28tests: Skip hotdoc test if hotdoc is not installedDaniel Mensinger2-1/+16
2020-04-28ci: Added bionic imageDaniel Mensinger5-1/+72
2020-04-28tests: Add support for specifying tool requirementsDaniel Mensinger4-4/+31
Adds the `tools` section to `tests.json` to specify requirements for the tools in the environment. All tests that fail at least one tool requirements check are skipped.
2020-04-28tests: Avoid a CMake error by checking the CMake versionDaniel Mensinger2-7/+18
2020-04-28docs: Fix Contributing.mdDaniel Mensinger1-5/+5
2020-04-28dependency: log cached or skipped dependencies with reference to modulesEli Schwartz1-5/+8
* dependency: log cached or skipped dependencies with reference to modules If the dependency is a special dependency which takes modules, the modules get cached separately and probably reference different pkg-config files. It's very plausible that we have multiple dependencies, using different modules. For example: Run-time dependency qt5 (modules: Core) found: YES 5.14.2 (pkg-config) Dependency qt5 skipped: feature gui disabled Obviously this makes no sense, because of course we found qt5 and even used it. The second line is a lot more readable if it shows this: Dependency qt5 (modules: Widgets) skipped: feature gui disabled Similar confusion abounds in the case where a module is found in the cache -- which module, exactly, has been found here: Dependency qt5 found: YES 5.14.2 (cached) Rewrite the dependency function to *consistently* pass around (and use!) the display_name even in cases where we know it isn't anonymous (this is just more correct anyway), and make it serve a dual purpose by also appending the list of modules just like we do for pretty-printing that a dependency has just been found for the first time. * fixup! dependency: log cached or skipped dependencies with reference to modules pointlessly cast modules to str, as they cannot be anything else. But we want to fail later on, with something more friendly than a stacktrace. boost/wx have special exceptions for people passing an integer there.
2020-04-28find_program: Fixes when the program has been overridden by executableXavier Claessens6-23/+79
- ExternalProgramHolder has path() method while CustomTargetHolder and BuildTargetHolder have full_path(). - The returned ExternalProgramHolder's path() method was broken, because build.Executable object has no get_path() method, it needs the backend. - find_program('overridden_prog', version : '>=1.0') was broken because it needs to execute the exe that is not yet built. Now assume the program has the (sub)project version. - If the version check fails, interpreter uses ExternalProgramHolder.get_name() for the error message but build.Executable does not implement get_name() method.
2020-04-28Merge pull request #7018 from dcbaker/junitJussi Pakkanen8-33/+275
mtest: Generate JUnit results for tests
2020-04-24backend/vs: Fix build when not all languages have pchPeter Harris1-10/+4
It is not unheard-of for a project to use pch for C++ but not for C (because C usually builds fast enough anyway, so it's not worth the developer overhead of maintaining the pch file). This code was trying to optimize the vcxproj file size by detecting "only one language", but it was only looking at the number of pch-languages defined. This is incorrect when pch is not defined for all languages in use. Instead of tweaking the optimization further, remove it. This makes the vs backend behave more like the ninja backend.
2020-04-24Adjust regex to handle cases such as C:/Program Files/foldergeorgev931-1/+1
2020-04-23ci: Try to fix opensuse imageDylan Baker1-1/+1
2020-04-23mtest: Generate a JUnit xml result fileDylan Baker4-0/+238
JUnit is pretty ubiquitous, lots of services and results viewers understand it, in particular gitlab and jenkins know how to consume JUnit xml. This means projects using CI services can have their test results consumed automatically. Fixes: #6972
2020-04-23mtest: Store individual results for TAP testsDylan Baker1-21/+23
This will be used by the Junit writer
2020-04-23compilers: fix type issueAndrew Udvare1-1/+1
mesonlib.darwin_get_object_archs() only accepts a string argument so convert it.
2020-04-23update MANIFEST.inMichael1-4/+2
2020-04-22mtest: Use textrwap.dedent for large blockDylan Baker1-8/+9
This allows editors like vim to properly fold the code, and makes it generally easier to read.
2020-04-22ci: install python3-lxmlDylan Baker4-3/+4
This will be used by the junit validation tests.
2020-04-22Issue: 7009: CMake/Centos7 Unable to find CMake even though it is installedAlexandre Lavigne1-1/+1
On some systems the binary 'cmake' for version 3 is named 'cmake3', therefor printing its version number prints: 'cmake3 version X.Y.Z' instead of 'cmake version X.Y.Z' This '3' digit in the middle breaks the regular expression extracting the version number. The following fix permit both way to work and the regexp to match the proper version number. Signed-off-by: Alexandre Lavigne <alexandre.lavigne@scality.com>
2020-04-21Use pkg_resource to find resources files (data)Dylan Baker2-4/+8
Doing this by hand is fraught with corner cases, and we're running into some of those problems already. setuptools pkg_resource is a well tested solution for not running into corner cases, and we already rely on setuptools to make our entry point scripts work, so we might as well make us of the other things it can solve for us. Fixes #6801
2020-04-21setup.cfg: Mark setuptools as requiredDylan Baker1-0/+2
It's required, lets just document it as such.
2020-04-21Merge pull request #6816 from dcbaker/framework-matrixJussi Pakkanen14-46/+214
project test junit schema + a few more uses
2020-04-21gtkdochelper.py: Ignore UnicodeEncodeError when printing outputChun-wei Fan1-1/+8
Windows cmd.exe consoles may be using a code page that might choke print() when we are outputting the output from calling gtk-doc. Let's just ignore the error when it happens and print as much as we could in this situation.
2020-04-21gtkdochelper.py: Support Windows cmd.exe consolesChun-wei Fan1-0/+1
On Windows, prepend the commands to call the gtk-doc scripts using the currently-used Python executable, since Windows cmd.exe consoles do not support shebang lines.
2020-04-21switch python2 %s for python3 .formatMichael6-18/+18
2020-04-21docs/cross-compilation: Note appropriate values for cpu_family [skip ci]Dylan Baker1-8/+12
Also note that meson doesn't use `el` on the end of the cpu_family to mark endianness, that the endian field needs to be set appropriately.
2020-04-20Compiler options per langJohn Ericson16-230/+397
A current rather untyped storage of options is one of the things that contributes to the options code being so complex. This takes a small step in synching down by storing the compiler options in dicts per language. Future work might be replacing the langauge strings with an enum, and defaultdict with a custom struct, just like `PerMachine` and `MachineChoice`.
2020-04-20fix ninja version inconsistentMichael2-3/+3
2020-04-20compilers: Silence warning about gnu_inline with clangNirbheek Chauhan4-6/+18
The warning is due to a change in behaviour in Clang 10 and newer: https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html#c-language-changes-in-clang This was already fixed for clang++, but not for clang for some reason. It was also fixed incorrectly; by adding `extern` instead of moving from `-Werror` to `-Werror=attributes`.
2020-04-20add introspect --buildsystem-files info [skip ci]Michael1-0/+15
2020-04-17interpreter: Correctly ignore def files in build directoryXavier Claessens4-7/+51
See https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/85.
2020-04-17tests: Convert sdl2 to use a matrix optionDylan Baker3-17/+22
2020-04-17tests: use a json matrix for MPIDylan Baker1-0/+15
This is a nice way to ensure that all of the methods continue to work
2020-04-17Add a json schema for the test.json used in testsDylan Baker4-2/+143
This does a couple of nice things, one is that editors like vscode can be configured to use this schema to provide auto completion and error highlighting if invalid values are added or required values are missing. It also allows us test that the format of the test matrix work in a unit test, which I've added. It does require that the python jsonschema package is installed.
2020-04-17ci: Add python-jsonschemaDylan Baker5-5/+7
Which is used to validate the json schema files in the various test directories in a unit test.
2020-04-17run_project_tests: Allow matrix tests to skipDylan Baker1-1/+5
Since they generate some tests that are only valid on specific operating systems.
2020-04-17run_project_tests: Add an option to put temprorary files in /tmpDylan Baker1-21/+22
I have an NVME drive, I really don't want to be thrashing it with temporary files. It's also annoying to watch vscode thrash about with files that are quickly created and deleted. I'd rather put them in /tmp, so I've added a non-default option to do so.
2020-04-17cmake: Do not compile explicit header filesDaniel Mensinger13-15/+200
2020-04-17compilers: Honor <lang>_ld when linking C-like outputsOle André Vadla Ravnås1-0/+4
2020-04-17Merge pull request #6980 from fooishbar/cmake-windows-system-lib-depsJussi Pakkanen1-2/+16
Fix CMake Windows system library deps
2020-04-17tests/common/203: Use a test matrixDylan Baker3-24/+41
This allows us to test the one at a time, and the many at a time functions without the second test getting cached. We really don't want to get cached.
2020-04-17compilers: Update gnu_inline test to work correctly with Clang >= 10Dylan Baker1-0/+3
Which has changed the way it handles gnu_inline in C++.