Daniel Mensinger
31eb41ec2f
cmake: traceparser better handle lists
2020-02-19 11:52:22 +01:00
Daniel Mensinger
4ec6918cd5
cmake: Fix dependency loops in custom targets ( fixes #6632 )
2020-02-19 11:52:22 +01:00
Daniel Mensinger
83960ea050
cmake: Fix crash when no C++ compiler is not installed ( fixes #6559 )
2020-02-15 00:54:05 +05:30
Daniel Mensinger
796b4c120a
cmake: Add support for the new JSON trace format
2020-02-12 20:58:37 +01:00
Daniel Mensinger
48cb1a7004
cmake: Fix spaces in compile flags ( fixes #6566 )
2020-02-04 11:37:55 +01:00
Daniel Mensinger
1f7e73fd5c
cmake: Sanitize CMake names ( fixes #6554 )
2020-02-04 00:39:04 +02:00
Daniel Mensinger
acc6dbfab7
cmake: Add support for --trace-redirect
2020-01-26 18:23:41 +01:00
Daniel Mensinger
3607f50d7f
cmake: Refactor CMakeExecutor and CMakeTraceParser
...
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-26 18:23:34 +01:00
Daniel Mensinger
bc27ebacc9
cmake: Always Add C, CXX if no language is specified ( fixes #6441 )
2020-01-23 20:57:17 +01:00
Daniel Mensinger
09b53c534f
types: import typing as T ( fixes #6333 )
2020-01-08 15:28:17 +01:00
Daniel Mensinger
4f6453bc32
cmake: Use trace for missing link flags ( fixes #6386 )
...
This is neccessary for static libraries, since the
CMake file API does not add link flags here.
2019-12-29 19:02:24 +02:00
Daniel Mensinger
77e0008a1f
cmake: Fix obeject libraries
...
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-22 22:38:20 +02:00
Michael Hirsch, Ph.D
5da1a6e586
cmake: subprocess external .decode(errors='ignore') to avoid traceback
...
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-10 19:57:51 +02:00
Michael Hirsch, Ph.D
419a7a8f51
cmake: add fortran cache content
2019-12-09 11:15:58 -05:00
Daniel Mensinger
0c875e16c4
lgtm: fix Non-iterable used in for loop
...
Not sure why LGTM is complaining about this, but moving this
from a static to a local context should fix this.
2019-12-05 00:22:10 +02:00
Daniel Mensinger
36749a1625
cmake: Make output_target_map more robust ( fixes #6208 )
...
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-30 22:00:18 +02:00
Daniel Mensinger
82df046bc1
cmake: Reassign dependencies from header-only targets
2019-11-28 11:11:15 +01:00
Daniel Mensinger
3cdc386cde
cmake: Detect dependenciy cycles and avoid infinite recursion
2019-11-28 11:10:27 +01:00
Daniel Mensinger
b2b9c102b5
cmake: Some minor fixup
2019-11-28 11:07:20 +01:00
Xavier Claessens
f73a1dff0e
cmake: Propagate error when running command
2019-11-27 21:12:55 +01:00
Xavier Claessens
daeee32d9b
cmake: Add support for add_custom_target() with a command
...
The command could have no output, in which case we create a dummy one.
2019-11-27 21:12:55 +01:00
Xavier Claessens
6844ad374e
cmake: Add support for add_dependencies()
...
Closes : #5983
2019-11-27 21:12:50 +01:00
Daniel Mensinger
f2114fa167
cmake: add_custom_command fix empty and quoted parameters
2019-11-20 20:58:38 +01:00
Daniel Mensinger
7e839fc4a9
cmake: Fix confilcting custom targets
2019-11-20 19:44:47 +01:00
Daniel Mensinger
560c4f7f96
cmake: Uniform target name handling
2019-11-20 17:44:48 +01:00
Daniel Mensinger
9435f11b17
ci: Add CI command to include text files in the CI log
2019-11-19 15:21:13 +01:00
Daniel Mensinger
3e1435a968
cmake: Handle CMake system include dirs ( closes #6079 )
2019-11-19 13:08:17 +01:00
Daniel Mensinger
e1fd830070
cmake: Log warnings in CMakeLists.txt
...
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.
2019-11-12 20:40:51 +02:00
Wolfgang Stöggl
f037e7ef45
Fix typos found by codespell
...
- Typos were found by codespell v1.16.0
2019-11-06 09:55:30 -05:00
Jussi Pakkanen
aece7ecded
Merge pull request #6074 from mensinda/cmFileAPI
...
cmake: Add CMake file API support
2019-10-20 17:45:02 +03:00
Daniel Mensinger
30a668d0bb
cmake: Blacklist more compiler warning flags
2019-10-20 14:12:52 +03:00
Daniel Mensinger
66e1e1747e
cmake: Do not add imported targets
2019-10-20 12:04:15 +02:00
Daniel Mensinger
902ed589a5
cmake: Add CMake file API support
...
The file API will automatically be used when CMake >= 3.14
is detected. This new API is meant as a replacement for the
now deprecated CMake server API.
The new API (mostly) provides the same information in a
different format. Thus only a slight bit of refactoring was
necessary to implement this new backend
2019-10-20 12:04:15 +02:00
Daniel Mensinger
4ec82040c8
cmake: Comment out unused variables
2019-10-20 12:04:15 +02:00
Daniel Mensinger
b2c89e6f87
cmake: Move CMake API classes to common
2019-10-20 12:04:15 +02:00
Daniel Mensinger
27c01dff01
cmake: Blacklist MS debug flags ( fixes #6021 )
2019-10-10 16:25:35 -07:00
Daniel Mensinger
4185a00057
Revert "cmake: postprocess libraries names with so version"
...
This reverts commit 73f0061498
.
2019-10-03 18:17:09 +02:00
Daniel Mensinger
8103af1d76
cmake: fix detection of libraries with .so version
2019-10-03 17:56:47 +02:00
Xavier Claessens
7d9e58f125
cmake: Add support for normal libraries
...
Without this, set_target_properties() on those libraries won't be
catched, for example when setting the SOVERSION.
2019-10-01 13:30:15 -04:00
Xavier Claessens
90a12ed3f0
cmake: Fix 'properies' typo
2019-10-01 13:30:15 -04:00
Xavier Claessens
a4b0d216b5
cmake: COMMAND could have ';' separated arguments
2019-10-01 13:30:15 -04:00
Xavier Claessens
73f0061498
cmake: postprocess libraries names with so version
2019-10-01 13:30:15 -04:00
Xavier Claessens
7a83668b6b
cmake: Generate declare_dependency() only for libraries
2019-10-01 13:30:15 -04:00
Daniel Mensinger
534e94ffc3
cmake: Support ALIAS libraries
2019-09-26 20:33:50 +03:00
Michael Hirsch, Ph.D
11e34ca7fc
correct logic for too old cmake
2019-08-23 00:39:12 +03:00
Norbert Nemec
1cb6177f03
avoid cmake syntax error due to "\" path separators on windows
2019-08-17 13:20:40 +03:00
Daniel Mensinger
bee74eea16
cmake: Parse a subset of generator expressions
2019-07-31 17:50:02 +02:00
Daniel Mensinger
30c301a48c
cmake: handle interface libraries
2019-07-25 17:41:14 +02:00
Daniel Mensinger
50bbeaf859
cmake: trace: add support for some target_* functions
2019-07-25 17:41:14 +02:00
Daniel Mensinger
1a4fae28ad
cmake: trace: support interface libraries
2019-07-25 17:41:14 +02:00