summaryrefslogtreecommitdiff
path: root/Source/cmXCodeObject.h
Commit message (Collapse)AuthorAgeFilesLines
* Source: Fix IWYU warnings in Xcode generatorsNAKAMURA Takumi2021-11-161-0/+1
|
* Merge topic 'xcode-object-ids'Brad King2021-01-081-1/+1
|\ | | | | | | | | | | | | | | | | b8b6573db8 Xcode: Use deterministic object ids for script build phases 2892228dc9 cmGlobalXCodeGenerator: Add infrastructure for deterministic object ids d250b67722 cmGlobalXCodeGenerator: Adopt pbxproj object id generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5671
| * cmGlobalXCodeGenerator: Adopt pbxproj object id generationBrad King2021-01-061-1/+1
| |
* | Xcode: add support for embedding frameworksGusts Kaksis2020-11-281-0/+7
|/ | | | | | This commit also prepares for embedding things other than frameworks. In the future, we may want to embed resources and other types supported by Xcode, so the target properties have been documented in a way that clearly signals the future intent.
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-031-3/+1
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* Xcode: Refactor build setting append code and attribute getter namingGusts Kaksis2020-08-281-1/+5
| | | | Support both STRING and OBJECT_LIST types in build setting attributes and make it possible to mix them
* Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-171-3/+6
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-2/+1
| | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* cmAlgorithms: Add cmContainsRegina Pfeifer2019-08-191-7/+4
| | | | Also, use the new function where applicable.
* Xcode: use ranged for loops, cleanup existing for loopsCraig Scott2017-11-101-1/+1
| | | | | | | | | | 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`.
* Convert some leftover loops to C++11 range-based loopMatthias Maennich2017-09-281-3/+1
| | | | | | Fix issues diagnosed by clang-tidy [modern-loop-convert] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix some occurrences of readability-avoid-const-params-in-declsMatthias Maennich2017-09-281-2/+2
| | | | | | Fix issues diagnosed by clang-tidy [readability-avoid-const-params-in-decls] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Fix some occurrences using string by value rather than by const&Matthias Maennich2017-09-281-1/+1
| | | | | | | | Fix issues diagnosed by clang-tidy - performance-unnecessary-value-param - performance-unnecessary-copy-initialization Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use C++11 nullptr (cont.)Matthias Maennich2017-09-191-2/+2
| | | | | | | 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 quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* iwyu: Fix OSX specific issuesDaniel Pfeifer2016-11-231-2/+7
|
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* make sure to include cmConfigure.h before cmStandardIncludes.hDaniel Pfeifer2016-09-031-0/+2
|
* Xcode: Add function to conditionally add Xcode AttributesGregor Jasny2016-06-171-0/+9
|
* Xcode: Add const qualifiersJames Touton2016-06-171-16/+21
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-95/+89
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * 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.
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* Xcode: Refactor block writes to allow any level of nestingRobert Goulet2016-02-241-0/+4
| | | | Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
* Xcode: Fix typo in commentStephen Kelly2015-10-261-1/+1
|
* Xcode: Remove trailing semicolonStephen Kelly2015-10-261-1/+1
|
* Xcode: Port API to cmGeneratorTarget.Stephen Kelly2015-10-241-4/+4
|
* stringapi: Miscellaneous char* parametersBen Boeckel2014-03-081-9/+9
|
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-10/+2
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-10/+10
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* stringapi: Use strings in target nameBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings for the languagesBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings for AddString methodsBen Boeckel2014-03-081-1/+1
| | | | It gets turned into a string anyways, so pass them in.
* Xcode: Each target dependency edge needs a unique object (#13935)Brad King2013-02-191-9/+0
| | | | | | | | | | | | | Generate a unique PBXTargetDependency and PBXContainerItemProxy for every edge in the dependency graph as required by the Xcode format. Xcode only accidentally loads project files that re-use the same PBXTargetDependency for every edge leading to a single target. If one is removed by hand in the IDE then Xcode may crash due to dangling references from the others. Since cmGlobalXCodeGenerator::AddDependTarget is called exactly once for every edge in the target dependency graph we do not need to keep track of which edges have been visited to avoid generating duplicates.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-14/+14
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Xcode: Save object id values in CMakeCache.txt (#11690)David Cole2011-08-241-0/+4
| | | | | | | | | 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: Fix parallel build depends with universal binaries (#11844)Brad King2011-06-061-0/+14
| | | | | | | | 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.
* XCode: Also qoute [] as needed to set build-configurations.Johan Björk2011-04-071-0/+1
|
* 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.
* ENH: Simplify string attributes in Xcode generatorBrad King2008-09-021-0/+2
| | | | | | | 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.
* STYLE: fix some kwstyle errorsBill Hoffman2007-07-271-0/+16
|
* STYLE: fix line lengthKen Martin2006-05-121-11/+14
|
* ENH: Add copy stages for bundle filesAndy Cedilnik2006-03-291-0/+1
|
* BUG: some UNIX fixes for my m_ commitKen Martin2006-03-151-11/+11
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-38/+38
|
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | fix many bugs related to target names being computed inconsistently. - Centralized computation of a target's file name to a method in cmTarget. Now that global knowledge is always available the *_CMAKE_PATH cache variables are no longer needed. - Centralized computation of link library command lines and link directory search order. - Moved computation of link directories needed to link CMake targets to be after evaluation of linking dependencies. This also removed alot of duplicate code in which each version had its own bugs. This commit is surrounded by the tags CMake-TargetNameCentralization1-pre and CMake-TargetNameCentralization1-post so make the large set of changes easy to identify.
* ENH: fixes for xcode21 and build styles and comments in the generated projectBill Hoffman2005-11-161-6/+6
|
* ENH: fix warningsBill Hoffman2005-09-051-1/+1
|
* ENH: add real support for Xcode21Bill Hoffman2005-09-021-2/+8
|
* ENH: more tests are passing, relative paths, and external objects are the ↵Bill Hoffman2005-02-171-0/+20
| | | | ones left now
* ENH: add link library stuffBill Hoffman2005-02-081-0/+4
|