summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* | CMP0037: De-duplicate check and message generationBrad King2017-10-301-0/+36
| |
* | Merge topic 'cm-array-begins-size'Brad King2017-10-261-65/+59
|\ \ | |/ |/| | | | | | | | | 57132765 Replace cmArray{Begin,End,Size} by their standard counterparts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1352
| * Replace cmArray{Begin,End,Size} by their standard counterpartsMatthias Maennich2017-10-231-65/+59
| | | | | | | | | | | | | | | | | | | | | | std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14 and an standard compliant implementation has been introduced within the 'cm' namespace: cm::{cbegin,cend}. std::size is only part of C++17, hence exposing a compliant implementation within namespace cm (cm::size). where possible, the standard implementations are reused.
* | Add infrastructure for generators to select a build tool instanceBrad King2017-10-191-0/+1
|/ | | | | | | | | | | | | | Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location persistently across re-runs of CMake in a given build tree. For now we reject the option by default if explicitly set. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add a RunCMake.GeneratorInstance test to cover basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE` is empty by default, and that it is rejected when the generator does not support a user setting. Issue: #17268
* try_compile: Simplify generator platform and toolset propagationBrad King2017-09-271-2/+2
| | | | | | | | We don't need to save the `CMAKE_GENERATOR_{PLATFORM,TOOLSET}` values from the cache back into the `cmake` instance. They were used only to propagate the settings into `cmake` instances for `try_compile`, but we already have their values in the `cmMakefile`'s variables anyway. In fact those variables are the ones we actually give to the generators.
* Merge topic 'auto_ptr'Brad King2017-09-271-10/+11
|\ | | | | | | | | | | | | | | 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-10/+11
| | | | | | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* | Revert "Performance: Improve efficiency of source file lookup in cmMakefile"Brad King2017-09-251-47/+3
|/ | | | | | 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-3/+47
| | | | Add an unordered map to cmMakefile to speed up GetSource() lookups.
* Meta: replace empty-string assignments with `clear()`.Pavel Solodovnikov2017-09-151-4/+4
|
* Merge topic 'ranged-for'Brad King2017-09-131-114/+77
|\ | | | | | | | | | | | | 7d509579 Meta: modernize old-fashioned loops to range-based `for`. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1249
| * Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-114/+77
| | | | | | | | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* | cmMakefile: Add GetOrCreateSourceGroup methodsSebastian Holtermann2017-09-091-0/+21
| |
* | cmMakefile: Collect source group methods in one placeSebastian Holtermann2017-09-091-34/+31
|/
* Use C++11 nullptrDaniel Pfeifer2017-08-241-29/+28
|
* Remove AUTOGEN variables from cmSourceFile and cmMakefileSebastian Holtermann2017-08-221-10/+0
|
* Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 featuresBrad King2017-08-081-0/+12
| | | | | | When `CXX_STANDARD` is not at least 14 or 17, features enabled by the compiler for those standards should not be reported as existing by the `COMPILE_FEATURES` genex. Fix the implementation and add a test.
* 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
|