summaryrefslogtreecommitdiffstats
path: root/Source/cmRulePlaceholderExpander.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Ninja: add placeholders to support Swift buildSaleem Abdulrasool2019-05-161-0/+25
| | | | Add the placeholders needed to support compiling Swift code.
* Swift: remove unnecessary unreleased Ninja infrastructureSaleem Abdulrasool2019-05-161-40/+0
| | | | | | This cleans up the new options that were added to support Swift. This was not released, and the proper support approach that we settled upon does not require as much specialised support.
* Ninja: add final placeholders to merge Swift partialsSaleem Abdulrasool2019-02-201-0/+15
| | | | | | This adds the placeholders that are needed to merge the swift partial modules. It permits generating the rules necessary to actually merge the partial modules emitted for a partial compilation.
* Ninja: add properties for Swift partial module and docSaleem Abdulrasool2019-02-181-0/+10
| | | | | | | | | | | When building a swift object, we emit a partial swiftmodule and swiftdoc that must be merged at the end. However, in order to do that, we need to enumerate the swiftmodules and swiftdocs. As a result, the path must be known to CMake. Rather than hardcoding the rules into CMake, create a source property that we can query. This will allow us to create a final placeholder to emit the merge rule. Issue: #18800
* Add placeholder for Swift's library nameSaleem Abdulrasool2019-02-131-0/+5
| | | | | | | This allows us to set the proper link name for the Swift library (soname). Because this needs to be passed to the object being compiled, we need to create a new placeholder so that it can be sent along to the frontend. Default to the target name unless it is explicitly provided.
* clang-tidy: Pass by valueRegina Pfeifer2019-01-221-7/+7
|
* Ninja: support `SWIFT_MODULE_NAME` propertySaleem Abdulrasool2019-01-181-0/+5
| | | | | | | | Add a new `SWIFT_MODULE_NAME` property that defaults to the target name. This is needed as otherwise, the first source file determines the module name. Issue: #18800
* Ninja: add new placeholder `SWIFT_AUXILIARY_SOURCES`Saleem Abdulrasool2019-01-151-0/+5
| | | | | | | | | The swift compilation model requires all sources for the module to be listed for the compiler to type check across them. Provide a placeholder to allow enumerating the remainder of the swift sources in a target for the language compile rule. Issue: #18800
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-2/+2
|
* Access string npos without instancePavel Solodovnikov2017-06-011-5/+5
|
* Add options for separate compile and link sysrootsBrad King2017-05-091-3/+13
| | | | | | | | | Add `CMAKE_SYSROOT_COMPILE` and `CMAKE_SYSROOT_LINK` variables to as operation-specific alternatives to `CMAKE_SYSROOT`. This will be useful for Android NDKs that compile and link with different sysroot values (e.g. `r14` with unified headers). Co-Author: Florent Castelli <florent.castelli@gmail.com>
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-0/+4
|
* cmRulePlaceholderExpander: Fix CMAKE_<LANG>_COMPILER_ARG1 replacementZack Galbreath2016-11-011-1/+1
| | | | | | | Refactoring in commit b29425f7 (cmLocalGenerator: Populate a container of mappings for replacements, 2016-10-09) broke substitution of this placeholder by storing the wrong key in the new replacement map. Use the proper key, `CMAKE_<LANG>_COMPILER_ARG1`.
* cmRulePlaceholderExpander: Extract from cmLocalGeneratorStephen Kelly2016-10-151-0/+304
Implement cmLocalGenerator::ExpandRuleVariables in terms of the new class for source compatibility and to reduce diff noise in this commit.