summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: Fix CUDA_STANDARD selection via cxx_std_11 with CXX_STANDARDRobert Maynard2017-12-151-0/+26
| | | | | | | | | | | When C++ features require a certain C++/CUDA level, verify or update the standard level target property for each language independently. While at it, add missing rejection of invalid `CUDA_STANDARD` property values. Co-Author: Brad King <brad.king@kitware.com> Fixes: #17519
* cmMakefile: Refactor determining a targets C++ standard levelRobert Maynard2017-12-151-73/+36
| | | | | | | The original code doesn't scale well as we add support for each new language level. Co-Author: Brad King <brad.king@kitware.com>
* Merge topic 'server-target-isGeneratorProvided'Brad King2017-11-271-9/+10
|\ | | | | | | | | | | | | afd9a339 server: return whether or not a target is generator provided Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1475
| * server: return whether or not a target is generator providedJustin Goshi2017-11-201-9/+10
| | | | | | | | | | | | Some generators auto-generate targets. For example VS generators create the ALL_BUILD target. Add the ability to mark targets as generator provided and return that info through cmake-server codemodel.
* | Merge topic 'serverFixTestDiscovery'Brad King2017-11-271-7/+10
|\ \ | |/ |/| | | | | | | | | fe2c2b0f server: ctestInfo fix to return all tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1479
| * server: ctestInfo fix to return all testsJustin Goshi2017-11-171-7/+10
| | | | | | | | | | Prior to this change we were looking at targets. But tests are associated with directories. This change fixes how we gather all tests.
* | Merge topic 'perf-source-lookup'Brad King2017-11-201-3/+18
|\ \ | | | | | | | | | | | | | | | | | | 4a6348db Performance: Improve efficiency of source file lookup in cmMakefile Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1421
| * | Performance: Improve efficiency of source file lookup in cmMakefileAaron Orenstein2017-11-171-3/+18
| |/ | | | | | | | | | | | | | | | | This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance: Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with some corrections. The original was rolled back by commit v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to incompatibilities found. The rollback was followed-up by addition of a test for the offending case, and this revision passes the test.
* | cmSourceGroup: Return strings from GetName and GetFullNameBrad King2017-11-151-2/+3
|/
* Merge topic 'server-test-info'Brad King2017-11-071-0/+7
|\ | | | | | | | | | | | | 35a52bd1 server: add "ctestInfo" request to get test info Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1414
| * server: add "ctestInfo" request to get test infoJustin Goshi2017-11-031-0/+7
| |
* | Fix trivial typos in textluzpaz2017-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* | Add deprecation warnings for policies CMP0054 and belowBrad King2017-11-011-1/+1
| | | | | | | | | | | | 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.
* | 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.