summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'third-parties-layout'Brad King2020-05-081-1/+1
|\ | | | | | | | | | | | | | | 2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix 75e87e3db4 bootstrap: update list of problematic files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4705
| * Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-1/+1
| | | | | | | | Fixes: #20666
* | Merge topic 'script-mode-and-arbitrary-args'Craig Scott2020-05-071-1/+7
|\ \ | |/ |/| | | | | | | | | e4f1b301fe cmake: Allow arbitrary args passed to CMake script Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4707
| * cmake: Allow arbitrary args passed to CMake scriptAlex Turbov2020-05-061-1/+7
| |
* | Merge topic 'gcc8-unused-function'Brad King2020-05-041-0/+2
|\ \ | |/ |/| | | | | | | | | 1b4ab323fd Fix build warnings for unused functions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4697
| * Fix build warnings for unused functionsWouter Klouwen2020-05-011-0/+2
| | | | | | | | | | | | | | | | | | | | This commit addresses two sources of build errors when using the warning flag -Werror=unused-function for GCC in the default compiler flags. The affected functions are not used when building in bootstrap mode and therefore should be ifdefed out. No functional changes.
* | Merge topic 'cmprop-state'Brad King2020-05-011-13/+10
|\ \ | | | | | | | | | | | | | | | | | | e267c3fddf cmState::GetInitializedCacheValue: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4696
| * | cmState::GetInitializedCacheValue: return cmPropVitaly Stakhovsky2020-04-301-13/+10
| |/ | | | | | | cmProp alias is used; no actual change in type
* | Refactoring: rename "cm_static_string_view.hxx" as <cmext/string_view>Marc Chevrier2020-04-301-1/+1
|/
* Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-171-2/+1
|
* clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-17/+8
| | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* Merge topic 'cmprop-getglobalprop'Brad King2020-03-271-6/+6
|\ | | | | | | | | | | | | c84cf42897 cmState::GetGlobalProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4521
| * cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-251-6/+6
| |
* | Merge topic 'cmprop-state'Brad King2020-03-271-2/+2
|\ \ | | | | | | | | | | | | | | | | | | a7f2ff16a4 cmState::GetCacheEntryProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4522
| * | cmState::GetCacheEntryProperty: return cmPropVitaly Stakhovsky2020-03-251-2/+2
| |/
* | use _s to construct static string_views at several placesRolf Eike Beer2020-03-241-13/+14
| | | | | | | | This should avoid the runtime strlen() call.
* | use cm::string_view for language extension lookupsRolf Eike Beer2020-03-231-2/+3
| | | | | | | | | | | | | | Once the list of extensions is build the set is just a copy of the vector and not modified anymore. Use a string_view for the members of the set, which saves a small amount of memory. It also makes possible to use string_views as lookup keys, so the callers do not need to create copies for the extensions anymore.
* | replace "std::string::find(x) == 0" with cmHasPrefix()Rolf Eike Beer2020-03-231-39/+39
|/
* Merge topic 'cmprop-state'Brad King2020-03-191-28/+27
|\ | | | | | | | | | | | | bd89133543 cmState::GetCacheEntryValue: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4493
| * cmState::GetCacheEntryValue: return cmPropVitaly Stakhovsky2020-03-171-28/+27
| |
* | Merge topic 'trace-format-json-doc'Brad King2020-03-191-1/+2
|\ \ | |/ |/| | | | | | | | | | | 1994f950ff cmake: List valid values for --trace-format on the command line e39766d84a Help: Fix documentation of --trace-format parameter Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4500
| * cmake: List valid values for --trace-format on the command lineKyle Edwards2020-03-181-1/+2
| |
* | cmake: add command line options to output script profiling dataWouter Klouwen2020-03-071-0/+57
|/ | | | | | | | | | | | | | | For users of CMake who want to optimize their scripts if they take a while to run, this commit adds the ability to output profiling data. To enable this output, it adds the two command line parameters to select the output path and format. This commit adds the first profiling format of type ``google-trace``, which is the output is a JSON file containing Duration events as per the Google Trace Format specification: https://docs.google.com/document/d/1CvAClvFfyA5R- PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#
* Refactor: Allow generators to decide default configuration for buildKyle Edwards2020-02-041-0/+4
| | | | And allow them to read any cache values they need.
* Source: use std::string in place of const char*Vitaly Stakhovsky2020-01-291-1/+1
|
* Merge topic 'ninja-1.10'Brad King2020-01-281-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | 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/+1
|/
* GlobalGenerator family: modernize memory managementMarc Chevrier2020-01-071-78/+67
|
* cmGlobalGenerator: modernize memrory managemenbtMarc Chevrier2019-12-301-16/+17
|
* Merge topic 'traceJSON'Kyle Edwards2019-12-271-0/+73
|\ | | | | | | | | | | | | | | e113ab1168 trace: Add test for the JSON-v1 trace 482497e0de trace: Add JSON output format Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4102
| * trace: Add JSON output formatDaniel Mensinger2019-12-231-0/+73
| | | | | | | | | | | | | | | | Add a new `--trace-format=` flag, to enable the new JSON trace output format. This new format is easier to parse by machines than the existing format. This new format also removes the ambiguity of the whitespace in the "old" format (e.g. is that whitespace part of a file path, or does it seperate arguments)
* | Merge topic 'add_find_call_debugging'Kyle Edwards2019-12-201-0/+3
|\ \ | |/ |/| | | | | | | | | | | | | f3c9396260 Help: Document CMAKE_FIND_DEBUG_MODE 204b8d9f4e find_*: Use debug logging infrastructure a7ea20649d find_*: Add debug logging infrastructure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3935
| * find_*: Add debug logging infrastructureRobert Maynard2019-12-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Enable debug messages a new `--find-debug` command-line option or via the `CMAKE_FIND_DEBUG_MODE` variable. This work was started by Chris Wilson, continued by Ray Donnelly, and then refactored by Robert Maynard to collect information into a single message per find query. Co-Author: Ray Donnelly <mingw.android@gmail.com> Co-Author: Chris Wilson <chris+github@qwirx.com>
* | Merge topic 'add-header-cmext-algorithm'Brad King2019-12-181-1/+3
|\ \ | |/ |/| | | | | | | | | | | f7d12609f0 Refactoring: use append functions from cmext/algorithm a38d04c076 Refactoring: introduce header cmext/algorithm with append functions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4131
| * Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-1/+3
| |
* | 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-0/+1
|/ | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-2/+2
|
* ccmake: redirect stdout/stderr to the displayed logsSylvain Joubert2019-11-161-4/+3
| | | | | | | | | | | | | | | | | Use cmSystemTools to report some messages. These should now be caught and displayed properly, both in ccmake and cmake-gui Avoid log display flickering during processing - Don't clear the screen each time the long message form is rendered. It always renders the whole screen again so clearing it only causes flickering. - Add scroll down capabilities to the long message form so that it can draw itself directly in the correct state. This removes the need to programatically scroll down just after that also caused flickering. Fixes #19882 Fixes #13288
* Merge topic 'vs-vctargetspath'Brad King2019-10-181-0/+8
|\ | | | | | | | | | | | | | | | | | | e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets 45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects 548e9051a4 VS: Add support to override VCTargetsPath through toolset 99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3817
| * cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSETAlexander Boczar2019-10-151-0/+8
| | | | | | | | | | Extend the `cmGlobalGenerator::SetGeneratorToolset` signature to indicate when it is called from `cmake::build`.
* | Merge topic 'graphviz'Brad King2019-10-171-4/+3
|\ \ | |/ |/| | | | | | | | | | | 553658393c Graphviz: added test suite, fixes, enhancements Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: slodki <slodki_dom@poczta.onet.pl> Merge-request: !3766
| * Graphviz: added test suite, fixes, enhancementsCorentin Plouet2019-10-081-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added a fairly comprehensive test suite * Separated the graph traversal logic from the Graphviz generation code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx} * Made the graph traversal logic less ad-hoc by using existing methods in the GlobalGenerator; this fixed a few bugs * Added support for new target types: custom targets, object and unknown libraries * Improved support for ALIAS libraries by showing the alias(es) in the graph * Introduced new flags to control those new libraries (consistent with existing flags) * Updated the documentation * Removed useless setting to set graph type in dot file * Improved the node/edge shapes (nicer, more consistent) * Added a legend to the graph * Some refactoring and cleanup of the Graphviz generation code * Added test and fix for issue 19746
* | Merge topic 'cmake-initial-cache-relative'Brad King2019-10-151-0/+2
|\ \ | | | | | | | | | | | | | | | | | | c9d73b26b0 cmake: Fix relative path regression in -C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3912
| * | cmake: Fix relative path regression in -CPeter Waller2019-10-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR` is the source directory rather than the current working directory. This was correct on its own, but the place storing that value is also used as the base for relative paths specified on the command line. The latter should of course be relative to the current working directory. The fix is to switch to use a full path internally, unless a full path is already specified. Add tests for the behaviour of `-C` under these four circumstances: {with -S, without -S} x {full path, relative path} Fixes: #19827
* | | message: Support logging a context with each messageAlex Turbov2019-10-121-0/+2
| | |
* | | message: Add new CMAKE_MESSAGE_LOG_LEVEL variableAlex Turbov2019-10-121-0/+2
|/ /
* | CLI: Rename --loglevel to --log-level for naming consistencyCraig Scott2019-10-101-0/+11
|/ | | | | | | Other multi-word command line options use hyphens to separate the words, so the --loglevel option introduced in CMake 3.15 was inconsistent in this regard. Rename it to --log-level but still support the original --loglevel name to preserve backward compatibility.