summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'xcode64'Brad King2017-11-141-2/+2
|\ | | | | | | | | | | | | 23dd8b9e cmGlobalXCodeGenerator: Support XCTest for XCode 6.4 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1471
| * cmGlobalXCodeGenerator: Support XCTest for XCode 6.4Benito Palacios Sanchez2017-11-091-2/+2
| |
* | Xcode: use ranged for loops, cleanup existing for loopsCraig Scott2017-11-101-170/+108
|/ | | | | | | | | | The changes are mostly converting old-style explicit iterator for loops into ranged for statements. A number of for loops had already been changed over, but local variables had been left behind instead of being absorbed into the ranged for statement, so these have been cleaned up too. A couple of minor improvements were made in areas already being updated by the for loop changes to slightly simplify the code or to avoid unnecessary conversions between `const char*` and `std::string`.
* Merge topic '16780-write-single-xcodeproj'Brad King2017-11-011-0/+11
|\ | | | | | | | | | | | | e4e9ce7c Xcode: Add option to generate only topmost project file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1395
| * Xcode: Add option to generate only topmost project fileGregor Jasny2017-10-311-0/+11
| | | | | | | | Closes #16780
* | Xcode: Do not create ZERO_CHECK source groupGregor Jasny2017-10-301-2/+6
|/ | | | Closes #15468
* VS,Xcode: Add CMakeLists.txt sources without mutating targetsBrad King2017-10-181-12/+27
| | | | | | | | | | | | Rather than injecting `CMakeLists.txt` files into each target's `SOURCES`, teach the generators to add them during generation using dedicated code. This avoids mutating the original targets, and avoids polluting `$<TARGET_PROPERTY:foo,SOURCES>` with generator-specific content. This also avoids listing the `CMakeLists.txt` sources in the results of `CMAKE_DEBUG_TARGET_PROPERTIES==SOURCES` so the `RunCMake.TargetSources` test no longer needs a separate case for IDEs.
* cmake: Add --open option for IDE generatorsGregor Jasny2017-10-131-0/+34
|
* VS,Xcode: Fix TARGET_PROPERTY genex in source COMPILE_FLAGS propertyBrad King2017-10-031-1/+2
| | | | | | This already worked in other generators. Also add a test case. Fixes: #17314
* Fix some occurrences of readability-braces-around-statementsMatthias Maennich2017-09-281-14/+22
| | | | | | Fix issues diagnosed by clang-tidy [readability-braces-around-statements] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Convert some leftover loops to C++11 range-based loopMatthias Maennich2017-09-281-187/+133
| | | | | | Fix issues diagnosed by clang-tidy [modern-loop-convert] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix left-over occurrences of else-after-returnMatthias Maennich2017-09-281-10/+6
| | | | | | | | Fix issues diagnosed by clang-tidy [readability-else-after-return] These were mostly only showing up on OSX. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix minor clang-tidy findingsMatthias Maennich2017-09-281-2/+2
| | | | | | | | | | | Fix issues diagnosed by clang-tidy - modernize-use-bool-literals - misc-string-integer-assignment - performance-faster-string-find - readability-redundant-string-cstr - readability-delete-null-pointer Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix some occurrences of missing override keywordsMatthias Maennich2017-09-281-3/+6
| | | | | | | | Fix issues diagnosed by clang-tidy [modernize-use-override]. These occurrences are only showing up on OSX. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix some occurrences using string by value rather than by const&Matthias Maennich2017-09-281-2/+2
| | | | | | | | Fix issues diagnosed by clang-tidy - performance-unnecessary-value-param - performance-unnecessary-copy-initialization Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Replace several occurrences of empty string comparisons by string::empty()Matthias Maennich2017-09-281-4/+4
| | | | | | Fix issues diagnosed by clang-tidy [readability-container-size-empty] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-4/+6
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use C++11 nullptr (cont.)Matthias Maennich2017-09-191-32/+33
| | | | | | | Fix remaining occurrences of the issue addressed in commit 5962db4389 (Use C++11 nullptr, 2017-08-22) that are only showing up on macOS. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use C++11 override instead of CM_OVERRIDEBrad King2017-09-151-5/+5
| | | | | | | | We now require C++11 support including `override`. Drop use of the old compatibility macro. Convert references as follows: git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' | xargs sed -i 's/CM_OVERRIDE/override/g'
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-5/+5
|
* Merge topic 'cxx11-nullptr'Brad King2017-08-251-2/+2
|\ | | | | | | | | | | | | 5962db43 Use C++11 nullptr Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1175
| * Use C++11 nullptrDaniel Pfeifer2017-08-241-2/+2
| |
* | Merge topic 'revert-xcode-9-new-buildsystem-support'Brad King2017-08-251-11/+0
|\ \ | |/ |/| | | | | | | | | 9ecee256 Xcode: Revert addition of "outputPaths" to custom command build phase Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1183
| * Xcode: Revert addition of "outputPaths" to custom command build phaseBrad King2017-08-241-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0~3^2 (Xcode: Add "outputPaths" to custom command script build phase, 2017-07-13) was meant to support Xcode 9's new build system. However, without matching "inputPaths", Xcode will not re-run the build phase if its outputs have already been generated. This broke the old Xcode build system too. Revert the change for now so at least the old Xcode build system works. Further investigation will be needed to add proper support for Xcode 9's new build system. Fixes: #17178
* | Performance: Fix a few more unnecessary vector copies missed in af3fd6fAaron Orenstein2017-08-181-7/+7
| |
* | Merge topic 'xcode9support'Brad King2017-07-171-0/+11
|\ \ | |/ | | | | | | | | | | 0348383b Xcode: Add "outputPaths" to custom command script build phase Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1054
| * Xcode: Add "outputPaths" to custom command script build phaseHarry Mallon2017-07-141-0/+11
| | | | | | | | | | | | | | This is needed for Xcode 9's "New Build System", whose release notes mention "that output must be declared as an explicit output by the script which generates it" in reference to outputs of custom script build phases.
* | Merge topic 'xcode-cross-sdk-object-libraries'Brad King2017-06-301-4/+4
|\ \ | |/ | | | | | | | | | | c2a6df94 Xcode: Use correct Object Library paths for cross-SDK builds Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1016
| * Xcode: Use correct Object Library paths for cross-SDK buildsGregor Jasny2017-06-291-4/+4
| | | | | | | | | | | | | | | | When calculating Object Library paths take a look at the `XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` property to enable builds with different SDKs. Otherwise a hard-coded architecture could be chosen. Fixes: #16040
* | Xcode: Add XCTest support to schema generatorGregor Jasny2017-06-281-2/+28
|/ | | | Closes: #16961
* IPO: Consider support for each language separatelyBrad King2017-06-141-1/+1
| | | | | | | | | We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and Fortran languages. Do not try to enable support for other languages. Furthermore, each language builds with a different compiler, so check for support by CMake and the compiler for each language independently. Fixes: #16944
* Access string npos without instancePavel Solodovnikov2017-06-011-5/+5
|
* Xcode: Work around xcodebuild spurious hangs in try_compileBrad King2017-05-151-1/+2
| | | | | | | | | | | `xcodebuild` occasionally hangs on some macOS machines (and can be reproduced independent of CMake). It only happens a few times in 1000 runs, but configuration of a large project calls `try_compile` many times and therefore frequently hangs due to this problem. I've been unable to reproduce the hang when using a scheme to build, so always generate a scheme in `try_compile` projects to work around the problem. Issue: #16752
* Xcode: Refactor internal decision for scheme generationBrad King2017-05-151-4/+5
| | | | Move the Xcode version check out to wrap everything.
* Merge topic 'remove-top-level-xcode-groups'Brad King2017-05-041-35/+1
|\ | | | | | | | | | | | | 01cd88c0 Xcode: Remove the top-level Sources and Resources groups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !779
| * Xcode: Remove the top-level Sources and Resources groupsMatt Stevens2017-05-031-35/+1
| | | | | | | | | | | | | | | | | | | | | | This addresses duplicate file reference warnings from xcodebuild caused by the same file reference being a member of both the target's group and the top-level Resources group. Since resources are already a member of their associated target's group the top-level Resources group isn't strictly necessary, and removing it results in a project structure closer to that of a current Xcode project template. Fixes: #15272
* | Xcode: Support IPO (LTO)Ruslan Baratov2017-05-021-2/+5
|/
* Add IPO compiler flags more consistently in generatorsBrad King2017-04-271-1/+2
| | | | | | Move addition of IPO flags into `cmLocalGenerator::AddLanguageFlags` because all call sites of that need the IPO flags, but not all were following the call with `AppendFeatureOptions`.
* Xcode: Drop support for Xcode versions below 3Brad King2017-04-221-294/+137
|
* Xcode: Compute version number earlierBrad King2017-04-211-9/+12
|
* Merge topic '16760-refactor-get-mac-content-directory'Brad King2017-04-211-1/+2
|\ | | | | | | | | | | | | cf320f7c Replace boolean `implib` parameters with enum Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !662
| * Replace boolean `implib` parameters with enumGregor Jasny2017-04-201-1/+2
| | | | | | | | | | Named enumeration values are much clearer at call sites and add more type safety.
* | Xcode: Use SYSTEM_HEADER_SEARCH_PATHS attribute for system includesGregor Jasny2017-04-191-4/+33
|/ | | | Closes #16795
* cmGlobalGenerator: Add method to check if object file location is knownBrad King2017-04-181-0/+12
| | | | | | | Add a `HasKnownObjectFileLocation` method returning whether we know the exact location of object files produced by the native build system. This is true everywhere except on Xcode when an architecture placeholder is used.
* Xcode: Refactor loop over all sourcesBrad King2017-04-131-33/+12
| | | | | Switch from `GetConfigCommonSourceFiles` to `GetAllConfigSources`. This will allow us to drop object library files from the former.
* Xcode: Use config-specific object library files on link linesBrad King2017-04-131-1/+1
| | | | | | | | We can do this only with Xcode 5 and above where we list the object library files in the per-config link line value. On older Xcode versions we list the object files as sources so that dependencies work correctly, but that does not allow per-config objects. (Xcode may allow per-config source exclusion but only by base name.)
* Merge topic 'xcode-remove-UseObjectLibraries'Brad King2017-04-131-19/+32
|\ | | | | | | | | | | | | | | | | 229abfc8 cmGeneratorTarget: Drop unused UseObjectLibraries method 63fbf587 Xcode: Inline relevant parts of UseObjectLibraries 1afacebe Xcode: Do not add Object Libraries source group on Xcode >= 5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !698
| * Xcode: Inline relevant parts of UseObjectLibrariesBrad King2017-04-121-12/+22
| |
| * Xcode: Do not add Object Libraries source group on Xcode >= 5Brad King2017-04-121-11/+14
| | | | | | | | | | | | The group is always empty because on Xcode 5 and above we list object library files directly on the link line and do not list sources for them.
* | Merge topic 'include-style'Brad King2017-04-131-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | 1d829c86 Use quotes for non-system includes 26ee9e42 CPack: drop CPack prefix for includes 5afac50f cmConfigure: Ensure separate include block in headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !691