summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Split storage of include directories from genexes.Stephen Kelly2015-08-071-0/+2
|
* cmGeneratorTarget: Move GetLinkerLanguage from cmTarget.Stephen Kelly2015-08-051-3/+4
|
* cmGeneratorTarget: Move GetFullName from cmTarget.Stephen Kelly2015-08-051-2/+3
| | | | Bring GetFullNameInternal with it.
* cmGeneratorTarget: Move GetInstallNameDir* from cmTarget.Stephen Kelly2015-08-051-1/+1
|
* cmGeneratorTarget: Move GetFullNameComponents from cmTarget.Stephen Kelly2015-08-051-1/+1
|
* cmGeneratorTarget: Move HasSOName from cmTarget.Stephen Kelly2015-08-051-1/+1
|
* cmGeneratorTarget: Move GetLinkInformation from cmTargetStephen Kelly2015-08-051-3/+4
|
* cmGeneratorTarget: Move GetSOName from cmTarget..Stephen Kelly2015-08-051-1/+1
|
* cmGlobalGenerator: Virtualize the Compute step and override it.Stephen Kelly2015-07-301-1/+12
|
* cmGlobalGenerator: Move generation object creation to Compute().Stephen Kelly2015-07-301-1/+6
|
* Xcode: Use allBuild target return value.Stephen Kelly2015-07-291-2/+1
|
* Xcode: Skip Global targets when processing.Stephen Kelly2015-07-291-0/+5
|
* Move GetFullPath to cmGeneratorTargetStephen Kelly2015-07-271-1/+2
|
* cmCustomCommandGenerator: Require cmLocalGenerator in API.Stephen Kelly2015-07-271-2/+2
|
* Add rudimentary support for the Apple Swift language with XcodeBrad King2015-07-061-0/+4
| | | | | | | Allow the `Swift` language to be enabled with the Xcode generator for Xcode >= 6.1. Reject it on other generators and with older Xcode versions. Since Apple is the only vendor implementing the language right now, the compiler id can be just `Apple`.
* cmComputeTargetDepends: Change API to use cmGeneratorTarget.Stephen Kelly2015-07-011-2/+3
|
* Remove CMAKE_USE_RELATIVE_PATHS variable.Stephen Kelly2015-06-031-22/+2
| | | | | | | | | | | | | | | | | The test for this variable was removed in commit v2.8.8~330^2~7 (complex: Remove ancient unused ComplexRelativePaths test, 2011-12-23). Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in IssueMessage, 2014-03-12) appears to have accidentally made some backtraces print relative paths with the variable because conversions which used to be done at configure time, before the variable had an effect are now potentially done at generate time. The documentation of the variable says not to use it, and the docs are wrong in that the variable actually applies in per-directory scope. The read of the variable makes it harder to split conversion methods from cmLocalGenerator where they don't belong. Remove it now.
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-2/+3
| | | | | | | | | | | Refactor the local generator creation API to accept a cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current' snapshot in cases where there is no parent. Create the snapshot for subdirectories in cmMakefile::AddSubdirectory. This means that snapshots are now created at the point of extending the tree, as appropriate, and independently of the cmLocalGenerator and cmMakefile they represent the state for.
* cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-6/+8
| | | | It is required anyway, so this makes it explicit.
* Use cmSystemTools::GetCMakeCommand() to get path to cmake internallyBrad King2015-05-201-3/+3
| | | | | This is much simpler than finding a way to lookup "CMAKE_COMMAND" everywhere.
* cmLocalGenerator: Require a global generator in the constructor.Stephen Kelly2015-05-141-3/+1
| | | | Port generator factory methods to pass it.
* cmLocalGenerator: Require a parent in the constructor.Stephen Kelly2015-04-281-2/+3
| | | | | | | Pass the parent though cmGlobalGenerator::CreateLocalGenerator. This will make it easy to initialize state scopes independent of cmMakefile.
* Merge topic 'clean-up-cmMakefile'Brad King2015-04-211-17/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8dc3a67c cmMakefile: Out-of-line the directory methods. 0f3c8cfa cmMakefile: Use method abstraction to access directories. b288a997 cmMakefile: Rename SetStart* directory API to SetCurrent*. 932d53bc cmMakefile: Remove redundant method duplication. 32b8f03a cmMakefile: Port users of GetStart* methods to new names. 54d6a918 cmMakefile: Rename GetCurrent{Output,Binary}Directory. 55d80d0a cmMakefile: Rename GetCurrent{,Source}Directory. b23cf06f cmake: Remove redundant start directories. fcf246ac cmMakefile: Populate Home directories on initialize. 8878bea7 cmake: Initialize Home directories on cmake for find-package mode. 044dc815 Use the Home directories from the cmake class where intended. d67e8f24 cmake: Fix directory used to find the cache 1ea085d1 cmMakefile: Initialize dir definitions early. f034bb2f Remove redundant calls to MakeStartDirectoriesCurrent. 3a68c323 cmMakefile: Fix wrong parameter names.
| * cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-4/+4
| |
| * cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-11/+11
| | | | | | | | Match names used in CMake code.
| * cmMakefile: Rename GetCurrent{,Source}Directory.Stephen Kelly2015-04-201-2/+2
| | | | | | | | Match the names used in cmake code.
* | cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-2/+2
|/ | | | | | | Extend the RunSingleCommand signature to capture stdout and stderr separately. Allow both to be captured to the same std::string to preserve existing behavior. Update all call sites to do this so that this refactoring does not introduce functional changes.
* Merge topic 'stable-xcode-projects'Brad King2015-04-201-2/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | 6693590f Xcode: Refine quoting rules for Strings a6331eb8 Xcode: Let PrintComment decide if the comment is non-empty 6e8952c1 Xcode: PrintComment will prepend a whitespace itself before the comment 4bd2544b Xcode: Do not add whitespace after attribute group opening brace 5cb4c838 Xcode: Properly indent PBXFileReference and PBXBuildFile a723427b Xcode: Remove extra space in PBXProject comment 2fe8bca5 Xcode: Add comment after root object 2e0e205e Xcode: Indent using tabs 7b68c8df Xcode: Sort Xcode objects by Id
| * Xcode: Remove extra space in PBXProject commentGregor Jasny2015-04-171-1/+1
| |
| * Xcode: Add comment after root objectGregor Jasny2015-04-171-1/+2
| |
| * Xcode: Sort Xcode objects by IdGregor Jasny2015-04-171-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch series aims to minimize deltas between the CMake Xcode generator and Xcode itself. It was started by the observation that if one makes any change to the project within Xcode (e.g. to see how a variable is called internally) the user cannot diff the CMake project and the one stored by Xcode afterwards. Xcode keeps the objects ordered by the object id. Because cmake stores them into an unordered container at creation time they must be sorted before writing the pbxproj file. I tested this series with Xcode 6.3 and Xcode 3.2. Both show a reduced diff after this series was applied.
* | cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-2/+2
|/
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-071-1/+1
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Revert topic 'refactor-cache-api'Brad King2015-04-071-1/+1
| | | | | | This topic was never tested without some follow-up commits. The GetCacheEntryValue API returns a pointer to memory freed on return. It will have to be revised along with the rest of the original topic.
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-061-1/+1
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Xcode: Add file type for Metal shader filesSean James2015-04-011-0/+4
|
* Xcode: Set ARCHS only when CMAKE_OSX_ARCHITECTURES is specified (#14736)Brad King2015-03-271-31/+20
| | | | | | Teach the Xcode generator that ONLY_ACTIVE_ARCH=YES means to use ARCHS, and that the default of ONLY_ACTIVE_ARCH=NO means to use NATIVE_ARCH and ignore ARCHS. In the latter case there is no reason to generate ARCHS.
* cmGlobalXCodeGenerator: Simplify ARCHS list with cmJoinBrad King2015-03-271-10/+2
|
* OS X: Add handling for XCTest bundlesGregor Jasny2015-03-231-2/+10
| | | | | | | | | | An XCTest bundle is a CFBundle with a special product-type and bundle extension. For more information about XCTest visit the Mac Developer library at: http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/ Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Genex: Allow COMPILE_LANGUAGE when processing compile definitions.Stephen Kelly2015-03-091-1/+1
| | | | Issue an error if this is encountered by an IDE generator.
* cmake: Teach --build to honor CMAKE_VERBOSE_MAKEFILE for NinjaGregor Jasny2015-02-261-1/+1
| | | | | | | | | The Ninja build system does not support a in-file verbositiy switch. Instead teach 'cmake --build' to extract the CMAKE_VERBOSE_MAKEFILE setting and pass it as an optional '-v' argument to Ninja. This can serve as a reasonable fallback. Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Xcode: Teach XCODE_ATTRIBUTE target properties about generator expressionsGregor Jasny2015-02-121-1/+4
| | | | Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* cmGlobalXCodeGenerator: Rename variable 'lang' => 'llang'Brad King2015-02-061-7/+7
| | | | | In CreateBuildSettings the variable holds the linker language. Use a more distinctive variable name.
* Xcode: Generate Intel Fortran compiler flags in project filesBrad King2015-02-061-0/+5
|
* Xcode: Refactor generation of per-language compiler flagsBrad King2015-02-061-71/+69
|
* Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator (#15324)Brad King2015-01-291-1/+13
| | | | | | | | | | | | The "cmakexbuild" wrapper is not needed for Xcode 4 and above, and the path to it may change when CMake moves. Avoid storing a specific path to a build program in CMakeCache.txt and instead compute the value for CMAKE_MAKE_PROGRAM on demand. However, if a user does set the value explicitly then honor it. This does for Xcode what commit v3.0.0-rc1~260^2~4 (VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators, 2013-11-15) did for Visual Studio generators.
* Xcode: Select make program at build timeBrad King2015-01-281-1/+1
| | | | | | | Extend the change made in commit v3.0.0-rc1~260^2~16 (Teach GenerateBuildCommand to find its own make program, 2013-11-13) to have the Xcode generator pick between "xcodebuild" and CMake's own copy of "cmakexbuild" at build time based on the version of Xcode.
* Xcode: Add internal API to find xcodebuildBrad King2015-01-281-0/+31
| | | | | | | | Teach the Xcode generator to compute the location of this tool or the cmakexbuild wrapper. Add internal APIs to get the locations on demand. Use the "cmakexbuild" wrapper for Xcode < 4, and "xcodebuild" for modern Xcode.
* Merge topic 'xcode-target-sort'Brad King2015-01-201-11/+51
|\ | | | | | | | | | | 9e0176e2 Xcode: Sort targets deterministically and with ALL_BUILD first (#15346) c0ff542c Xcode: Fix early termination on per-config source file error
| * Xcode: Sort targets deterministically and with ALL_BUILD first (#15346)Ben Boeckel2015-01-191-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | The default target in XCode is the first one in the file. In commit v3.1.0-rc1~286^2 (cmTarget: use a hash_map for cmTargets typedef, 2014-06-10) the order of the targets stored in cmMakefile was made non-deterministic instead of lexicographic. Teach the Xcode generator to do its own sorting to restore a predictable order. While at it, place ALL_BUILD first (as is done in VS IDE generators) explicitly in the comparison function so that it is the default target even if other targets sort earlier lexicographically (e.g. "AAA").