aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2019-11-27cmake: Add support for add_custom_target() with a commandXavier Claessens3-13/+32
The command could have no output, in which case we create a dummy one.
2019-11-27cmake: Add support for add_dependencies()Xavier Claessens2-7/+43
Closes: #5983
2019-11-27modules/qt.py: friendlier "lrelease-qtN not found" error messageMarc Herbert1-0/+3
When lrelease-qtN is missing, upgrade the error message from the cryptic: meson.build:75:4: ERROR: Tried to use not-found external program in "command" to the meaningful: meson.build:75:4: ERROR: qt.compile_translations: lrelease-qt5 not found Issue found and tested with "test cases/frameworks/4 qt/"
2019-11-26Fix crash when checking multi version on subproject depXavier Claessens2-8/+9
Also harminize a bit the logged message.
2019-11-25Fix link_whole with a custom targetXavier Claessens1-1/+4
t.pic won't be defined. We can only hope it has been built with -fPIC. Linker will complain otherwise any way. t.extract_all_objects_recurse() won't be defined. We could support this case by extracting the archive somewhere and pick object files.
2019-11-25Simplify list of build def filesXavier Claessens1-23/+27
Refactor the code inside a common function for consistency. It's not needed to add dependencies in func_configure_file() because it's already done in run_command_impl(). Do it only for files from `input:` in the case some of them does not end up in the command arguments.
2019-11-25fs: Add parent() and name() methodsXavier Claessens1-0/+17
2019-11-25Merge pull request #6213 from mensinda/cmNameFixJussi Pakkanen2-48/+98
cmake: Uniform target name handling and custom target fixes
2019-11-25dependencies/ui.py: Fix Vulkan detection on WindowsChun-wei Fan1-2/+2
We might be using the 32-bit bits of the VulkanSDK on Windows on x64 Windows, so we still need to pass in the compiler items to detect what architecture we are building for, so that we link to the correct Vulkan libraries. We might want to look into this again if Microsoft will allow ARM/ARM64 versions of the Vulkan drivers and SDK, since post-basic OpenGL and any Vulkan are not supported on Windows-on-ARM.
2019-11-25complete gfortran/intel/intel-cl fortran_std testMichael Hirsch, Ph.D1-1/+53
2019-11-25dep: MPI make work for intel-cl and improve robustnessMichael Hirsch, Ph.D5-206/+278
optimize intelMPI variables mpi: extract version from non-OpenMPI wrapper
2019-11-25openbsd: execinfo is not a compiler libAntoine Jacoutot1-2/+4
2019-11-21Add table entry for CUDA Toolkit 10.2.89.Olexa Bilaniuk1-0/+1
2019-11-21Fix compute_int() when the value is -1Xavier Claessens1-1/+1
2019-11-20cmake: add_custom_command fix empty and quoted parametersDaniel Mensinger2-0/+3
2019-11-20cmake: Fix confilcting custom targetsDaniel Mensinger1-8/+28
2019-11-20cmake: Uniform target name handlingDaniel Mensinger1-40/+67
2019-11-20Merge pull request #6199 from mensinda/cmSysIncJussi Pakkanen6-8/+30
cmake: Handle CMake system include dirs (closes #6079)
2019-11-19Have set() and set_quoted() of configuration object work with newlines.Jehan2-0/+3
* Have set() and set_quoted() of configuration object work with newlines. set_quoted() makes the value into a double-quoted string, so let's assume C-style string, in particular with newlines as "\n". Also take care of remaining newlines in dump_conf_header(). C or nasm macros expect single-line values so if the value was multi-line, we would end up with broken syntax. Appending a backslash at each end of line make them concat into a single line in both C and nasm format (note: multi-line macros in nasm are actually possible apparently but use another format not outputted by current meson code). Also note that the replacement is done at the end only when dumping the conf as a header because we cannot assume anything about the format when replacing variables from an input file (in this case, it should be the dev responsibility). * Add unit tests for multiline set() and set_quoted().
2019-11-19Interpreter: display linker executable path, if availableEric Le Bihan1-1/+1
Instead of only displaying the identifier of the linker, display also the path to the executable in order to report useful information when cross-compiling.
2019-11-19Fix cross-compilation of D programsEric Le Bihan2-77/+86
Since version 9.1, GCC provides support for the D programming language. Thus it is easy to build a cross-compiler for D, such as aarch64-unknown-linux-gnu-gdc. However to cross-compile a Meson project using D, using a cross build definition such as the following is not enough: ``` [binaries] d = '/path/to/aarch64-unknown-linux-gnu-gdc' exe_wrapper = '/path/to/qemu-aarch64-static' [properties] needs_exe_wrapper = true [host_machine] system = 'linux' cpu_family = 'aarch64' cpu = 'cortex-a53' endian = 'little' ``` Indeed, "exe_wrapper" is not be taken into account. Build will fail with: ``` Executables created by D compiler /path/to/aarch64-uknown-linux-gnu-gdc are not runnable. ``` This patch fixes this by reworking: - detect_d_compiler() to properly get exe_wrapper and D compilers and detect the one available. - Dcompiler to properly handle exe_wrapper.
2019-11-19ci: Add CI command to include text files in the CI logDaniel Mensinger4-0/+14
2019-11-19cmake: Handle CMake system include dirs (closes #6079)Daniel Mensinger3-8/+16
2019-11-19Enable code coverage using LLVM on macOS CatalinaKurtis Rader1-0/+4
Fixes #6188
2019-11-18fortran: sync implicit-none args for intel,pgi,gfortranMichael Hirsch, Ph.D1-2/+8
also, find intel-cl submodule .smod name pattern. this would fix intermittent failures of ninja to resolve submodule file dependencies.
2019-11-18Merge pull request #6194 from scivision/coarraysJussi Pakkanen3-45/+73
dep: Fortran Coarrays-enhance finding by use Pkg-config & CMake
2019-11-18fortran: note there is no has_function for FortranMichael Hirsch, Ph.D1-1/+7
It would be very challenging if not futile to make has_function work for Fortran. The meson.get_compiler('fortran').links() works very well instead. As a reference, CMake's check_fortran_function_exists is completely broken in general. This change raises a useful MesonException instead of giving bizarre errors.
2019-11-18Use strict function prototypesMichael Hirsch, Ph.D6-26/+26
2019-11-17deps: add pkg-config to coarray with CMake fallbackMichael Hirsch, Ph.D3-45/+73
make coarray in its own file for clarity
2019-11-17Merge pull request #6182 from mensinda/depInfoJussi Pakkanen4-24/+42
Better dependency logs
2019-11-17Merge pull request #6150 from scivision/fsexpandJussi Pakkanen1-18/+82
fs module; make more robust, dedupe code, add method, add type anno & check
2019-11-17commandrunner: Forward KeyboardInterrupt to commandAlberto García Hierro1-1/+6
Some commands, notably gdb, use ctrl+c themselves to perform actions without exiting. Instead of making meson exit and thus, kill the subprocess, ignore the KeyboardInterrupt and continue waiting for the child.
2019-11-17fs: make replace_suffix not expand file to absolute path, just manipulate ↵Michael Hirsch, Ph.D1-1/+1
the string
2019-11-17fs: replace_suffixMichael Hirsch, Ph.D1-1/+1
2019-11-17fs: get file sizeMichael Hirsch, Ph.D1-2/+38
fs: add samefile
2019-11-17fs: add hash compute methodMichael Hirsch, Ph.D1-0/+18
2019-11-17add fs.with_suffixMichael Hirsch, Ph.D1-1/+11
2019-11-17fs: improve exception feedbackMichael Hirsch, Ph.D1-1/+1
2019-11-17fs: use expanduserMichael Hirsch, Ph.D1-1/+1
2019-11-17fs: deduplicate functionsMichael Hirsch, Ph.D1-8/+5
2019-11-17fs: use pathlib.Path, add type hint checkMichael Hirsch, Ph.D1-14/+17
2019-11-17Issue #6174: run_command() with compiler object behind ccache fails.Jehan1-2/+4
When run_command() first parameter is a compiler object, keep additional exelist values as arguments.
2019-11-16environment: Only check compiler basename for compiler nameJan Tojnar1-4/+6
Nix uses absolute paths to compilers in Nix store with Meson. Those store paths contain a hash, which can contain short strings like icl, resulting in incorrectly matching the compiler. https://github.com/NixOS/nixpkgs/issues/73417#issuecomment-554077964
2019-11-14mintro: dependencies: added version keyDaniel Mensinger1-0/+1
2019-11-14Highlight '(cached)' and add color to the dependency versionDaniel Mensinger2-20/+19
2019-11-14dependencies: Print version of cached dependenciesDaniel Mensinger1-4/+7
2019-11-14mlog: add non bold version of colorsDaniel Mensinger1-0/+15
2019-11-13coredata: CmdLineFileParser no longer interpolates strings.Paulo Neves1-1/+1
Previously if a user tried to pass a command line build option that contained a '%' character the command line parser assumed that there was string interpolation to be done. As there is no sense in such a scenario no code provides any input for the interpolation. This then leads to a failure. In this commit we specifically override the defaults in ConfigParser and set interpolation to None, which disables command line build option interpolation. Fixes #6157
2019-11-13Revert "Add `-Wl,-rpath-link` for secondary dependencies"Jussi Pakkanen1-48/+5
This reverts commit 7b9c348102792030859ed0001a51416506a0a092. Closes #6027.
2019-11-12cmake: Log warnings in CMakeLists.txtDaniel Mensinger1-4/+39
Previously, warnings genereated in CMake were not logged because CMake sends them to stderr alongside the trace information. With this PR, only real trace lines are send to the trace parser and all other lines in stderr are logged as warnings.