aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-30Docs: Update link_language docs to explain when it should be usedDylan Baker2-2/+14
2020-04-30interpreter: Add link_language to all build targetsDylan Baker4-2/+15
If the feature hadn't been broken in the first place it would have worked on them anyway, so we might as well expose it. I'm loathe to do it because one of the best features of meson in a mixed C/C++ code base is that meson figures out the right linker every time, but there are cases people have where they want to force a linker. We'll let them keep the pieces.
2020-04-30build: Fix link_language selectionDylan Baker1-4/+6
Currently it does nothing, as the field is read too late, and additional languages have already been considered. As such if the language requested is closer to C (for example you want C but have a C++ source with only extern C functions) then link_langauge is ignored. Fixes #6453
2020-04-30unittests: Add test to show that link_language is brokenDylan Baker1-0/+15
2020-04-30tests: Add common test for link_languageDylan Baker4-0/+32
It's cool we have a fortran test, but we should have a C/C++ test, especially for C++ extern "C".
2020-04-30build: add missing type annotationDylan Baker1-1/+1
2020-04-30docs: Update documentation for add_*_scriptDylan Baker2-0/+31
2020-04-30allow postconf and dist scripts to use Files, ExternalPrograms, andDylan Baker3-7/+15
ConfigureFiles These things are all known to be ready when these scripts are run, and thus they can safely consume them.
2020-04-30interpreter: Allow install_script to use additional input typesDylan Baker10-18/+174
This adds support for Files, CustomTarget, Indexs of CustomTargets, ConfigureFiles, ExternalPrograms, and Executables. Fixes: #1234 Fixes: #3552 Fixes: #6175
2020-04-30CI: pin pylintJon Turney1-1/+2
Pin pylint version to workaround https://github.com/PyCQA/pylint/issues/3524
2020-04-30gnome: Print proper error when 'nsversion' or 'namespace' are missingXavier Claessens1-2/+6
2020-04-30ExternalProgram: Do special windows tricks even when name is providedXavier Claessens1-0/+4
Closes: #7051
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-25wrap: Updated docsDaniel Mensinger2-6/+18
2020-04-25wrap: Add test case for local source / patch filesDaniel Mensinger12-8/+30
2020-04-25wrap: Add support for local files via only `*_filename`Daniel Mensinger2-12/+28
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