Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-01-23 | split mesonlib into a package | Dylan Baker | 1 | -1/+1 | |
Currently mesonlib does some import tricks to figure out whether it needs to use windows or posix specific functions. This is a little hacky, but works fine. However, the way the typing stubs are implemented for the msvcrt and fnctl modules will cause mypy to fail on the other platform, since the functions are not implemented. To aleviate this (and for slightly cleaner design), I've split mesonlib into a pacakge with three modules. A universal module contains all of the platform agnositc code, a win32 module contains window specific code, a posix module contains the posix specific code, and a platform module contains no-op implementations. Then the package's __init__ file imports all of the universal functions and all of the functions from the approriate platform module, or the no-op versions as fallbacks. This makes mypy happy, and avoids `if`ing all over the code to switch between the platform specific code. | |||||
2021-01-13 | Fix misspells | Antonin Décimo | 1 | -1/+1 | |
Signed-off-by: Antonin Décimo <antonin.decimo@gmail.com> | |||||
2021-01-04 | Merge pull request #8080 from dcbaker/submit/option-key-type | Jussi Pakkanen | 1 | -5/+5 | |
Use an object for option keys | |||||
2021-01-04 | Use a single coredata dictionary for options | Dylan Baker | 1 | -2/+2 | |
This patches takes the options work to it's logical conclusion: A single flat dictionary of OptionKey: UserOptions. This allows us to simplify a large number of cases, as we don't need to check if an option is in this dict or that one (or any of 5 or 6, actually). | |||||
2021-01-04 | use OptionKey for builtin and base options | Dylan Baker | 1 | -1/+1 | |
I would have prefered to do these seperatately, but they are combined in some cases, so it was much easier to convert them together. this eliminates the builtins_per_machine dict, as it's duplicated with the OptionKey's machine parameter. | |||||
2021-01-04 | move OptionKey to mesonlib | Dylan Baker | 1 | -2/+1 | |
There's starting to be a lot of things including coredata that coredata needs to itself include. putting it in mesonlib makes more sense | |||||
2021-01-04 | use OptionKey for compiler_options | Dylan Baker | 1 | -3/+4 | |
2021-01-04 | cmake: fix missing languages from CMake (fixes #8132) | Daniel Mensinger | 1 | -8/+29 | |
2020-12-29 | cmake: fix -framework dependencies (fixes #8045) | Daniel Mensinger | 1 | -0/+14 | |
2020-12-16 | cmake: Revert to using self.for_machine instead of MachineChoice.BUILD ↵ | Daniel Mensinger | 1 | -0/+1 | |
(fixes #8028) | |||||
2020-11-20 | use real pathlib module | Dylan Baker | 1 | -1/+1 | |
We added the _pathlib module to work around defeciencies in python 3.5's implementation, since we now rely on 3.6 lets drop this | |||||
2020-10-24 | cmake: Always create missing includes in build dir | Daniel Mensinger | 1 | -4/+1 | |
There really isn't any reason to not always create missing include directories inside the build dir. Just restricting this to generate generated sources should work in an ideal world, however, there exists lots of suboptimal CMake code where this assumption is not always true. | |||||
2020-10-16 | cmake: ignore CMAKE_TOOLCHAIN_FILE and CMAKE_PROJECT_INCLUDE to avoid ↵ | Daniel Mensinger | 1 | -1/+4 | |
conflicts with the meson CMake logic | |||||
2020-10-13 | cmake: Add cross compilation support | Daniel Mensinger | 1 | -57/+43 | |
2020-10-04 | pathlib: Fix resolve() by overriding it in Python 3.5 | Daniel Mensinger | 1 | -1/+1 | |
2020-10-04 | cmake: switch to pathlib (fixes #7322) | Daniel Mensinger | 1 | -128/+124 | |
2020-09-28 | typing: fully annotate cmake.interpreter | Daniel Mensinger | 1 | -171/+198 | |
2020-09-27 | typing: fully annotate cmake.common | Daniel Mensinger | 1 | -2/+2 | |
2020-09-10 | cmake: fix shared_module dependency (fixes #7715) | Daniel Mensinger | 1 | -0/+4 | |
2020-08-30 | CMake module: fix cmake 3.10 compatibility in path generation | Sebastian Würl | 1 | -4/+4 | |
2020-08-30 | CMake module: fix python 3.6 compatibility in path generation | Sebastian Würl | 1 | -2/+2 | |
2020-08-30 | CMake module: Allow paths of generated CMake sources for include directories | Sebastian Würl | 1 | -3/+11 | |
2020-08-09 | cmake: Detect custom command targets in compiler args | Daniel Mensinger | 1 | -1/+8 | |
This is required to make `-include /path/to/custom/target.hpp` work. This setup is used by wxWidgets and this PR is required to use wxWidgets as a CMake subproject. | |||||
2020-08-03 | cmake: resolve IMPORTED executables in custom commands (fixes #7509) | Daniel Mensinger | 1 | -3/+14 | |
2020-07-16 | mdata: remove setuptools and use mesondata instead | Daniel Mensinger | 1 | -3/+2 | |
2020-07-01 | Merge pull request #7231 from mensinda/cmOverride | Jussi Pakkanen | 1 | -8/+13 | |
cmake: Add more advanced subproject configuration options | |||||
2020-06-30 | Move mesonbuild/cmake/data/run_ctgt.py to ↵ | georgev93 | 1 | -5/+3 | |
mesonbuild/scripts/cmake_run_ctgt.py, as well as enclose everything in a run() function so it can be called by `meson --internal cmake_run_ctgt ...`. Also, include mesonbuild/cmake/data/ in the msi package. | |||||
2020-06-13 | cmake: fix definitions with interface libraries (fixes #7299) | Daniel Mensinger | 1 | -7/+6 | |
2020-06-05 | cmake: Add more advanced subproject configuration options | Daniel Mensinger | 1 | -8/+13 | |
This is done with the new cmake subprojects options object that is similar to the already exisiting configuration data object. It is consumed by the new `options` kwarg of the cmake.subproject function. | |||||
2020-06-02 | cmake: always split property lists (fixes #7228) | Daniel Mensinger | 1 | -1/+1 | |
2020-05-24 | fix cmake target configuration selection. | Alexander Neumann | 1 | -3/+10 | |
2020-05-15 | cmake: Print supported stds when warning | Nirbheek Chauhan | 1 | -2/+4 | |
This was helpful while debugging CI failure on the 0.54 branch due to a difference in the structure of self.env.coredata.compiler_options: https://github.com/mesonbuild/meson/runs/674391139 https://travis-ci.org/github/mesonbuild/meson/jobs/686982807 | |||||
2020-05-14 | cmake: Fix string substitution index error | Nirbheek Chauhan | 1 | -2/+2 | |
``` File "mesonbuild/cmake/interpreter.py", line 293, in postprocess 'Unknown {}_std "{}" -> Ingoring. Try setting the project' IndexError: Replacement index 2 out of range for positional args tuple ``` | |||||
2020-05-12 | cmake: Ignore unknown c(pp)? stds (fixes #7104) | Daniel Mensinger | 1 | -1/+16 | |
2020-04-21 | Use pkg_resource to find resources files (data) | Dylan Baker | 1 | -2/+4 | |
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-17 | cmake: Do not compile explicit header files | Daniel Mensinger | 1 | -0/+2 | |
2020-04-12 | cmake: Preserve include directory order (fixes #6959) | Daniel Mensinger | 1 | -11/+11 | |
2020-03-29 | cmake: Only expand executable targets in COMMAND (fixes #6857) | Daniel Mensinger | 1 | -2/+10 | |
2020-03-08 | cmake: Fix build_by_default: false, install: true (fixes #6737) | Daniel Mensinger | 1 | -1/+1 | |
2020-03-02 | review: Initial fixup | Daniel Mensinger | 1 | -1/+1 | |
2020-03-02 | types: Annotate mparser.py | Daniel Mensinger | 1 | -2/+2 | |
This also fixes that the keys in ArgumentNode.kwargs are all of the type BaseNode now. Before this commit, it was possible that both strings and Nodes where used as keys. | |||||
2020-02-23 | Merge pull request #6635 from mensinda/cmOTMFix | Jussi Pakkanen | 1 | -21/+43 | |
cmake: Fix dependency loops in custom targets (fixes #6632) | |||||
2020-02-20 | cmake: Fix relative paths for add_custom_{command,target} | Daniel Mensinger | 1 | -18/+27 | |
Do this by tracking CMAKE_CURRENT_{SOURCE,BINARY}_DIR variables. This is achieved by injecting CMake code with CMAKE_PROJECT_INCLUDE and overriding some builtin functions with a wrapper that adds additional trace information. | |||||
2020-02-19 | cmake: Ignore files that violate subproject isolation (fixes #6640) | Daniel Mensinger | 1 | -1/+13 | |
2020-02-19 | cmake: Fix dependency loops in custom targets (fixes #6632) | Daniel Mensinger | 1 | -5/+18 | |
2020-02-04 | cmake: Sanitize CMake names (fixes #6554) | Daniel Mensinger | 1 | -12/+10 | |
2020-01-26 | cmake: Add support for --trace-redirect | Daniel Mensinger | 1 | -1/+1 | |
2020-01-26 | cmake: Refactor CMakeExecutor and CMakeTraceParser | Daniel Mensinger | 1 | -42/+9 | |
This moves most of the execution code from the CMakeInterpreter into CMakeExecutor. Also, CMakeTraceParser is now responsible for determining the trace cmd arguments. | |||||
2020-01-23 | cmake: Always Add C, CXX if no language is specified (fixes #6441) | Daniel Mensinger | 1 | -0/+2 | |
2020-01-08 | types: import typing as T (fixes #6333) | Daniel Mensinger | 1 | -31/+31 | |