Commit Graph

142 Commits

Author SHA1 Message Date
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 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 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 90a12ed3f0 cmake: Fix 'properies' typo 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 30c301a48c
cmake: handle interface libraries 2019-07-25 17:41:14 +02:00
Daniel Mensinger 5806490219
cmake: Added support for custom_target generation 2019-06-28 13:22:37 +02:00
Daniel Mensinger 3fb0e917aa
cmake: Parse trace when configuring CMake 2019-06-28 13:22:37 +02:00
Daniel Mensinger 6083cfa6c8
cmake: Moved finding and running CMake out of dependency 2019-06-12 13:58:19 +02:00
John Ericson 07777e15d4 Purge `is_cross` and friends without changing user interfaces
In most cases instead pass `for_machine`, the name of the relevant
machines (what compilers target, what targets run on, etc). This allows
us to use the cross code path in the native case, deduplicating the
code.

As one can see, environment got bigger as more information is kept
structured there, while ninjabackend got a smaller. Overall a few amount
of lines were added, but the hope is what's added is a lot simpler than
what's removed.
2019-06-09 13:13:25 -04:00
Daniel Mensinger 69005d6b1d cmake: Minor fixes to handle some CMake specific behavior
Now, all source files are ignored that are not part of the
language of the target. This is also what CMake does.
Additionally it is now supported to build source files that
are generated inside the build directory.
2019-06-09 01:18:53 +03:00
Daniel Mensinger e02c101575
cmake: moved subprojects into the CMake module 2019-06-06 18:27:05 +02:00
Daniel Mensinger af6448ced5
cmake: Make flake8 happy 2019-06-06 18:27:05 +02:00
Daniel Mensinger 35936316eb
cmake: rebase fixes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 9b22147dcb
cmake: set the linker for clang-cl for CMake 2019-06-06 18:27:04 +02:00
Daniel Mensinger 29a26c9dbd
cmake: blacklist some `cl` compiler and linker flags 2019-06-06 18:27:04 +02:00
Daniel Mensinger 1f3a57598e
cmake: general windows and old CMake fixes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 5c603a900b
cmake: Some minor style changes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 3d7c50d109
cmake: Added option for additional CMake args 2019-06-06 18:27:03 +02:00
Daniel Mensinger d114d8446e
cmake: Minor fixes 2019-06-06 18:27:03 +02:00
Daniel Mensinger 1041c71eb0
cmake: support object libraries 2019-06-06 18:27:03 +02:00
Daniel Mensinger 316f4f4948
cmake: Always add the CMake build dir to the include dirs 2019-06-06 18:27:02 +02:00
Daniel Mensinger 2b44b4be9f
cmake: Fixed install prefix 2019-06-06 18:27:02 +02:00
Daniel Mensinger be6a9191e1
cmake: First working version 2019-06-06 18:27:02 +02:00
Daniel Mensinger e55236bde4
cmake: basic AST generation 2019-06-06 18:27:02 +02:00
Daniel Mensinger 5089eb356b
cmake: extract the codemodel 2019-06-06 18:27:01 +02:00
Daniel Mensinger 2039cb708b
cmake: get CMake inputs 2019-06-06 18:27:01 +02:00
Daniel Mensinger ef18afc48b
cmake: configure works 2019-06-06 18:27:01 +02:00
Daniel Mensinger 8d3bd6eea8
cmake: Server handshake 2019-06-06 18:27:01 +02:00