summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Reduce the scope of temporary cmProp variables and other improvementsVitaly Stakhovsky2020-11-051-3/+4
|
* cmake::GetCacheDefinition: Return cmPropvvs314152020-09-281-2/+2
|
* Refactor: Use cmToCStr()Vitaly Stakhovsky2020-09-031-2/+1
|
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-2/+2
|
* Factor out generator checks for filtering out interface librariesBrad King2020-07-231-3/+3
| | | | | | Add a `cmGeneratorTarget::IsInBuildSystem` helper method to tell generators whether a target should participate in the generated build system.
* cmIsOn: add overload accepting const std::string*Vitaly Stakhovsky2020-07-141-2/+1
|
* GetFeature(): return cmPropVitaly Stakhovsky2020-07-111-3/+2
|
* cmMakefile: Refactor API to better handle empty config valuesRobert Maynard2020-07-031-2/+3
|
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-12/+13
|
* cmMakefile::GetProperty: return cmPropVitaly Stakhovsky2020-04-011-2/+2
|
* replace "std::string::find(x) == 0" with cmHasPrefix()Rolf Eike Beer2020-03-231-3/+3
|
* cmMakefile::AddCacheDefinition: Add overload that accepts std::string valueVitaly Stakhovsky2020-03-111-1/+1
|
* cmGeneratorExpression: remove const char* overloadsVitaly Stakhovsky2020-03-081-1/+2
|
* Source: use std::string in place of const char*Vitaly Stakhovsky2020-01-291-7/+7
|
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-6/+7
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-7/+10
| | | | | 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.
* Merge topic 'fix-vsmacro-access-violation'Brad King2019-09-261-4/+13
|\ | | | | | | | | | | | | 7847fef510 VS: Fix access violation when calling Visual Studio macro Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3853
| * VS: Fix access violation when calling Visual Studio macroDaniel Eiband2019-09-241-4/+13
| | | | | | | | Fixes: #19730
* | cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-4/+2
|/ | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+2
| | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-0/+1
|
* Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-2/+2
| | | | | | | | | | | | 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-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`
* Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-3/+2
| | | | | | | | | 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-2/+1
|
* Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-1/+1
|
* cmStringAlgorithms: cmIsSpace, cmTrimWhitespace, cmEscapeQuotes, cmTokenizeSebastian Holtermann2019-08-051-2/+2
| | | | | | | | | | This adds the following functions to `cmStringAlgorithms`: - `cmIsSpace` - `cmTrimWhitespace` (moved from `cmSystemTools::TrimWhitespace`) - `cmEscapeQuotes` (moved from `cmSystemTools::EscapeQuotes`) - `cmTokenize` (moved from `cmSystemTools::tokenize` and adapted to accept `cm::string_view`)
* Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}WithSebastian Holtermann2019-08-011-4/+5
|
* cmMakefile: Let AddDefinition accept a value as cm::string_viewSebastian Holtermann2019-07-241-3/+2
| | | | | | | | | | | | | | | | This changes `cmMakefile::AddDefinition` to take a `cm::string_view` as value argument instead of a `const char *`. Benefits are: - `std::string` can be passed to `cmMakefile::AddDefinition` directly without the `c_str()` plus string length recomputation fallback. - Lengths of literals passed to `cmMakefile::AddDefinition` can be computed at compile time. In various sources uses of `cmMakefile::AddDefinition` are adapted to avoid `std::string::c_str` calls and the `std::string` is passed directly. Uses of `cmMakefile::AddDefinition`, where a `nullptr` `const char*` might be passed to `cmMakefile::AddDefinition` are extended with `nullptr` checks.
* Source: std::string related cleanupVitaly Stakhovsky2019-05-151-9/+7
|
* Merge topic 'vs-default-platform'Brad King2019-04-221-1/+1
|\ | | | | | | | | | | | | db02be85a0 VS: Provide the default platform name to project code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3246
| * VS: Provide the default platform name to project codeBrad King2019-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio generators based on `CMAKE_GENERATOR_PLATFORM` or some default. Prior to the VS 2019 generator, the default was always `Win32`. However, for the `Visual Studio 16 2019` generator, the default is based on the host platform. Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for use by project code. This is particularly useful in toolchain files because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so `CMAKE_VS_PLATFORM_NAME` is not yet known. Of course the toolchain file author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that will be used. Fixes: #19177
* | Fix invalid ///! doxygen comment line startsSebastian Holtermann2019-03-311-1/+1
| | | | | | | | | | In various places `///!` was used to start a comment line. This is not valid Doygen syntax. This patch replaces `///!` comment starts with `//!`.
* | cmake: Teach --build mode to support multiple targetsBartosz Kosiorek2019-03-051-20/+38
| | | | | | | | Fixes: #16136
* | cmGlobalGenerator: Change case of methods from GeneratedMakeCommand structBartosz Kosiorek2019-03-041-7/+7
|/
* Merge topic 'add_consistent_verbose_build_flag'Brad King2019-01-291-22/+12
|\ | | | | | | | | | | | | | | | | | | | | | | 66801f4d40 cmake: Add tests for verbose output to --build mode 439fe2e253 cmake: Add options for verbose output to --build mode 638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments 3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option 1a45266cb5 cmGlobalGenerator: Add a class that represent the build command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2708
| * cmGlobalGenerator: Add a class that represent the build commandRobert Maynard2019-01-251-22/+12
| | | | | | | | | | | | This refactors a std::vector<std::string> into a class so that we can extend the features to represent things such as multiple chained commands in the future.
* | cmOutputConverter: move ConvertToRelativePath to cmStateDirectory.Bruno Manganelli2019-01-271-1/+1
|/
* Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-0/+1
| | | | Reduce the number of files relying on `cmake.h`.
* VS: Move platform name members to top-level global generatorBrad King2019-01-101-27/+1
| | | | | We no longer support any VS versions that pre-date support for multiple platforms (target architectures).
* VS: Clarify global generator constructor interfaceBrad King2019-01-101-3/+3
| | | | | | Make the constructors protected since they should be produced through factories. Also rename `platform{ => InGenerator}Name` to clarify the meaning of the argument.
* Merge topic 'fileapi'Brad King2018-12-131-0/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9c6f08276 Help: Add release note for fileapi feature 4b6b2a571c fileapi: extend codemodel v2 with directory details eb8c7676a4 fileapi: extend codemodel v2 with a project model 42f0125ceb fileapi: Add test for cmakeFiles v1 6615408193 fileapi: add cmakeFiles v1 3f6ee75a66 fileapi: Add test for cache v2 7489e95b8e fileapi: add cache v2 ea0a060168 fileapi: Add test for codemodel v2 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2706
| * fileapi: Report cmake generator in reply index fileBrad King2018-12-121-0/+9
| |
* | Convert cmIDEFlagTable to use owned stringsStephan Szabo2018-11-281-1/+1
|/ | | | | | Convert from char* to std::string in flag tables. Change termination condition from nullptr to empty string in command flag. Update tables to store empty strings.
* Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-051-1/+1
| | | | Use the new IsOn(),IsOff() overloads.
* cmCompiledGeneratorExpression::Evaluate(): return const std::string&Vitaly Stakhovsky2018-08-091-1/+1
|
* Update use of KWSys SystemTools::SplitString for new signatureBrad King2018-06-221-2/+2
|
* cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-251-1/+1
| | | | | | | While we already support `cmake --build . -- -j`, the options after `--` are specific to the native build tool. Add new options `--parallel [<N>]` and `-j [<N>]` to abstract this and map to the proper option for the native build tool.
* Drop Visual Studio 8 2005 generatorBrad King2018-04-021-13/+0
| | | | This generator has been deprecated since CMake 3.9. Remove it.
* VS: Use range-based 'for' loops in generator codeVitaly Stakhovsky2017-12-211-66/+45
| | | | Use `auto` for complex types.