aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cmake
AgeCommit message (Collapse)AuthorFilesLines
2020-06-12dependencies: Don't allow using the default binary for host on cross compilesDylan Baker1-1/+1
Otherwise we can end up finding dependencies from the build machine for the host machine, which is incorrect. This alters cmake, pkg-config, and all config-tool based dependencies. Fixes: #7276
2020-06-12cmake: Use shared find_external_program instead of open codingDylan Baker1-22/+5
2020-06-12cmake: Subprojects support CMAKE_PREFIX_PATH (fixes #7249)Daniel Mensinger1-0/+22
2020-06-09cmake_traceparser: ignore parse errorMichael Hirsch1-1/+1
2020-06-05cmake: Add more advanced subproject configuration optionsDaniel Mensinger3-9/+112
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-02cmake: always split property lists (fixes #7228)Daniel Mensinger2-3/+4
2020-05-24fix cmake target configuration selection.Alexander Neumann1-3/+10
2020-05-15cmake: Print supported stds when warningNirbheek Chauhan1-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-14cmake: Fix string substitution index errorNirbheek Chauhan1-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-12cmake: Ignore unknown c(pp)? stds (fixes #7104)Daniel Mensinger1-1/+16
2020-05-08More robust cmake version detectionReza Housseini1-1/+1
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-24Adjust regex to handle cases such as C:/Program Files/foldergeorgev931-1/+1
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 Baker1-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-17cmake: Do not compile explicit header filesDaniel Mensinger3-15/+82
2020-04-12Merge pull request #6963 from mensinda/cmFixCCmdJussi Pakkanen2-5/+36
cmake: some fixes for add_custom_command
2020-04-12cmake: Preserve include directory order (fixes #6959)Daniel Mensinger1-11/+11
2020-04-12cmake: Capture stdout with UNIX pipesDaniel Mensinger1-1/+25
2020-04-12cmake: Fix custom command CMake list issueDaniel Mensinger1-4/+11
2020-03-29cmake: Only expand executable targets in COMMAND (fixes #6857)Daniel Mensinger1-2/+10
2020-03-23Fix legacy env var support with crossJohn Ericson1-1/+1
Fix #3969
2020-03-08cmake: Fix build_by_default: false, install: true (fixes #6737)Daniel Mensinger1-1/+1
2020-03-02review: Initial fixupDaniel Mensinger1-1/+1
2020-03-02types: Annotate mparser.pyDaniel Mensinger1-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-23Merge pull request #6635 from mensinda/cmOTMFixJussi Pakkanen3-43/+140
cmake: Fix dependency loops in custom targets (fixes #6632)
2020-02-20cmake: Fix relative paths for add_custom_{command,target}Daniel Mensinger3-37/+120
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-19cmake: Ignore files that violate subproject isolation (fixes #6640)Daniel Mensinger1-1/+13
2020-02-19cmake: traceparser better handle listsDaniel Mensinger1-3/+4
2020-02-19cmake: Fix dependency loops in custom targets (fixes #6632)Daniel Mensinger1-5/+18
2020-02-15cmake: Fix crash when no C++ compiler is not installed (fixes #6559)Daniel Mensinger1-46/+50
2020-02-12cmake: Add support for the new JSON trace formatDaniel Mensinger1-15/+38
2020-02-04cmake: Fix spaces in compile flags (fixes #6566)Daniel Mensinger1-5/+13
2020-02-04cmake: Sanitize CMake names (fixes #6554)Daniel Mensinger1-12/+10
2020-01-26cmake: Add support for --trace-redirectDaniel Mensinger2-1/+14
2020-01-26cmake: Refactor CMakeExecutor and CMakeTraceParserDaniel Mensinger3-59/+118
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-23cmake: Always Add C, CXX if no language is specified (fixes #6441)Daniel Mensinger2-1/+4
2020-01-08types: import typing as T (fixes #6333)Daniel Mensinger6-70/+70
2019-12-29cmake: Use trace for missing link flags (fixes #6386)Daniel Mensinger2-3/+74
This is neccessary for static libraries, since the CMake file API does not add link flags here.
2019-12-22cmake: Fix obeject librariesDaniel Mensinger1-8/+56
This fixes an issue with generated sources and object libraries, as well as an issue on windows with the `link` linker and the vs backend. The last issue is resolved by building the source files multiple times to avoid extracting object files in meson.
2019-12-10cmake: subprocess external .decode(errors='ignore') to avoid tracebackMichael Hirsch, Ph.D1-9/+14
mesonlib.Popen_safe() doesn't work with the case where undecodeable binary data comes back from CMake or compiler, so we use subprocess.run()
2019-12-09cmake: add fortran cache contentMichael Hirsch, Ph.D1-15/+37
2019-12-05lgtm: fix Non-iterable used in for loopDaniel Mensinger1-3/+2
Not sure why LGTM is complaining about this, but moving this from a static to a local context should fix this.
2019-11-30cmake: Make output_target_map more robust (fixes #6208)Daniel Mensinger2-64/+95
This PR refactors the old output_target_map, which was a raw dict, into it's own class. This makes the access to the map more uniform and robust (at the cost of more lines of code). Additionally relative paths to the build directory are now also tracked for outputs. This is neccessary to corretcly distingluish files with the same name, that are in different directories.
2019-11-28cmake: Reassign dependencies from header-only targetsDaniel Mensinger1-0/+45
2019-11-28cmake: Detect dependenciy cycles and avoid infinite recursionDaniel Mensinger1-0/+9
2019-11-28cmake: Some minor fixupDaniel Mensinger2-13/+27
2019-11-27cmake: Propagate error when running commandXavier Claessens1-1/+4
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