summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpression.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmGeneratorExpression: Change Find() parameter type to cm::string_viewCraig Scott2024-09-171-5/+6
|
* export: Fix handling of import prefixMatthew Woehlke2024-07-261-6/+8
| | | | | | | | | | Fix some additional places in export generation logic that were still hard-coding the import prefix. Change cmGeneratorExpression::Preprocess to take the desired prefix as an argument. (This replaces taking a boolean whether to resolve relative paths; if a non-empty prefix is given, that is used to resolve relative paths, otherwise relative paths are left alone.) This should ensure that import properties always spell the prefix according to the format being generated.
* cmGeneratorExpressionDAGChecker: Make config name available in constructorBrad King2024-05-211-1/+1
|
* cmGeneratorExpressionDAGChecker: Make local generator available in constructorBrad King2024-04-291-1/+1
| | | | | This is the local generator in the evaluation context, not that of the current target/property pair.
* cmGeneratorExpression: Inline evaluation helper at only call siteBrad King2024-04-121-7/+0
|
* CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-0/+1
|
* CMake: fix sizeof string literal violationsKyle Edwards2022-11-181-1/+1
|
* Genex: Add $<BUILD_LOCAL_INTERFACE:...> genexKyle Edwards2022-11-171-1/+10
| | | | Fixes: #23209
* cmGeneratorExpression: Refactor stripExportInterface() to use enum classKyle Edwards2022-11-171-16/+27
|
* Profiling: Profile genex evaluationKyle Edwards2022-11-111-1/+12
|
* cmGeneratorExpression: Require cmake instanceKyle Edwards2022-11-111-5/+10
|
* clang-tidy: address `modernize-use-default-member-init` lintsBen Boeckel2022-05-241-5/+0
|
* cmGeneratorExpressionInterpreter::Evaluate: remove const char* overloadVitaly Stakhovsky2020-07-111-6/+0
|
* cmGeneratorExpression: remove const char* overloadsVitaly Stakhovsky2020-03-081-17/+0
|
* Genex: Add $<LINK_LANGUAGE:...> and $<LINK_LANG_AND_ID:...>Marc Chevrier2020-02-261-0/+3
| | | | | | This MR may help to solve issues #19757 and #18008 Fixes: #19965
* cmGeneratorExpressionEvaluator: Modernize memory managementMarc Chevrier2019-12-051-7/+3
|
* Refactor: Generalize cmExportInstallFileGenerator::ReplaceInstallPrefix()Kyle Edwards2019-11-011-0/+14
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+3
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-0/+25
| | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* cmGeneratorExpression: Remove Evaluate overload by parameter re-orderingDaniel Eiband2019-09-221-12/+2
| | | | | | | | Simplify by re-ordering parameters of cmCompiledGeneratorExpression::Evaluate so that frequently used parameters are before less frequently used parameters. This allows with little extra arguments to get rid of one Evaluate overload, which makes it easier to implement the cmGeneratorExpression::Evaluate utility. The latter would otherwise need four overloads.
* cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpressionDaniel Eiband2019-09-221-14/+22
| | | | | | The quiet flag is false for all but one call to Evaluate. Make the quiet flag a setter of cmCompiledGeneratorExpression to be able to remove it from the Evaluate function signature.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-3/+1
| | | | | | 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.
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-3/+2
| | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-2/+3
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* clang-tidy: Use `= default`Regina Pfeifer2019-01-251-3/+1
| | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* clang-tidy: Pass by valueRegina Pfeifer2019-01-221-6/+5
|
* Source: Modernize for loops, add const modifiersVitaly Stakhovsky2018-12-311-9/+4
|
* Refactoring: introduce function to check if a string is a generator expressionMarc Chevrier2018-09-251-3/+3
|
* Fix transitive usage requirements through same-name imported targetsBrad King2018-09-101-2/+1
| | | | | | | | | | If two imported targets in different directories have the same name we should still be able to propagate transitive usage requirements from both. Fix the DAG checker to work with target pointers instead of target names since the pointers will not be duplicated even if the names are. Fixes: #18345
* genex: Simplify cmGeneratorExpressionInterpreterBrad King2018-09-071-6/+9
| | | | | | | | | All callers were constructing with a non-empty target name using the target whose pointer was passed anyway. Drop this argument. Simplify logic accordingly. Re-order constructor arguments to match the cmCompiledGeneratorExpression::Evaluate arguments. Also remove unnecessary getters.
* Genex: Return Evaluate results as const std::string&Vitaly Stakhovsky2018-08-281-3/+3
| | | | Also remove unused overloads.
* EvaluateExpression() returns std::stringVitaly Stakhovsky2018-08-161-2/+2
|
* cmCompiledGeneratorExpression::Evaluate(): return const std::string&Vitaly Stakhovsky2018-08-091-6/+5
|
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-1/+1
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Genex: Per-source $<COMPILE_LANGUAGE:...> supportMarc Chevrier2017-12-131-0/+16
| | | | Fixes: #17542
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-4/+4
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Meta: replace empty-string assignments with `clear()`.Pavel Solodovnikov2017-09-151-3/+3
|
* Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-5/+4
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-1/+1
|
* Access string npos without instancePavel Solodovnikov2017-06-011-3/+3
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* clang-tidy: apply modernize-use-bool-literals fixesDaniel Pfeifer2016-12-121-1/+2
|
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-3/+4
|
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-3/+5
|
* CMake: don't use else after returnDaniel Pfeifer2016-08-181-1/+2
|
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-3/+3
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* Improve string find: prefer character overloads.Daniel Pfeifer2016-05-241-2/+2
| | | | | Apply fix-its from clang-tidy's performance-faster-string-find checker. Ignore findings in kwsys.