summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSIONBrad King2020-03-121-4/+4
| | | | | | | | | | | The properties added by commit 4a62e3d97c (macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties, 2020-01-24, v3.17.0-rc1~80^2~1) are general-purpose for all platforms using Mach-O formats and not just on OS X. Rename them accordingly. The properties are new to the CMake 3.17 release so we can rename them without compatibility concerns. Fixes: #20442
* Ninja Multi-Config: Fix issue with framework dependencies and AutogenKyle Edwards2020-02-171-2/+2
| | | | Fixes: #20345
* Merge branch 'backport-3.16-link-line-backtrace'Brad King2020-02-101-2/+2
|\
| * Propagate backtraces from LINK_LIBRARIES through to link line itemsBrad King2020-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces have been collected by `ComputeLinkLibs` by looking back through the link implementation libraries for one matching the text of the link line item. This is slow in projects with long link lines. Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to carry backtrace information explicitly along with the text of each item. Fixes: #20322
* | Merge topic 'xcode-top-level-only-with-object-library'Brad King2020-01-281-2/+4
|\ \ | | | | | | | | | | | | | | | | | | 64304fe72b Xcode: Fix post build script for 'top level project only' opt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4284
| * | Xcode: Fix post build script for 'top level project only' optYauheni Khnykin2020-01-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on Xcode generator created post build scripts which tried to call XCODE_DEPEND_HELPER.make script in subproject. But XCODE_DEPEND_HELPER.make don't exist in subprojects when mentioned option is set on. Fixes: #20262
* | | macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION propertiesIsuru Fernando2020-01-241-4/+6
|/ / | | | | | | Fixes: #17652
* | Xcode: Drop hard-coded default warning flags like -WmostBrad King2020-01-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | The `-Wmost` flag was added by commit 97a51d2172 (ENH: add more xcode stuff, 2005-01-27, v2.4.0~2396), along with a couple others, as part of very early work on the Xcode generator. I suspect that the flags were part of Xcode's project creation wizard. However, they are not appropriate for CMake-based projects because we already have our own mechanisms for specifying flags desired by the project or user. Simply drop the flags. Fixes: #13516
* | GlobalGenerator family: modernize memory managementMarc Chevrier2020-01-071-12/+14
| |
* | Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-2/+3
| |
* | cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-3/+5
| |
* | cmMakefile: Delay custom command creationDaniel Eiband2019-11-241-11/+8
| | | | | | | | | | | | | | | | Move custom command creation to cmLocalGenerator and dispatch custom commands in cmMakefile to generate time. Generators add custom commands using the new methods provided by cmLocalGenerator. Issue: #12877
* | cmCustomCommand: Explicitly pass backtrace on constructionDaniel Eiband2019-11-241-5/+5
| |
* | Merge topic 'xcode-objc'Brad King2019-11-211-0/+4
|\ \ | |/ | | | | | | | | | | 1e68fb0c91 Xcode: Set source file type for Objective C/C++ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4073
| * Xcode: Set source file type for Objective C/C++Brad King2019-11-201-0/+4
| | | | | | | | Fixes: #19998
| * Merge topic 'unity-HEADER_FILE_ONLY' into release-3.16Brad King2019-11-121-1/+3
| |\ | | | | | | | | | | | | | | | | | | 9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4023
* | | Xcode: Add custom working directory propertyGregor Jasny2019-11-181-1/+1
| | | | | | | | | | | | Closes: #19967
* | | Merge topic 'modernize-memory-management'Brad King2019-11-121-19/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f93385283f cmLocalGenerator: modernize memory management 101b5288ff cmAlgorithm: Extend cmAppend capabilities Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4028
| * | | cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-19/+19
| | | |
* | | | Merge topic 'unity-HEADER_FILE_ONLY'Brad King2019-11-121-1/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4023
| * | | Unity: Don't include sources with HEADER_FILE_ONLY property setCristian Adam2019-11-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #19946 Fixes: #19947 Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | | | Merge topic 'objc-xcode-flags'Brad King2019-11-121-8/+17
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | bb42e1ed43 ObjC: Add OBJC/OBJCXX flags to Xcode projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4020
| * | ObjC: Add OBJC/OBJCXX flags to Xcode projectsCristian Adam2019-11-111-8/+17
| |/ | | | | | | Fixes: #19936
* | Merge topic 'xcode-restore-CMakeLists'Brad King2019-11-061-10/+14
|\ \ | |/ | | | | | | | | | | | | 0ce8a5c08d Xcode: Fix generated references to CMakeLists.txt files 9457c95aa0 cmGlobalXCodeGenerator: Mark known source locations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3999
| * Xcode: Fix generated references to CMakeLists.txt filesBrad King2019-11-051-6/+6
| | | | | | | | | | | | | | | | | | Refactoring in commit 2d888e3390 (cmSourceFile: Rename mutating GetFullPath() overload, 2019-08-29, v3.16.0-rc1~160^2) accidentally left the paths to `CMakeLists.txt` files empty in generated Xcode project files. Fixes: #19927
| * cmGlobalXCodeGenerator: Mark known source locationsBrad King2019-11-051-4/+8
| |
* | cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSETAlexander Boczar2019-10-151-1/+4
|/ | | | | Extend the `cmGlobalGenerator::SetGeneratorToolset` signature to indicate when it is called from `cmake::build`.
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-2/+5
|
* Unity build: Generate sources during Compute stepBrad King2019-10-031-1/+0
| | | | | | | | 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
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-1/+2
| | | | | 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 branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+1
|\ | | | | | | | | | | | | | | 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-1/+1
| |\
| | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | cmMakefile: Remove AddUtilityCommand overload without byproductsDaniel Eiband2019-09-261-7/+8
| | |
* | | cmMakefile: Move enumerations into new headerDaniel Eiband2019-09-261-7/+7
| | | | | | | | | | | | The enumerations will also be used in cmLocalGenerator.
* | | cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-8/+5
| | | | | | | | | | | | | | | | | | | | | 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/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | cmCustomCommandLine: Provide command line make functionsDaniel Eiband2019-09-161-22/+13
| | | | | | | | | | | | | | | Reduce boilerplate necessary to create custom command lines by introducing and applying cmMakeCommandLine and cmMakeSingleCommandLine functions.
* | | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-3/+3
| | |
* | | clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-14/+7
| | | | | | | | | | | | | | | | | | 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: Fix performance-for-range-copy diagnostic in Xcode generatorBrad King2019-09-091-2/+2
| | | | | | | | | | | | Fix diagnostics that appear on macOS with clang-tidy-8.
* | | clang-tidy: Resolve performance-unnecessary-value-param diagnosticsBrad King2019-09-091-1/+1
| | | | | | | | | | | | | | | | | | Fix diagnostics that appear on macOS with clang-tidy-8. Suppress cases where we intentionally take an argument by value to let the caller choose whether to copy or move.
* | | Merge topic 'use-using'Brad King2019-09-061-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d3f5ebb0d clang-tidy: Enable check modernize-use-using a1ddf2d0ba clang-tidy: Replace typedef with using Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3782
| * | | clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* | | | Unity build: Add XCode supportCristian Adam2019-08-301-0/+1
|/ / /
* | | Precompile headers: Add support for Xcode generatorCristian Adam2019-08-281-0/+12
| | | | | | | | | | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* | | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-4/+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-124/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+4
| | | | | | | | | | | | | | | | Also, use the new function where applicable.