summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'xcode-select'David Cole2012-08-131-2/+17
|\ | | | | | | | | e88bae7 Xcode: Run xcode-select to find Xcode version file (#13463)
| * Xcode: Run xcode-select to find Xcode version file (#13463)Brad King2012-08-101-2/+17
| | | | | | | | | | | | | | Multiple versions of Xcode may be installed in different locations. Run "xcode-select --print-path" to detect the active Xcode location and parse its Contents/version.plist file. Note that the Xcode.app directory name may vary in developer versions.
* | Xcode: Fix object library references in multi-project trees (#13452)Brad King2012-08-031-1/+1
|/ | | | | | | | | | | | | | | | | In cmGlobalXCodeGenerator::Generate we generate a .xcodeproj for each directory in the tree containing a project() command. First we iteratively use SetGenerationRoot to add "ALL_BUILD" and other targets to each project. This leaves "CurrentProject" set to the last project when we invoke cmGlobalGenerator::Generate, which is not the same as the top-level project if any subdirectories invoke the project() command. When cmGlobalGenerator::Generate reaches CreateGeneratorTargets it constructs cmGeneratorTarget and calls ComputeTargetObjects exactly once per target. In this context the value of CurrentProject is undefined so we cannot pass it to GetObjectsNormalDirectory. Use "$(PROJECT_NAME)" instead so it will adapt automatically to each project. Also teach Tests/ObjectLibrary to cover this case.
* Refactor generation of shared library flagsStephen Kelly2012-06-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | CMAKE_SHARED_LIBRARY_<lang>_FLAGS has flags on various platforms for a variety of purposes that are correlated with shared libraries but not exclusive to them. Refactor generation of these flags to use new purpose-specific platform variables CMAKE_<lang>_COMPILE_OPTIONS_DLL CMAKE_<lang>_COMPILE_OPTIONS_PIC CMAKE_<lang>_COMPILE_OPTIONS_PIE Activate the DLL flags specifically for shared libraries. Add a new POSITION_INDEPENDENT_CODE target property to activate PIC/PIE flags, and default to true for shared libraries to preserve default behavior. Initialize the new property from CMAKE_POSITION_INDEPENDENT_CODE to allow easy global configuration in projects. Although the default behavior is unchanged by this refactoring, the new approach ignores CMAKE_SHARED_LIBRARY_<lang>_FLAGS completely. We must leave it set in case projects reference the value. Furthermore, if a project modifies CMAKE_SHARED_LIBRARY_<lang>_FLAGS it expects the new value to be used. Add policy CMP0018 to handle compatibility with projects that modify this platform variable. Add a PositionIndependentCode test on platforms where we can get meaningful results.
* Xcode: Recognize storyboard source files (#13214)Jan Schaffmeister2012-05-141-0/+4
|
* Xcode: Pay attention to custom configuration types (#13082)David Cole2012-04-021-1/+6
| | | | | | | | Previously, we were setting the default configuration for a generated Xcode project to the hard-coded string "Debug" even in cases where users customized their configuration types such that the list did not contain "Debug". Now, we use the first string listed in CMAKE_CONFIGURATION_TYPES as the default config for generated Xcode projects.
* Merge topic 'object-library'David Cole2012-03-201-66/+267
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93d5509 Merge branch 'ninja-object-library' into object-library 821037c Merge branch 'xcode-object-library' into object-library eb24c99 Merge branch 'object-library' into xcode-object-library 63d1be8 Xcode: Honor $<TARGET_OBJECTS:...> source expressions 020ba38 Merge branch 'object-library' into xcode-object-library e8ea615 Build object library targets in Xcode 8045e17 Pre-compute object file names before Xcode generation 247a132 Allow txt files as ExtraSources in object library targets b063599 Add a default source group for object files. be01f3b Xcode: Re-factor some existing methods into "FromPath" variants 2693dbe Merge branch 'object-library' into ninja-object-library 51997cb Ninja: Honor $<TARGET_OBJECTS:...> source expressions 23ec258 Merge branch 'object-library' into ninja-object-library 61124de Build object library targets in Ninja f5b06cd Pre-compute object file names before Ninja generation a2514f1 Simplify cmNinjaTargetGenerator using cmGeneratorTarget ...
| * Xcode: Honor $<TARGET_OBJECTS:...> source expressionsDavid Cole2012-03-191-0/+33
| | | | | | | | | | Add objects from object libraries referenced using this syntax to the set of objects linked in a target.
| * Build object library targets in XcodeDavid Cole2012-03-191-8/+52
| | | | | | | | | | | | | | | | Treat OBJECT libraries as STATIC libraries. The Xcode project file format provides no way to avoid running the libtool so hide the resulting .a away next to the object files as it should never be referenced. The object files will be left behind for reference by other targets later.
| * Pre-compute object file names before Xcode generationDavid Cole2012-03-191-0/+49
| |
| * Xcode: Re-factor some existing methods into "FromPath" variantsDavid Cole2012-03-161-48/+110
| | | | | | | | | | ...to avoid depending on cmSourceFile instances. Prep work for supporting OBJECT_LIBRARY in the Xcode generator.
| * Xcode: Re-factor code into GetObjectsNormalDirectory methodDavid Cole2012-03-161-9/+22
| | | | | | | | | | ...in preparation for calling it from more than one location. Required to support OBJECT_LIBRARY targets in Xcode.
| * Rename/constify build-time config placeholder lookupBrad King2012-03-091-1/+1
| | | | | | | | | | | | Rename cmGlobalGenerator::GetCMakeCFG{InitDirectory => IntDir} to have a shorter name without a typo. Add a 'const' qualifier since the method is only for lookup and never needs to modify anything.
| * Merge branch 'cleanup-object-file-names' into object-libraryBrad King2012-03-091-33/+0
| |\
* | \ Merge topic 'fix-12621-xcode43'Brad King2012-03-191-2/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | 0f4dfa6 CPack: Use real path to PackageMaker to find its version file (#12621) 4693cf8 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
| * | | Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)David Cole2012-03-091-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 4.3 installs into "/Applications" by default, from the Mac App Store. Also, the paths to the available SDKs changed: they are now within the Xcode.app bundle. PackageMaker is installed as a separate program, and may be installed anywhere. It is not installed with Xcode 4.3 by default anymore. Download the "Auxiliary Tools for Xcode" to get PackageMaker. Put PackageMaker inside the Xcode.app bundle, in its nested Applications folder, or put it alongside Xcode in "/Applications" and CMake will find it. Update references to "find" paths: add new possible locations for finding Xcode.app and PackageMaker.app. Prefer the most recent version's locations first, but keep the old locations as fallback search paths, too. Thanks to all the contributors who provided and tested out various patches for fixing this issue. Especially, but by no means limited to: Francisco Requena Espí, Jamie Kirkpatrick and drfrogsplat.
* | | | Merge topic 'cleanup-object-file-names'Brad King2012-03-131-33/+0
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | 0996f2a Hide Makefile local object info inside local generator 67734be VS: Simplify object name computation 4ae7f36 Remove unused partial OBJECT_FILES property implementation
| * | Remove unused partial OBJECT_FILES property implementationBrad King2012-03-061-33/+0
| |/ | | | | | | | | | | | | Remove partial implementation added by commit ca0230a3 (check in initial conv library stuff, 2007-02-16) since it was never finished. It does not make sense for multi-configuration generators since no specific build configuration is processed at CMake time.
* | Extract and use the INCLUDE_DIRECTORIES target properties.Stephen Kelly2012-02-221-1/+1
|/ | | | | | | | | Eliminate callers of cmMakefile::GetIncludeDirectories. All callers of GetIncludeDirectories should go through the local generator object. Only the local generator calls cmTarget::GetIncludeDirectories directly.
* Xcode: Create separate rerun dependencies for subprojects (#12616)Brad King2011-12-091-2/+1
| | | | | | | Generate the rerun dependency file for the top-level project() and each subdirectory project() into the corresponding build directory. Do not clobber them all with the one for the last subproject. This mistake was left from when the Xcode generator did not produce subprojects.
* Xcode: Avoid spewing the environment on every script run (#12522)Johan Bjork2011-10-201-0/+5
| | | | | This is the prefered way to get rid of the 'setenv XXX' output, instead of stripping it in the cmakexbuild wrapper.
* Merge topic 'fix-12377-xcode-honor-g0'David Cole2011-09-071-7/+28
|\ | | | | | | | | cb22afc Xcode: Honor -g0 to disable debugging (#12377)
| * Xcode: Honor -g0 to disable debugging (#12377)Johan Bjork2011-09-061-7/+28
| | | | | | | | | | | | This commit changes ExtractFlag to remove all occurences of a flag, and only save the last one. (i.e., the dominant one according to GCC rules)
* | Merge topic 'fix-12370-no-space-in-target-name'David Cole2011-09-071-1/+3
|\ \ | | | | | | | | | | | | e05e0f1 Xcode: No spaces in makefile target names (#12370)
| * | Xcode: No spaces in makefile target names (#12370)Johan Björk2011-09-051-1/+3
| |/ | | | | | | Don't use spaces for target names in the makefiles.
* | Merge topic 'fortran-format'David Cole2011-09-071-0/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | 90efed6 Xcode: Honor Fortran_FORMAT target and source file property 5c0c635 Fortran: Add support for free- and fixed-form flags 47a0c75 VS: Map Fortran free- and fixed-format flags to IDE options d6e2a06 VS: Map per-source Fortran flags to IDE options
| * | Xcode: Honor Fortran_FORMAT target and source file propertyBrad King2011-09-011-0/+22
| | | | | | | | | | | | | | | Convert the target property to the IFORT_LANG_SRCFMT build setting. Convert the source property to the per-source COMPILER_FLAGS setting.
* | | Merge topic 'fix-zero-check-mistake'David Cole2011-09-071-1/+2
|\ \ \ | |_|/ |/| | | | | | | | 57bc42a Xcode: Do not emit the ZERO_CHECK target more than once
| * | Xcode: Do not emit the ZERO_CHECK target more than onceJohan Bjork2011-09-011-1/+2
| |/
* | Merge topic 'fix-xcode4-test-failures'David Cole2011-09-011-1/+8
|\ \ | |/ |/| | | | | 0cf4fa5 Xcode4: Requires more quoting of single quote char
| * Xcode4: Requires more quoting of single quote charDavid Cole2011-08-251-1/+8
| | | | | | | | | | | | | | | | Specifically in per-target and per-file compiler definition string values. The Preprocessor test now passes on Xcode 4 builds after this commit.
* | Merge topic 'fix-11690-preserve-xcode-objectids'David Cole2011-08-251-2/+60
|\ \ | | | | | | | | | | | | 1834f23 Xcode: Save object id values in CMakeCache.txt (#11690)
| * | Xcode: Save object id values in CMakeCache.txt (#11690)David Cole2011-08-241-2/+60
| |/ | | | | | | | | | | | | | | | | For project and target objects, save their ids in CMakeCache.txt. Hopefully, that will be enough to allow user settings to be saved across multiple CMake generate operations. Other object types may also need their ids saved: if so, more code than this commit will be necessary...
* | Xcode: Remove PREBINDING attribute for Xcode 4 and aboveJohan Bjork2011-08-191-1/+1
|/ | | | | PREBINDING is obsolete in Xcode 4 and causes warnings if present. Do not emit it for Xcode >= 4.0
* Xcode: Rearrange CMakeReRun to enable parallel buildsJohan Björk2011-08-041-22/+23
| | | | | | by isolating the CMakeReRun steps to a ZERO_CHECK target, as in the Visual Studio generators. Also, honor the value of CMAKE_SUPPRESS_REGENERATION.
* Correct KWStyle line too long errorDavid Cole2011-07-191-1/+2
|
* Add use of EFFECTIVE_PLATFORM_NAME to generated Xcode projects.David Cole2011-07-181-7/+12
| | | | | Facilitates building iOS projects, enabling switching back and forth between simulator and device builds at development time.
* Merge topic 'xcode-source_groups-folders-issue-10039'Brad King2011-06-081-30/+87
|\ | | | | | | | | | | | | | | f09ba0f Fix style errors added by parent and grandparent eeeeca1 XCode: Support target folders on XCode. 59ed84e Xcode: Support multiple level nesting of XCode folders (#10039) d0a403f CMake: Move tokenize to cmSystemTools
| * Fix style errors added by parent and grandparentBrad King2011-06-081-3/+6
| |
| * XCode: Support target folders on XCode.Johan Björk2011-06-071-11/+39
| |
| * Xcode: Support multiple level nesting of XCode folders (#10039)Johan Björk2011-06-071-22/+48
| |
* | Xcode: Fix parallel build depends with universal binaries (#11844)Brad King2011-06-061-44/+56
| | | | | | | | | | | | | | | | A post-build phase of each target invokes the XCODE_DEPEND_HELPER.make file to erase any targets that link to it. Narrow the set of targets tested by each post-build phase to those that depend on the newly completed target. This avoids removing files from partially built unrelated targets that happen to be building in parallel.
* | Fix XCode -> Xcode typos, notably in man page (#12231)Sean McBride2011-05-311-4/+4
| |
* | Merge topic 'fix-8914-allow-config-types-override'Brad King2011-02-221-7/+10
|\ \ | | | | | | | | | | | | e6221ed Xcode: Allow override of CMAKE_CONFIGURATION_TYPES (#8914)
| * | Xcode: Allow override of CMAKE_CONFIGURATION_TYPES (#8914)David Cole2011-01-281-7/+10
| | |
* | | Merge topic 'fix-11295-support-plugin-bundles-on-mac'Brad King2011-02-221-7/+48
|\ \ \ | |_|/ |/| | | | | | | | | | | cabc407 CFBundle Test: Add PATHS for finding Rez (#11295) 5457b82 Add support for CFBundle targets on the Mac (#11295)
| * | Add support for CFBundle targets on the Mac (#11295)Richard Bateman2011-01-111-7/+48
| | | | | | | | | | | | | | | This commit enables building, for example, plugin bundles to be loaded by web browsers.
* | | Xcode: Fix crash: avoid strlen call on NULL char *David Cole2011-01-271-1/+1
| |/ |/| | | | | Thanks to Johan Björk for the report on the CMake mailing list.
* | Merge topic 'xcode-subdir-regen-dependencies'Brad King2011-01-191-3/+11
|\ \ | | | | | | | | | | | | 809ef30 Xcode: Make generation depend on all input directories
| * | Xcode: Make generation depend on all input directoriesBrad King2011-01-131-3/+11
| |/ | | | | | | | | | | | | | | Previously the Xcode generator would rerun CMake only if input file dependencies in the top-level directory changed. Teach it to depend on input files from all directories. Other generators already do this. Reported-by: Johan Björk <phb@spotify.com>