summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Implement LINK_FLAGS_<CONFIG> property on XcodeBrad King2009-11-061-0/+10
| | | | See issue #9841.
* Fix Xcode <= 2.0 projects with CMAKE_BUILD_TYPEBrad King2009-10-281-1/+4
| | | | | The dependency-helper makefiles should not have per-configuration names for Xcode <= 2.0. Older Xcodes do not support multiple configurations.
* Keep Xcode intermediate files away from output dirBrad King2009-10-281-2/+14
| | | | | | | | | | | | Previously the Xcode generator set SYMROOT to be the target output directory. This told Xcode to put the "<proj>.build" directory in the output path too. This commit sets SYMROOT, CONFIGURATION_BUILD_DIR, and OBJROOT to put intermediate files in the build directory corresponding to the source directory that created each target. This is more consistent with the VS IDE generators. Now only the build output files (actual targets) go to the target output directory.
* Fix Xcode dylib version defaultBrad King2009-10-261-10/+10
| | | | | | | | | | The commit "Set version info for shared libs on OSX" taught the Xcode generator to honor VERSION and SOVERSION properties. However, it also set version '1.0.0' as the default when no version property is set, which is inconsistent with the Makefiles generator. This commit fixes the default to '0.0.0' for consistency. See issue #9773.
* Add Xcode file association for FortranBrad King2009-10-221-0/+4
| | | | | | | Intel Fortran on Mac OS X enables Fortran support in Xcode. This commit teaches CMake to associate Fortran sources properly in Xcode projects. See issue #9739.
* Define per-target OSX_ARCHITECTURES propertyBrad King2009-10-211-0/+28
| | | | | | | | | | | The CMAKE_OSX_ARCHITECTURES variable works only as a global setting. This commit defines target properties OSX_ARCHITECTURES OSX_ARCHITECTURES_<CONFIG> to specify OS X architectures on a per-target and per-configuration basis. See issue #8725.
* fix Xcode 30 generatorBill Hoffman2009-10-071-8/+8
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* Add Xcode SYMROOT setting for custom targetsBrad King2009-09-231-3/+4
| | | | | | | | | Xcode 1.5 writes helper scripts at the projectDirPath location for targets that do not set SYMROOT. We now add SYMROOT to custom targets so that all targets set it. This prevents Xcode 1.5 from touching the source directory now that we always set projectDirPath. See issue #8481.
* Teach Xcode generator to set XCODE_VERSIONBrad King2009-09-231-7/+16
| | | | | We set the variable 'XCODE_VERSION' in the CMake language to the Xcode version string (e.g. "3.1.2"). Platform config files may use it later.
* Fix Xcode project references to the source treeBrad King2009-09-221-56/+31
| | | | | | | | | | | | | Xcode project source file references need to always be relative to the top of the source tree in order for SCM and debug symbols to work right. We must even allow the relative paths to cross outside of the top source or build directories. For subdirectory project() command Xcode projects we use the source directory containing the project() command as the top. Relative paths are generated accordingly for each subproject. See issue #8481.
* Fix Bug #8332, add support for .pch files for Xcode.Bill Hoffman2009-09-211-1/+2
|
* Fix Bug #8928, add support for .xib files for Xcode.Bill Hoffman2009-09-211-0/+4
|
* Remove cmGlobalXCode21Generator subclassBrad King2009-09-191-12/+27
| | | | | | | This subclass of cmGlobalXCodeGenerator only provided two virtual method overrides, and it made construction of the Xcode generator instance complicated. This commit removes it and replaces the virtual methods with tests of the Xcode version. The change removes duplicate code.
* Fix the build for version 2.5 of Xcode.Bill Hoffman2009-09-181-0/+9
|
* Fix for bug #9466. Change the implementation of OSX arch lists. If no ↵Bill Hoffman2009-09-171-27/+27
| | | | ARCHs are specified by the user then no flags are set. We no longer use CMAKE_OSX_ARCHITECTURES_DEFAULT.
* Bug #8356, add support for image types in Xcode files.Bill Hoffman2009-09-141-0/+4
|
* Fix for bug #8807, add support for CMAKE_EXE_LINKER_FLAGS_(config) to Xcode ↵Bill Hoffman2009-09-141-0/+9
| | | | generator.
* Separate Xcode flag escaping code from definesBrad King2009-07-291-28/+69
| | | | | Generalize the core Xcode generator preprocessor flag escaping code to be useful for escaping all flags.
* Re-order cmGlobalXCodeGenerator implementationBrad King2009-07-291-51/+51
| | | | | This defines class cmGlobalXCodeGenerator::BuildObjectListOrString early in the source file so it can be used in more places.
* BUG: Additional fix necessary for issue #8481 so that Xcode builds do not ↵David Cole2009-07-241-0/+6
| | | | write files into the source tree. Also add a test that runs last to check for local modifications in CMake_SOURCE_DIR based on whether 'cvs -q -n up -dP' output is empty. Test fails on dashboard runs when there are local modifications. Test passes on non-dashboard runs with local modifications so that CMake developers may have mods when running the test locally.
* BUG: Fix issue #8481 - generate Xcode projects such that breakpoints may be ↵David Cole2009-07-221-3/+34
| | | | used from the Xcode debugger without adjusting any settings within the Xcode GUI first... Thanks to Doug Gregor for the patch.
* BUG: Fix Xcode linker languageBrad King2009-07-101-0/+57
| | | | | | | | | | Xcode does not seem to support direct requests for using the linker for a particular language. It always infers the linker using the languages in the source files. When no user source files compile with target's linker language we add one to help Xcode pick the linker. A typical use case is when a C executable links to a C++ archive. The executable has no C++ source files but we need to use the C++ linker.
* ENH: Pass config to cmTarget::GetLinkerLanguageBrad King2009-07-081-1/+1
| | | | | | This passes the build configuration to most GetLinkerLanguage calls. In the future the linker language will account for targets linked in each configuration.
* ENH: Use fixed header file type mapping for XcodeBrad King2009-07-081-10/+6
| | | | | | | This simplifies computation of the lastKnownFileType attribute for header files in Xcode projects. We now use a fixed mapping from header file extension to attribute value. The value is just a hint to the Xcode editor, so computing the target linker language is overkill.
* ENH: Simpler cmTarget::GetLinkerLanguage signatureBrad King2009-07-071-2/+2
| | | | | | | This method previously required the global generator to be passed, but that was left from before cmTarget had its Makefile member. Now the global generator can be retrieved automatically, so we can drop the method argument.
* BUG: Do not generate "global" Xcode configBrad King2009-07-021-16/+18
| | | | | | | | Xcode 2.0 and below supported only one configuration, but 2.1 and above support multiple configurations. In projects for the latter version we have been generating a "global" set of buildSettings for each target in addition to the per-configuration settings. These global settings are not used by Xcode 2.1 and above, so we should not generate them.
* ENH: Simplify Xcode CreateBuildSettings methodBrad King2009-07-021-52/+57
| | | | | | | The cmGlobalXCodeGenerator::CreateBuildSettings had the three arguments productName, productType, and fileType that returned information used by only one of the call sites. This change refactors that information into separate methods named accordingly.
* ENH: Use logical target names in Xcode projectsBrad King2009-07-021-21/+5
| | | | | | | | Previously we named Xcode targets using the output file name from one of the configurations. This is not very friendly, especially because it changes with CMAKE_BUILD_TYPE. Instead we should use the original logical target names for the Xcode target names. This is also consistent with the way the other IDE generators work.
* ENH: Generate native Xcode 3.0 and 3.1 projectsBrad King2009-06-291-29/+113
| | | | | | | | | | CMake previously generated Xcode project files labeled as 2.4-compatible by recent versions of Xcode (3.0 and 3.1). It is better to generate native Xcode 3.0 and 3.1 projects. In particular, this can improve build times by using the "Build independent targets in parallel" feature. Patch from Doug Gregor. See issue #9216.
* BUG: Do not automatically set HEADER_FILE_ONLYBrad King2009-03-161-2/+11
| | | | | | | | | | Long ago the native build system generators needed HEADER_FILE_ONLY to be set on header files to stop them from building. The modern generators correctly handle headers without the help of this property. This removes automatic setting of the property so that it can be used reliably as an indicator of project author intention. It fixes VS IDE project files to show header files normally instead of excluded (broken by the fix for issue #7845).
* BUG: fix xcode depend issue and add a test for itBill Hoffman2009-02-191-1/+1
|
* BUG: Fix issue #8253 - handle xib file extension in Xcode projects so that ↵David Cole2009-02-191-0/+4
| | | | double clicking on xib files opens them up in Interface Builder. Thanks to baron_roberts for the patch.
* BUG: fix depend bug again for XcodeBill Hoffman2009-02-191-3/+2
|
* BUG: use the top level project name for the xcode depend helper directory namesBill Hoffman2009-02-181-1/+2
|
* BUG: Fix issue #6195. Add CMAKE_OSX_DEPLOYMENT_TARGET cache variable to ↵David Cole2009-01-271-0/+7
| | | | specify the target deployment runtime OS version of the built executables on Mac OSX. Thanks to Mike Jackson for the patch.
* BUG: Fix LOCATION property for Mac AppBundlesBrad King2009-01-201-10/+0
| | | | | | | Previously cmTarget::GetLocation and cmTarget::GetFullPath would return for Mac AppBundles the top-level bundle directory but without the .app extension. We worked around this at the call sites. This fixes the methods and removes the work-arounds. See issue #8406.
* ENH: Put custom target sources in Xcode projectsBrad King2008-10-091-24/+61
| | | | | Source files in custom targets are now placed in the Xcode project for convenient editing. See issue #5848.
* BUG: 7763 fix, OPTIMIZATION was not set right. Also fix for BUG 7764, put ↵Bill Hoffman2008-10-021-16/+14
| | | | XCODE_ATTRIBUTES_ last
* ENH: Use improved target dependencies for XcodeBrad King2008-09-151-62/+4
| | | | | | | In cmGlobalGenerator we use cmComputeTargetDepends to construct a safe, non-circular set of inter-target dependencies. This change enables use of the results by the Xcode generator. It also removes a lot of old code and another use of the old-style linking logic. See issue #7652.
* BUG: make sure flag is found even with extra spaces at the startBill Hoffman2008-09-111-1/+1
|
* BUG: Fix issue #7046 - make sure extensionless headers and resource files ↵David Cole2008-09-051-17/+31
| | | | work with the Xcode generator. Also fix incorrect mappings in the lastKnownFileType code. Add some extensionless files to the Framework test.
* ENH: Create Info.plist files in OS X FrameworksBrad King2008-09-021-0/+12
| | | | | | | A Mac OS X Framework should provide a Resources/Info.plist file containing meta-data about the framework. This change generates a default Info.plist for frameworks and provides an interface for users to customize it.
* ENH: Simplify string attributes in Xcode generatorBrad King2008-09-021-15/+1
| | | | | | | This change cleans up the implementation of cmXCodeObject to avoid un-escaping and re-escaping string values. There is no need to store the string in escaped form. It can be escaped once when it is printed out to the generated project file.
* BUG: fix for bug 7316Bill Hoffman2008-07-141-4/+0
|
* ENH: Set version info for shared libs on OSX.Brad King2008-07-091-4/+32
| | | | | | - Map SOVERSION major.minor.patch to compatibility_version - Map VERSION major.minor.patch to current_version - See issue #4383.
* BUG: Do not build human-reference files in XcodeBrad King2008-07-071-1/+8
| | | | | | | | - The Info.plist file in app bundles should not be built. - User-specified files such as foo.txt should not be built. - Only files with a recognized language should be built, just as in the Makefiles generators. - See bug #7277.
* ENH: Add projectRoot to Xcode projectsBrad King2008-07-071-0/+7
| | | | | | - This attribute points Xcode at the source tree. - Xcode 3 wants this to be set always. - See bug #7044.
* BUG: Fix AppBundle=>Library depends in XcodeBrad King2008-07-071-2/+12
| | | | | | - The Xcode generator xcode-depend-helper needs to account for the paths of executables within application bundles. - See bug #7278.
* BUG: Fix Xcode reference to Info.plist resourceBrad King2008-07-031-10/+15
| | | | | | | | | | | - Generated Xcode projects for application bundles list the CMake-generated Info.plist input file as a resource. - The location of the input file was moved by a previous commit, but the reference to it as a resource file was not updated. - This change moves the file to CMakeFiles/<tgt>.dir/Info.plist to give it a more intuitive name in the Xcode project. - We also update the reference to point at the correct location. - See bug #7277.