summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'labels-for-subprojects'Brad King2017-07-131-0/+3
|\ | | | | | | | | | | | | | | | | | | | | 376dc3eb Help: Add notes for topic 'labels_for_subprojects' a70d8e93 Add tests for new directory labels and labels-for-subprojects features 47b3a57c Display subproject timing summary d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1004
| * Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variableBetsy McPhail2017-07-101-0/+3
| | | | | | | | | | The specified LABELS will be passed down to subdirectories as well as any targets or tests in the directory.
* | Merge topic 'source-group-regex-tweaks'Brad King2017-07-131-4/+2
|\ \ | | | | | | | | | | | | | | | | | | 2c82d9c8 Add more extensions to Resources source group by default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1028
| * | Add more extensions to Resources source group by defaultUfoXp2017-07-101-4/+2
| |/ | | | | | | | | | | | | | | | | Extend the Resources group regex to match pdf, png, jpeg, jpg, storyboards, and xcassets. This cleans up more complex Xcode projects a lot. While at it, factor the regular expressions for both "Resources" and "Source Files" into macros.
* | configure_file: Add support for indented cmakedefineSylvain Joubert2017-07-041-7/+11
|/ | | | | | | | Optional spaces and/or tabs are now understood between the '#' character and the 'cmakedefine'/'cmakedefine01' words. This indentation is preserved in the output lines. Fixes: #13037
* Merge topic 'fix-crash-on-non-enabled-language-features'Brad King2017-06-271-2/+19
|\ | | | | | | | | | | | | | | e03a1b3b target_compile_features: Do not crash on non-enabled language 86990427 Tests: Enable languages explicitly in RunCMake.target_compile_features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1010
| * target_compile_features: Do not crash on non-enabled languageBrad King2017-06-261-2/+19
| | | | | | | | Fixes: #17011
* | file(GENERATE): Add policy CMP0070 to define relative path behaviorBrad King2017-06-091-1/+2
|/ | | | | | | | | Previously `file(GENERATE)` did not define any behavior for relative paths given to the `OUTPUT` or `INPUT` arguments. Define behavior consistent with CMake conventions and add a policy to provide compatibility for projects that relied on the old accidental behavior. Fixes: #16786
* Merge topic 'lint-function-args'Brad King2017-06-051-1/+1
|\ | | | | | | | | | | | | b1ec5dea Pass large types by const&, small types by value Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !927
| * Pass large types by const&, small types by valueDaniel Pfeifer2017-06-031-1/+1
| |
* | Provide and use CM_FALLTHROUGHDaniel Pfeifer2017-06-031-1/+10
|/
* Access string npos without instancePavel Solodovnikov2017-06-011-3/+6
|
* Merge topic 'dead-code-removal'Brad King2017-05-111-1/+1
|\ | | | | | | | | | | | | | | | | fdd341eb cmFindCommon: remove unused function SetMakefile 67a8d907 cmExecutionStatus: Remove arguments from setters 0c519c70 bootstrap: Remove leftovers from cmBootstrapCommands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !821
| * cmExecutionStatus: Remove arguments from settersDaniel Pfeifer2017-05-091-1/+1
| | | | | | | | | | The setters are only used to set boolean values. The values are never reset individually.
* | cmMakefile: don't check IsScriptableDaniel Pfeifer2017-05-081-14/+1
| |
* | cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+1
|/
* clang-tidy: use operators for string comparisonDaniel Pfeifer2017-04-261-1/+1
|
* Add deprecation warnings for policies CMP0036 and belowBrad King2017-04-211-0/+7
| | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for some policies to encourage projects to port away from setting policies to OLD.
* 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/+16
| | | | | The generators should not need special logic to place object library object files in this group.
* Add self-sufficient wrapper for <sys/stat.h>Daniel Pfeifer2017-03-241-0/+1
|
* Merge topic 'master'Brad King2017-03-091-0/+17
|\ | | | | | | | | | | | | | | | | | | d9bdcf34 Tests: Add x32 tests to test suite 5b6d354f Help: Add notes for topic 'x32-abi' bed9c73d Modules: Add x32-abi support to hard-coded paths 462cf254 Add support for x32-abi Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !532
| * Add support for x32-abiSteven Newbury2017-03-071-0/+17
| | | | | | | | | | | | | | | | 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
* | cmWorkingDirectory: use the new classBen Boeckel2017-03-061-9/+2
|/ | | | | | These functions just need to change the directory for a block of code and then go back to the caller's expected location. Use cmWorkingDirectory to ensure that all return paths are handled.
* Merge topic '16615-xcode-object-libraries-depends'Brad King2017-02-241-2/+4
|\ | | | | | | | | | | | | | | | | 624021a0 Add test for object library dependencies 5da9266a Xcode: Always track object library dependencies via hacky Makefile e80ac953 Xcode: Record dependency information also for object libraries 9293e57d Xcode: Collect dummy rules during iteration and emit afterwards 33a1d727 Makefile: Allow adding post-build rules to object libraries
| * Makefile: Allow adding post-build rules to object librariesGregor Jasny2017-02-221-2/+4
| |
* | Merge topic 'fix-CMP0017-path-case'Brad King2017-02-201-1/+1
|\ \ | |/ |/| | | | | e2d78f75 Windows: Fix inconsistent behavior on changes to case of path to cmake
| * Windows: Fix inconsistent behavior on changes to case of path to cmakeBrad King2017-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.4.0-rc1~333^2 (Merge branch 'upstream-kwsys' into update-kwsys, 2015-07-15) we brought in upstream KWSys commit 86a24794 (SystemTools: Fix GetActualCaseForPath drive letter case handling, 2015-07-09). This caused our path processing to convert drive letters to upper-case and exposed an existing bug in our implementation of CMP0017. Policy CMP0017 is responsible for ensuring that modules included from a builtin module only load other builtin modules and cannot be overridden by a file in `CMAKE_MODULE_PATH`. If there is a case difference in the drive letter (or other path components) then the path to the including module may not match our builtin module directory in a simple string comparison. This means builtin modules may not be recognized as such, and they may not reliably include their builtin dependencies. For example, if a project provides a `Platform/Windows` module in `CMAKE_MODULE_PATH` it can break inclusion of our builtin `Platform/Windows` module, leading to strange behavior. Fix this by comparing the path to the including module to our builtin module directory using a function that is aware of case-insensitivity of paths on Windows. Fixes: #16648, #16622
* | cmCommand: Don't prefix error message with command nameDaniel Pfeifer2017-02-131-1/+2
| | | | | | | | | | Instead, prefix the error message at the two places where the errors are handled: cmMakefile and cmCTestHandlerCommand.
* | cmAlgorithms: add cmEraseIf functionDaniel Pfeifer2017-02-101-11/+2
|/
* add_custom_{command,target}: Add COMMAND_EXPAND_LISTS optionEd Branch2017-01-141-8/+14
| | | | | | This option allows lists generated by generator expressions to be expanded. Closes: #15935
* Fix typo in error message on missing required variableBrad King2016-12-161-1/+1
| | | | Reported-by: Albrecht Schlosser <AlbrechtS.fltk@online.de>
* clang-tidy: apply readability-redundant-string-init fixesDaniel Pfeifer2016-12-121-2/+2
|
* Merge topic 'try_compile-lang-std'Brad King2016-12-071-6/+10
|\ | | | | | | | | | | | | f72ba42b try_compile: Add policy CMP0067 to honor language standards 45aa03b9 try_compile: Add options to specify language standards 3bb2051e try_compile: Stop processing when test build system fails to generate
| * try_compile: Stop processing when test build system fails to generateBrad King2016-12-061-6/+10
| | | | | | | | | | | | Failing to generate the build system of the test project is a failure to compute the result of the test compilation, and so must be treated as any other CMake Error and stop processing.
* | Features: Add infrastructure for C++ 17 language standardBrad King2016-12-021-7/+26
|/ | | | Issue: #16468
* CUDA: C++ compile features now enable cuda c++11 support.Robert Maynard2016-11-141-0/+3
|
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-14/+14
|
* Remove cmCommand::Enabled and all related accessorsDaniel Pfeifer2016-10-241-1/+1
| | | | | Enabled is never set to false. Remove the member variable and all related getters and setters.
* cmState: Split auxiliary classes into separate filesStephen Kelly2016-10-191-0/+2
| | | | | | | 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 dependents to new cmStateTypes headerStephen Kelly2016-10-191-1/+1
|
* cmState: Port dependent code to new cmStateSnapshot nameStephen Kelly2016-10-191-6/+6
|
* cmState: Move CacheEntryType enum to separate namespaceStephen Kelly2016-10-191-7/+8
| | | | Port dependent code to the change.
* cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-22/+25
|
* Merge topic 'clean-up-link-configuration'Brad King2016-10-101-92/+55
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Simplify programmer error to an assertStephen Kelly2016-10-071-8/+3
| |
| * cmMakefile: Implement LinkLibraries as an internal propertyStephen Kelly2016-10-071-28/+47
| | | | | | | | | | | | | | | | | | 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-29/+0
| |
| * cmMakefile: Remove obsolete parameterStephen Kelly2016-10-071-4/+3
| |
| * cmTarget: Remove target name from parameter listStephen Kelly2016-10-071-3/+3
| | | | | | | | Use the member state instead.