summaryrefslogtreecommitdiffstats
path: root/Source/cmRulePlaceholderExpander.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'compile-commands-collapse-whitespace'Brad King2020-03-261-0/+10
|\ | | | | | | | | | | | | | | | | e565053bce Ninja: Remove unnecessary newlines in compile commands 5d4bab500e Avoid consecutive whitespace in rules d8622fbd0f Modules: Collapse consecutive whitespace in strings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4512
| * Avoid consecutive whitespace in rulesDaan De Meyer2020-03-231-0/+10
| |
* | Remove redundant calls to CollapseFullPathBrad King2020-03-241-2/+1
|/ | | | | Remove calls where it is known the input is already a collapsed full path.
* AIX: Add an option to disable automatic exports from shared librariesBrad King2020-01-311-0/+5
| | | | | | | | | | Since commit 0f150b69d3 (AIX: Explicitly compute shared object exports for both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we always export all symbols from shared libraries by default. Add a new target property called `AIX_EXPORT_ALL_SYMBOLS` that can be explicitly set to OFF to suppress this behavior and export no symbols by default. Fixes: #20290
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-4/+2
| | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* 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.