summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
Commit message (Collapse)AuthorAgeFilesLines
* cmake-server: Add target install destinations to codemodelJustin Goshi2017-10-241-0/+4
| | | | | Protocol version is updated to 1.2 since this is a change to what was released in cmake version 3.10.
* Merge topic 'auto_ptr'Brad King2017-09-271-6/+7
|\ | | | | | | | | | | | | | | f0489856 Retire std::auto_ptr and its macro CM_AUTO_PTR Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !1300
| * Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-6/+7
| | | | | | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* | Revert "Performance: Improve efficiency of source file lookup in cmMakefile"Brad King2017-09-251-11/+0
|/ | | | | | This reverts commit 3b95ab569345028a1a8fe521d5ecd81fa97f2653. It regressed some legacy source file property behavior. Revert pending further investigation.
* Performance: Improve efficiency of source file lookup in cmMakefileAaron Orenstein2017-09-201-0/+11
| | | | Add an unordered map to cmMakefile to speed up GetSource() lookups.
* cmMakefile: Drop unused methodAaron Orenstein2017-09-201-1/+0
|
* cmMakefile: Add GetOrCreateSourceGroup methodsSebastian Holtermann2017-09-091-0/+12
|
* cmMakefile: Collect source group methods in one placeSebastian Holtermann2017-09-091-23/+18
|
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-16/+18
|
* Merge topic 'autogen-optimize-cleanup'Brad King2017-08-231-5/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8e452e67 Remove AUTOGEN variables from cmSourceFile and cmMakefile 0f2e178f Autogen: Don't use cmMakefile::GetQtUiFilesWithOptions 13bb716f Autogen: Fix and extend SKIP_AUTOMOC test 727247c3 Autogen: Read skip files from makefile 1eb1b409 Autogen: Remove VS specific code exclusion 54ec2a8b Autogen: Initializer file type scanning optimizations cf7b3b96 Autogen: Initializer optimizations and cleanups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1171
| * Remove AUTOGEN variables from cmSourceFile and cmMakefileSebastian Holtermann2017-08-221-5/+0
| |
* | Use C++11 unordered containersDaniel Pfeifer2017-08-221-3/+3
|/
* Pass large types by const&, small types by valueDaniel Pfeifer2017-06-031-1/+1
|
* find_*: Add a new PackageRoot search path groupChuck Atkins2017-05-161-0/+5
| | | | | | The new PackageRoot search path group allows the PackageName_ROOT cmake and environment variables to be used as search prefixes for all find_* commands called from within a find module
* Use CM_DISABLE_COPYDaniel Pfeifer2017-04-241-5/+3
|
* cmMakefile::ScopePushPop: make noncopyableDaniel Pfeifer2017-04-211-0/+2
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
| | | | | | | | | | | | | 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'
* cmMakefile: Create an explicit "Object Libraries" source groupBrad King2017-04-111-0/+4
| | | | | The generators should not need special logic to place object library object files in this group.
* Add support for x32-abiSteven Newbury2017-03-071-0/+2
| | | | | | | | Detect x32-abi through CMakeCompilerABI infrastruture and use this information at runtime to determine the correct library paths with `FIND_LIBRARY_USE_LIBX32_PATHS`. Fixes: #15994
* Makefile: Allow adding post-build rules to object librariesGregor Jasny2017-02-221-1/+9
|
* add_custom_{command,target}: Add COMMAND_EXPAND_LISTS optionEd Branch2017-01-141-5/+10
| | | | | | This option allows lists generated by generator expressions to be expanded. Closes: #15935
* Features: Add infrastructure for C++ 17 language standardBrad King2016-12-021-1/+2
| | | | Issue: #16468
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-10/+10
|
* Introduce CM_UNORDERED_MAPDaniel Pfeifer2016-10-241-27/+4
| | | | | Avoid duplicating switch among std::unordered_map, cmsys::hash_map, and std::map.
* cmState: Split auxiliary classes into separate filesStephen Kelly2016-10-191-1/+1
| | | | | | | Port dependents to the new locations as needed. Leave behind a cmState.h include in cmListFileCache to reduce noise. It is removed in a following commit.
* cmState: Port dependent code to new cmStateSnapshot nameStephen Kelly2016-10-191-3/+3
|
* cmState: Move CacheEntryType enum to separate namespaceStephen Kelly2016-10-191-1/+1
| | | | Port dependent code to the change.
* cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-3/+5
|
* Merge topic 'clean-up-link-configuration'Brad King2016-10-101-15/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1cfc4fe cmMakefile: Simplify programmer error to an assert 4079ba20 cmMakefile: Implement LinkLibraries as an internal property 17ab8e33 cmMakefile: Inline method into only remaining caller 7edfcd0e cmMakefile: Inline method into caller 6c8dc7f1 cmake: Simplify find-package mode library addition 1efca9f4 cmMakefile: Remove obsolete parameter d9b5f0a3 cmTarget: Remove target name from parameter list 1c70c6cc cmMakefile: Use public API to find a target 2b7baed7 cmMakefile: Inline method into only caller 7ba95492 cmMakefile: Use public API to find a target 6d98b15f cmMakefile: Invert if() condition to remove else 869037ee cmMakefile: Remove ALIAS check 2f6462a6 cmMakefile: Collapse two consecutive if()s into one 148b83a1 cmMakefile: DeMorgan-invert condition 4457a9f1 cmMakefile: Return after error and remove else condition 4d039c5b cmMakefile: Invert handling of error condition ...
| * cmMakefile: Implement LinkLibraries as an internal propertyStephen Kelly2016-10-071-7/+0
| | | | | | | | | | | | | | | | | | cmMakefile should not have logic particular to individual cmake commands. The link_libraries() command is generally obsolete in favor of target_link_libraries(). An alternative language for CMake probably would not offer the former. The quirks and historical behaviors of the current language should be separate from the core classes of CMake to allow replacing the language.
| * cmMakefile: Inline method into only remaining callerStephen Kelly2016-10-071-2/+0
| |
| * cmMakefile: Remove obsolete parameterStephen Kelly2016-10-071-1/+1
| |
| * cmMakefile: Inline method into only callerStephen Kelly2016-10-071-1/+0
| | | | | | | | | | cmMakefile should not have API which is only useful for deprecated systems like cmPluginAPI.
| * cmMakefile: Remove superfluous overloadStephen Kelly2016-10-071-1/+0
| | | | | | | | Explicit is better than implicit.
| * cmMakefile: Remove useless link directory containerStephen Kelly2016-10-071-3/+0
| | | | | | | | It is never populated - a find will never find anything.
* | cmMakefile: Return a string from GetDefineFlagsStephen Kelly2016-10-101-1/+1
|/ | | | Flip condition in GHS for readability.
* 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.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-0/+4
|
* add_custom_command: Add DEPFILE option for NinjaKulla Christoph2016-08-301-10/+8
| | | | | | | | Provide a way for custom commands to inform the ninja build tool about their implicit dependencies. For now simply make use of the option an error on other generators. Closes: #15479
* Parser: Port away from cmMakefileStephen Kelly2016-08-251-0/+1
| | | | It is an unneeded dependency.
* fix a batch of include-what-you-use violationsDaniel Pfeifer2016-08-231-12/+18
|
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-7/+6
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* use CM_NULLPTRDaniel Pfeifer2016-06-281-18/+17
|
* Make C++ feature checks extensibleDaniel Pfeifer2016-06-271-3/+3
| | | | | | Turn the feature check for cxx11_unordered_map into a function such that we can use it for other features as well. Drop the 11 suffix, as we may want to check features from other standards.
* Merge topic 'fix-cmake-ISP-violation'Brad King2016-06-131-2/+1
|\ | | | | | | | | | | 23f87e81 cmake: Remove force from IssueMessage API 54c65d5f cmake: Extract DisplayMessage API.
| * cmake: Remove force from IssueMessage APIStephen Kelly2016-06-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The force parameter is ugly and makes the method harder to reason about (issues the message ... but maybe it doesn't ... but then again you can force it). It is a violation of https://en.wikipedia.org/wiki/Interface_segregation_principle and is the kind of thing described in a recent blog here: http://code.joejag.com/2016/anti-if-the-missing-patterns.html "Any time you see this you actually have two methods bundled into one. That boolean represents an opportunity to name a concept in your code."
* | Merge topic 'avoid-cmMakefile-IssueMessage-after-configure'Brad King2016-06-131-3/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | ea5324cd cmMakefile: Port messages for compile features to cmake df8c3130 cmGlobalGenerator: Don't use cmMakefile::IssueMessage after configure 946d1e50 cmMakefile: Avoid IssueMessage after configure is finished 096c7754 cmLocalGenerator: Store Backtrace for the directory
| * | cmMakefile: Port messages for compile features to cmakeStephen Kelly2016-06-121-3/+4
| |/
* | Merge topic 'find-lib32'Brad King2016-06-131-0/+3
|\ \ | | | | | | | | | | | | 896ad251 Teach find_library and find_package to search lib32 paths (#11260)