summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ninja-1.10'Brad King2020-01-281-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | ccaa0bccc4 Ninja: Do not clean metadata when re-generating inside a running build 657820a00b Ninja: Track when running to re-generate during a build b12b013028 Ninja: Factor metadata cleanup into dedicated method 5d92e60d81 Ninja: Skip cleandead and recompact if build.ninja is missing dd0a4718fd Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10 0944caaebb Tests: Fix RunCMake.CMP0037 test with Ninja 1.10 9d4883cce5 Tests: Fix RunCMake.Ninja test for Ninja 1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4290
| * Ninja: Track when running to re-generate during a buildBrad King2020-01-271-0/+1
| | | | | | | | | | Tell CMake explicitly when it is re-running inside a `ninja` invocation to re-generate the build system.
* | AppendProperty: convert value param to std::stringVitaly Stakhovsky2020-01-251-1/+3
|/
* Merge topic 'realpath-cache'Brad King2020-01-201-0/+11
|\ | | | | | | | | | | | | 9d5a554cc9 cmGlobalGenerator: Add cache for realpath() results Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4220
| * cmGlobalGenerator: Add cache for realpath() resultsTim Blechmann2020-01-161-0/+11
| | | | | | | | | | Cache the results of `realpath()` system calls in `cmGlobalGenerator` to avoid repeating such calls for the same paths over and over.
* | Merge topic 'cmake-ctest-arguments'Brad King2020-01-171-0/+7
|\ \ | | | | | | | | | | | | | | | | | | 4153d8445b Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctest Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4168
| * | Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctestRobert Goulet2020-01-151-0/+7
| | | | | | | | | | | | Fixes: #20172
* | | cmMakefile: modernize memory managementMarc Chevrier2020-01-141-4/+4
|/ /
* | GlobalGenerator family: modernize memory managementMarc Chevrier2020-01-071-2/+2
| |
* | cmGlobalGenerator: modernize memrory managemenbtMarc Chevrier2019-12-301-34/+37
|/
* Merge topic 'stdstring-target'Brad King2019-12-171-1/+1
|\ | | | | | | | | | | | | c34b4497f8 cmTarget: add std::string overloads Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4137
| * cmTarget: add std::string overloadsVitaly Stakhovsky2019-12-141-1/+1
| |
* | Ninja: Add multi-config variantKyle Edwards2019-12-131-1/+3
|/ | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-35/+33
|
* Merge branch 'backport-unity-object-libraries' into unity-object-librariesBrad King2019-12-081-1/+12
|\
| * Unity: Proper handling of object librariesCristian Adam2019-12-071-0/+9
| | | | | | | | Fixes: #20051
| * Unity/PCH: Skip more target types when adding automatic sourcesCristian Adam2019-12-071-1/+3
| | | | | | | | | | Besides INTERFACE_LIBRARY, skip also UTILITY and GLOBAL_TARGET target types
* | cmCustomCommand: Explicitly pass backtrace on constructionDaniel Eiband2019-11-241-2/+2
| |
* | cmMakefile: Delay CheckTargetProperties and FinalPass to generate timeDaniel Eiband2019-11-241-18/+17
| |
* | FileAPI: Add "multiConfig" parameter to index fileKyle Edwards2019-11-201-0/+1
| |
* | cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-17/+19
| |
* | cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSETAlexander Boczar2019-10-151-2/+2
|/ | | | | Extend the `cmGlobalGenerator::SetGeneratorToolset` signature to indicate when it is called from `cmake::build`.
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-0/+1
|
* file(GENERATE): Create output file structures even earlierBrad King2019-10-071-8/+1
| | | | | | | | | | | | | | Since commit b80557c7bd (file(GENERATE): Evaluate early to allow generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the `cmSourceFile` instances marked with a `GENERATED` source file property before tracing source dependencies. Move it to even earlier so that steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all sources. This also avoids the accidental `O(n^2)` calls for `n` local generators that we had previously. This is also needed since commit 83c1657ff7 (Unity build: Generate sources during Compute step, 2019-10-03) to support `file(GENERATE)` outputs as sources in a target with `UNITY_BUILD` enabled.
* Unity build: Generate sources during Compute stepBrad King2019-10-031-0/+18
| | | | | | | | The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
* Merge topic 'clang-format-normalize-headers-presentation'Brad King2019-10-021-4/+6
|\ | | | | | | | | | | | | | | | | | | ed98209ddc Revise include order using clang-format-6.0 185fe49f29 clang-format: Normalize headers presentation 42ef28b4f3 Remove unused uid_t/gid_t types on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3851
| * Revise include order using clang-format-6.0Kitware Robot2019-10-011-4/+6
| | | | | | | | | | 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.
* | PCH: Report error when setting COMPILE_PDB_NAME propertyCristian Adam2019-10-011-0/+40
|/ | | | | Reusable precompile headers require specific COMPILE_PDB_NAME property values. Report error if the user tries to set a different value.
* Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-3/+11
|\ | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-3/+11
| |\
| | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-301-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
* | | cmCustomCommand: Move custom commandsDaniel Eiband2019-09-261-1/+1
| | |
* | | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-3/+3
| | |
* | | Merge topic 'add-non-empty-configurations-getter'Brad King2019-09-031-11/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 10507c6dc0 cmMakefile: Add configurations getter with empty configuration default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3759
| * | | cmMakefile: Add configurations getter with empty configuration defaultDaniel Eiband2019-08-301-11/+4
| | | |
* | | | cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-1/+1
|/ / / | | | | | | | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* | | Merge topic 'cmGlobalGenerator-compilerId-lifetime'Brad King2019-08-271-7/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | 17ce0c29ad cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3741
| * | cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetimeBrad King2019-08-261-7/+4
| | | | | | | | | | | | | | | | | | Save the value of the compiler id variable in storage we own so that mutating it based on a policy does not invalidate the local value for later comparisons. This was identified by Clang AddressSanitizer.
* | | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* | | Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-101/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* | | Merge topic 'cm-contains'Brad King2019-08-211-8/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2dfc52675c cmAlgorithms: Add cmContains Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !3700
| * | | cmAlgorithms: Add cmContainsRegina Pfeifer2019-08-191-8/+5
| | | | | | | | | | | | | | | | Also, use the new function where applicable.
* | | | Merge topic 'string-literal-append'Brad King2019-08-191-7/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | da26b3be89 avoid adding multiple consecutive string literals to std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3698
| * | | | avoid adding multiple consecutive string literals to std::stringRolf Eike Beer2019-08-181-7/+4
| |/ / / | | | | | | | | | | | | While at it change some single character additions to be of type char.
* | | | Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-14/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* | | Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-10/+8
| | |
* | | Merge topic 'cmRemoveQuotes'Kyle Edwards2019-08-131-8/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 27090096ef cmStringAlgorithms: Add cmRemoveQuotes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3665
| * | | cmStringAlgorithms: Add cmRemoveQuotesSebastian Holtermann2019-08-091-8/+0
| | | | | | | | | | | | | | | | | | | | - Add `cmRemoveQuotes` function to cmStringAlgorithms - Remove unused removeQuotes inline functions
* | | | Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-6/+6
|/ / /
* | | Merge topic 'swift-with-interface-libs'Brad King2019-07-301-8/+9
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 601fe84bd1 Swift: Restore support for enabling with INTERFACE libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Wanderley GuimarĂ£es da Silva <wanderley.guimaraes@gmail.com> Acked-by: Guillaume Egles <gegles@gmail.com> Merge-request: !3624