summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* POSITION_INDEPENDENT_CODE: Manage link flags for executablesMarc Chevrier2018-11-111-0/+23
| | | | Fixes: #14983, #16561
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-1/+1
|
* cmGeneratorTarget::GetExportMacro: return const std::string*Vitaly Stakhovsky2018-10-161-2/+2
|
* genex: Simplify cmGeneratorExpressionInterpreterBrad King2018-09-071-7/+5
| | | | | | | | | All callers were constructing with a non-empty target name using the target whose pointer was passed anyway. Drop this argument. Simplify logic accordingly. Re-order constructor arguments to match the cmCompiledGeneratorExpression::Evaluate arguments. Also remove unnecessary getters.
* Merge topic 'genex-evaluate-stdstring'Brad King2018-08-301-3/+5
|\ | | | | | | | | | | | | 65ab9ce938 Genex: Return Evaluate results as const std::string& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2314
| * Genex: Return Evaluate results as const std::string&Vitaly Stakhovsky2018-08-281-3/+5
| | | | | | | | Also remove unused overloads.
* | Merge topic 'lg-directory'Brad King2018-08-281-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 50fbfee3a0 cmLocalGenerator: return directories as const std::string& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2309
| * | cmLocalGenerator: return directories as const std::string&Vitaly Stakhovsky2018-08-271-1/+1
| |/
* | static library: add property STATIC_LIBRARY_OPTIONSMarc Chevrier2018-08-151-1/+1
|/ | | | issue: #18251
* Xcode: Process targets in depth-first order during generationBrad King2018-07-191-1/+5
| | | | | | | | | | The Xcode 10 "new build system" requires more strict handling of custom commands. It may need a fix similar to what commit v3.12.0-rc1~171^2 (VS: Generate a custom command only in the least dependent target, 2018-03-23) did for VS. Prepare for this by generating targets within each local generator in dependency order. Issue: #18070
* Xcode: Refactor storage of ordered list of targetsBrad King2018-07-191-10/+8
| | | | | Sort the resulting Xcode object list so that the actual order of generation does not matter.
* Xcode: Factor target generation loop body into helper methodBrad King2018-07-191-224/+229
|
* Xcode: Compute global order index for targetsBrad King2018-07-191-0/+34
| | | | | Compute an index for each target in a global ordering such that no target comes before its dependencies.
* Xcode: Remove loop over local generators that has no effectBrad King2018-07-191-7/+0
| | | | | Remove a loop over local generators whose body was dropped long ago by commit v2.6.0~1677 (Remove unused build rules from Xcode, 2007-05-28).
* Merge topic 'xcode-10-legacy-build-system'Brad King2018-06-201-11/+22
|\ | | | | | | | | | | | | | | | | | | ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above 71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings 057ecb8f6f C++ feature checks: Ignore Xcode warnings 985d3a162c Xcode: Use legacy build system Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2151
| * Xcode: Use legacy build systemGregor Jasny2018-06-191-11/+22
| | | | | | | | Closes: #18099
* | Merge topic 'xcode-10-archs'Brad King2018-06-191-1/+6
|\ \ | |/ | | | | | | | | | | bc5bcad45e Xcode: Detect architecture(s) using ARCHS instead of CURRENT_ARCH Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2153
| * Xcode: Detect architecture(s) using ARCHS instead of CURRENT_ARCHBrad King2018-06-181-1/+6
| | | | | | | | | | | | | | | | | | Xcode 10 no longer populates `CURRENT_ARCH` with the current architecture in shell scripts and instead uses `undefined_arch`. Instead we must use `ARCHS`. It lists all architectures separated by spaces. Fixes: #18085
* | LINK_OPTIONS: Add new family of propertiesMarc Chevrier2018-06-061-0/+4
|/ | | | | | | | | | | | | | This family enable to manage link flags Three new properties: * directory property: LINK_OPTIONS * target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS Two new commands * add_link_options(): to populate directory property * target_link_options(): to populate target properties Fixes: #16543
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-3/+3
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-251-1/+9
| | | | | | | 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.
* Merge branch 'backport-fix-explicit-CMakeLists.txt'Brad King2018-04-131-8/+15
|\
| * Restore support for explicitly referenced CMakeLists.txt sourcesBrad King2018-04-131-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to target sources but instead generate references to them directly. This broke projects that explicitly specify their `CMakeLists.txt` file as a source file because the explicit entry is no longer consolidated with the generated one. Teach the relevant generators to avoid duplicating `CMakeLists.txt` source references and add test cases. Fixes: #17828
* | Add glob verify support to XCode, VS, Ninja, and Makefile generatorsShane Parris2018-04-021-2/+22
| |
* | Merge topic 'genex-COMPILE_LANGUAGE-system-include'Brad King2018-03-131-3/+6
|\ \ | |/ | | | | | | | | | | | | 1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile 2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1844
| * Genex: Fix COMPILE_LANGUAGE in SYSTEM include directoriesBrad King2018-03-121-3/+6
| | | | | | | | | | | | | | | | | | When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating `INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the compile language through to the generator expression evaluator so that it can support `$<COMPILE_LANGUAGE:...>`. Fixes: #17811
* | Remove c_str() from calls to converttorelativeformake in XCode GeneratorShane Parris2018-02-281-22/+16
| |
* | Document and extend the CMAKE_SUPPRESS_REGENERATION variableShane Parris2018-02-231-1/+1
|/ | | | Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
* Xcode: Generate ZERO_CHECK generator target only onceGregor Jasny2018-02-221-1/+5
| | | | | | | | | | | In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled generate only the root-level ZERO_CHECK target so targets in subdirectories pick up the root generator target of ZERO_CHECK. For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not enabled more investigation and a proper and final fix is still needed. Issue: 14297
* cmGlobalXCodeGenerator: Properly initialize TARGETS variableGregor Jasny2018-02-131-0/+1
| | | | Fixes: #17711
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-1/+2
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* cmGlobalXCodeGenerator: Avoid -Wconditional-uninitialized warningBrad King2018-01-291-1/+1
| | | | | | | Clang incorrectly warns about a case where we initialize a variable inside a condition in such a way that it will always be initialized before we use it. Simply initialize the variable when defining it to silence the warning.
* sourceFile properties: add property INCLUDE_DIRECTORIESMarc Chevrier2018-01-241-0/+10
|
* sourceFile properties: add property COMPILE_OPTIONSMarc Chevrier2018-01-231-0/+5
| | | | | | | Add the support of per-source property COMPILE_OPTIONS, including generator expressions support. Related: #17507
* LocalGenerator: refactoringMarc Chevrier2018-01-231-1/+1
| | | | | Introduce method AppendCompileOptions to support future source file property COMPILE_OPTIONS.
* Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and XcodeBrad King2018-01-121-2/+4
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `INCLUDE_DIRECTORIES` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of include directories for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Fixes: #17435
* Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and XcodeBrad King2018-01-121-1/+5
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `COMPILE_DEFINITIONS` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of definitions for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Issue: #17435
* Merge topic '17431-iphone-deployment-target'Brad King2018-01-081-3/+24
|\ | | | | | | | | | | | | | | 4017bf40 Darwin: Emit deployment target that matches the SDK 8f4663ff Xcode: rename embedded SDK query function Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1447
| * Darwin: Emit deployment target that matches the SDKGregor Jasny2017-12-221-1/+22
| | | | | | | | Closes: #17431
| * Xcode: rename embedded SDK query functionGregor Jasny2017-12-221-2/+2
| |
* | Various typo fixesLuz Paz2018-01-031-1/+1
|/ | | | Some are user-facing. Others are source comments.
* Genex: Per-source $<COMPILE_LANGUAGE:...> supportMarc Chevrier2017-12-131-12/+17
| | | | Fixes: #17542
* Add generator expression support to per-source COMPILE_DEFINITIONSMarc Chevrier2017-12-051-2/+5
| | | | | | This allows users to specify different genex-based compile definitions for each file in a target. Fixes: #17508
* Refactor per-source generator expression evaluationMarc Chevrier2017-12-041-18/+43
| | | | | | Prepare to add generator expression support to more source properties. Factor out some duplicated code into a helper to avoid further duplication.
* server: return whether or not a target is generator providedJustin Goshi2017-11-201-6/+6
| | | | | | Some generators auto-generate targets. For example VS generators create the ALL_BUILD target. Add the ability to mark targets as generator provided and return that info through cmake-server codemodel.
* cmSourceGroup: Return strings from GetName and GetFullNameBrad King2017-11-151-2/+2
|
* 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